반응형

안녕하세요~

최근, ATmega128 칩을 테스트할 일이 있어 AVRISP-mk2 툴을 알리에서 구해서 연결하던 중, AVRStudio 7.0에서 인식이 안 되는 문제가 생겨, zadig 툴을 사용하여, 펌웨어 업뎃을 진행했습니다. 

zadig-2.8.exe
5.01MB

참고로, Zadig 툴은 USB형태로 연결된 기기장치들의 펌웨어를 강제로 원하는 형태로(위 이미지에 있는 4가지 종류) 덮어  씌울 수 있는 툴로서 사용시 주의를 요합니다.  Zadig 툴의 옵션 메뉴에 있는 "List All Device"를 클릭하면, PC에 연결된 모든 USB장치가 목록으로 뜨게 되는데요,  AVRISP 장치의 펌웨어를 4종 모두 바꾸어가며 테스트하던 중(기기를 꽂고 빼고 하면서) 목록 최상단에 있던  키보드(Keychron K1)를 펌웨어 업뎃 시키고야 말았습니다. (살짝 뜨는 경고 메시지를 무시해 버림)


 그 덕에(?)  갑자기 키보드가 먹통이 되었는데요,   이를 해결하고자, Zadig 목록에 있던 4종의 펌웨어로는 모두 인식이 안 되고,  키보드 제조사 게시판에서 제공하는 펌웨어 업뎃 프로그램으로 복구를 시도해 봤지만,  펌웨어 업뎃으로 인해 키보드가 HID장치가 아닌 다른 장치로만 인식이 되는 상황이어서 제조사에서 제공되는 펌웨어 업뎃 툴로는 복구가 안 되는 상황이 발생하게 되었습니다.   

윈도 장치관리자에 있는 Keyboard 목록을 삭제하고 드라이버를 다시 설치해보려 했지만 제대로 인식이 되지 않았으며, 여러 가지 시도 끝에  겨우 해결을 했는데요,  모든 상황이 동일하진 않겠지만,  저와 같은 상황에 빠진다면, 참고해 보시라고 기록을 남겨 놓습니다.  

 우선 Zadig로  WinUSB (v6.1.7600...) 버전으로 펌웨어 업뎃을 해놓고서,  키보드를 다른 PC에 물리니 키보드의 기본 기능은 사용할 수 있는 것으로 확인되자,  인식이 안 된 PC에서 레지스트리 편집을 통해,  Keyboard 관련 Driver버를 모두 삭제하는 것이 필요하다고 생각되어 삭제를 하게 되었습니다. 
윈도 실행 메뉴 》 Regedit  엔터,    레지스트리 편집기로 들어가서,  아래 목록처럼 키보드 목록으로 들어가세요,  

아래에 보면, 그동안 인식된 키보드 관련 레지스트리 값들이 보이는데요, 인식이 안 된 키보드 항목이 어떤 것인지 모르기 때문에, (기본값) 항목을 제외하고 모두 삭제시켜주세요.  (레지스트리 작업 시 주의하세요!)

HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KeyboardClass

그리고, 재부팅한 후,  재일 중요한 부분! 입니다.

먹통이 된 키보드를 다시 연결하고, 제어판 장치관리자로 들어갑니다. 

그리고 문제가 된 키보드 장치(키보드 모델명) 혹은 USB장치로 인식된 키보드 항목을 찾아서 선택 후에 마우스 우클릭하고 장치속성 창을 여세요,  그리고 드라이버 탭의 드라이버 업데이트(P)를 클릭해서 아래와 같은 화면이 나오면,  → 내 컴퓨터에서 드라이버 찾아보기(R) 항목을 클릭하세요. 

그리고 이어지는 화면에서 아래처럼,  → 컴퓨터의 사용 가능한 드라이버 목록에서 직접 선택(L)을 클릭합니다. (문제 해결 전에는 여러 목록이 떴고,  다른 항목이 기본 선택되어 있는 상황이었습니다.)



 그러면, 
드라이버 업데이트 관련된 호환 가능한 하드웨어 장치 목록 몇 가지가 쭉... 뜰 텐데요,  그중에서 아래처럼, USB 입력 장치를 선택하고 다음을 클릭합니다. 

 

그리고 닫기를 누르면,   좀 전까지도 작동이 안 되었던 키보드가 작동하는 것을 볼 수 있을 겁니다.  (필요한 경우 재부팅)

 

그럼,  Zadig 같은 펌웨어 업뎃 툴을 사용하실 때 주의해서 사용하세요~  ^^;;

 

 

반응형