multifunction interface card TROUBLE shooting log : PCI-EK01.

|
한국의 www.daqsystem.com 에서 나온 저렴하고 훌륭한 실험용 인터페이스 카드인 PCI-EK01(B) 모델 사용 상 발생한  트러블 슈팅 로그.

1. 첫 트러블.

(클릭하면 크게 보입니다)

첫 트러블은 컴퓨터 멀쩡히 잘 사용하다가, 어느날 PCI-EK01로 프로그램 짤 일이 있어서 돌리다가 발생한 오류이다. 컴퓨터 업글한지 얼마 지나지 않아, 새로운 컴퓨터에서는 처음 실행시켜 보는 날이었다.

사진을 클릭하여 보면 대화창의 상단에 PCItest, 내용은 error to open driver 라고 뜬다. 드라이버를 설치하지 않았을때 나오는 메시지와 똑같다. 여기서 확인을 클릭하면 PCItest가 실행되는데, 정상적으로 동작하지 않는다.

이 이유에 대해서는 원인을 알 수 없다. 조금 다른 사양의, PCI-EK01이 모두 설치된 두 대의 컴퓨터에서 같은 메시지를 뜨는데, 정확이 무엇때문인지는 알 수 없다. 물론 장치관리자에서 드라이버는 잘 설치된 상태이다.

만약 여기서 드라이버를 지우고 다시 설치하면, 경로를 한 번 더 묻는 특이한 현상이 나타난다.

(참고 : 컴퓨터의 대략적인 사양은, 첫번째 컴퓨터 : 인텔 Q6600 CPU, intel p35 보드, 두 번째 컴퓨터 ; 인텔 Q9550 CPU, intel X48보드 이며, 모두 XP SP3, VS6.0과 VS2008 이 설치된 컴퓨터이며, VS의 서비스 팩은 깔려있지 않았으며, 드라이버 설치와 윈도우 업뎃은 잘 되어 있었다)

이에 대한 원인은 아직 불명확하다.

위의 두 번째 컴퓨터에서는 보드에 SMBUS enable/disable 점퍼가 있어서, default가 disable였는데, enable로 해 주고, 바이오스 설정에서도 bus mastering을 enable로 해 주고, OS와 응용 프로그램들을 재설치하니 문제는 사라졌다.

아마도 add-on카드가 많이 설치되어 있어서 충돌이 난 것이 아닐까 추측하는데, ad-on카드가 없는 첫번째 카드에서도 같은 문제가 발생하여 정확한 이유를 알 수가 없었다.

몇가지 추측해 볼 수 있는 것은, 바이러스?(avast백신 사용중), 보드 내장 장치간의 IRQ충돌, SMBUS mastering의 문제, 또는 드라이버 커널의 문제??.... 등등이지만, 가장 강력한 오류 원인으로 생각되는 것은 OS나 개발 환경을 만들어 낸 M$의 잘못이 있는 것으로 추측된다.

2. 새로운 트러블과 그 해결.

어쨌거나, 위와 같은 상황이 되어 해결할려고 하루 정도 생각해 보고, 더 생각하다가는 완전히 OS를 엎고 새로 설치하는 것이 빠르겠다 싶어서 '두 번째' 컴퓨터의 OS를 새로 설치해 보았다.

설치 순서는 다음과 같다.

모든 add-on카드는 장착 상태로 윈도우를 설치하였다.

1. XP SP3 설치.

2. 보드 칩셋 드라이버, 랜 드라이버, 사운드 드라이버, PCI-EK01 드라이버 설치, 기타 add-on카드 드라이버를 설치. 이후 장치관리자에서 모든 장치가 잘 잡혀 있는지 확인.

3. 윈도우 업뎃 수행. 업뎃 할 것이 없을때 까지 수행(닷넷 프레임워크 등)

4. VS6.0 enterprise edition을 설치. 이후 VS6.0 service pack5를 설치(버전, 언어선택주의)
(service pack : http://www.microsoft.com/downloads/details.aspx?FamilyID=E9411283-C8AD-4283-8D74-3D6EFD917644&displaylang=ko )

5. windows server 2003 sp1 platform SDK를 설치한후, 아래처럼 include와 library의 경로 설정을 해 주며, 최상단에 위치시킨다(버전, 언어선택주의)
(SDK : http://www.microsoft.com/downloads/details.aspx?familyid=D8EECD75-1FC4-49E5-BC66-9DA2B03D9B92&displaylang=en )

(클릭하면 크게 보입니다)


6. PCI-EK01구입시 같이 온 CD로 ntgraph.ocx파일 설치(read me 폴더)

이후 실행해 보았으나, 다음과 같은 에러가 났다.

(클릭하면 크게 보입니다)

이 에러의 문제 역시 잘 알 수 없으나, 어쨌든 해결이 된다.

여기서 특이한 점은 컴파일이 되나, 비주얼 스튜디오 내에서 실행이 안된다. 물론 컴파일 되었으므로, 디버그 폴더나 릴리즈 폴더에 있는 실행 파일들은 모두 실행이 되며, 정상적으로 동작한다(컴파일 하기 전 디버그 폴더와 릴리즈 폴더를 삭제한 후에 컴파일을 하였다)

역시 망할 M$.....

계속하여,

7. VS2008 pro 영문판을 설치한다.

8. VS2008 sp1을 설치한다. 시간이 꽤 걸린다(언어 선택에 주의, 영문판이므로 언어선택을 english로 바꿈)
(service pack1 : http://www.microsoft.com/downloads/details.aspx?familyid=27673C47-B3B5-4C67-BD99-84E525B5CE61&displaylang=en )

9. 이후 실행하면, VS6.0에서 PCItest의 워크스페이스를 열면, ocx파일이 없다는 에러가 뜬다. 다시ntgraph.ocx 를 설치한다.

이제, VS6.0에서나 VS2008에서나 아래와 같이 정상적으로 컴파일이 되고, 실행이 되며, 아무 문제 없다.

약간의 warning이 뜨는데, 형변환으로 인한 문제인 듯 하다.

(클릭하면 크게 보입니다)


이러한 단순 노동으로 허비한 시간들이 무척 아쉽다. 그러나 이러한 일을 미루다 보면, 더 일은 커지게 마련이고, 결국 해야한다.

이런일은 빨리 해치우는 것이 가장 빠른 방법이다.

And