USB 드라이버 인식과정(Host To Device)

세부적으로는 많은 내용이 있지만 간략하게 정리하면 다음과 같습니다.
 
  1. 사용자가 디바이스를 USB 포트에 연결
  2. USB hub 가 디바이스를 감지
  3. 호스트 PC 가 디바이스 정보를 얻는다.
  4. USB hub 는 디바이스가 Full Speed 인지 Low Speed 인지 파악
  5. USB hub 가 디바이스를 Reset
  6. 호스트 PC 는 디바이스가 High Speed 인지 파악
  7. USB hub 는 디바이스와 Bus 사이의 신호 패스를 설정
  8. 호스트 PC 는 control pipe 의 최대 패킷 크기를 알기 위해 디바이스에 GET_DESCRIPTOR 명령을 보낸다.
  9. 호스트 PC 는 주소를 할당한다.
  10. 호스트 PC 는 디바이스의 기능에 대한 정보를 얻어온다, 즉, GET_DESCRIPTOR 명령을 통해
     Device descriptor , Configuration Descriptor, Interface Descriptor 정보를 얻어온다.

  11. 호스트 PC 에서는 10 에서 얻어온 디바이스 정보를 통해 디바이스 드라이버를 로딩한다.
  12. 디바이스 드라이버는 SET_CONFIGURATION 명령을 통해 디바이스를 설정한다.

------------------------------------------------------------------------------

복잡한 과정을 거치는군...

by 루오니 | 2006/08/13 03:03 | 개발자 잡담 | 트랙백 | 덧글(2)

트랙백 주소 : http://katalog.egloos.com/tb/2626205
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 최경순 at 2007/04/14 23:39
고수님께 부탁드립니다.
제 노트북이 다른 USB기기들은 모두 인식하는데 오로지 한가지 외장하드만 인식이 안됩니다. 이 한가지 외장하드는 다른 컴에서는 모두 인식합니다. 이 한가지 외장하드는 그 동안 인식이 잘되어 오다가 어느순간부터 인식이 안됩니다. 그동안 별별노력을 다했는데 헛수고입니다. 제 매일로 연락주시면 자세한 설명과 함께 "에러메세지 창"을 첨부해 드리겠습니다. 제매일은 polichoi@empal.com 입니다. 꼬~옥 부탁드립니다.
Commented by 루오니 at 2007/05/24 21:02
USB 외장하드 같은 경우는 전원을 많이 사용해 인식하지 못하는 때가 있을수도 있습니다... 1포트 커넥터를 사용하신다면 2포트 커넥터로 바꿔 사용해보시는 편이 좋을거 같네요..

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶