USB Device Descriptor
2007.07.09 19:42
호스트는 연결된 USB 장치의 정보를 알아야 한다.
그 정보는 USB 장치에 일정한 형식으로 존재해야 하며, 요청시 정보를 제공한다.
만약 호스트에서 유효한 정보를 수신하지 못하며,
"알수 없는 장치"로 인식될 것이다.
이 장치에 대한 정보를 "Descriptor"라 한다.
Descriptor 는 여러 종류가 있다.
1. Device Descriptor
장치(대부분 하드웨어)에 대한 내용이 들어 있다.
자세한 것은 USB2.0 Spec 을 참조하고........................
간단한 예제를 살펴보면, 아래와 같다.
const char devDescriptor[] = {
/ Device descriptor */
0x12, // bLength , 전체 18bytes의 정보를 가지고 있다.
0x01, // bDescriptorType , device descriptor 이다.
0x10, // bcdUSBL
0x01, //
0x02, // bDeviceClass: CDC class code , 장치의 종류
0x00, // bDeviceSubclass: CDC class sub code , (하위의)장치의 종류
0x00, // bDeviceProtocol: CDC Device protocol , 프로토콜 종류
0x08, // bMaxPacketSize0 최대 패킷 사이즈(8,16,32)
0x54, // idVendorL , Vendor ID
0x57, //
0x10, // idProductL , Product ID
0x00, //
0x10, // bcdDeviceL , Device Release Number
0x01, //
0x00, // iManufacturer // 0x01 , Index of Manufacturer String Descriptor
0x00, // iProduct , Index of Product String Descriptor
0x00, // SerialNumber , Index of Serial Number String Descriptor
0x01 // bNumConfigs , Number of Possible Configurations
};
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
21 | DNS 서버 주소 | 2009.06.27 | 7385 |
20 | KEYBOARD 자동으로 눌러진 것처럼 구현 | 2009.02.04 | 6665 |
19 | 리눅스 삭제 후 윈도우 설치 | 2008.10.31 | 12872 |
18 | screen 기본 사용법 | 2008.09.19 | 6050 |
17 | 리눅스 파일 검색: find 사용 | 2008.07.21 | 17980 |
16 |
FTP 에서 권한문제 있는 파일삭제
![]() | 2008.06.13 | 9357 |
15 |
Hysteresis [히스테리시스, 이력현상:履歷現象]
![]() | 2008.03.27 | 29814 |
14 | vi 문서 편집 | 2007.10.26 | 6534 |
13 | 리눅스 명령어 정리 | 2007.09.18 | 10427 |
12 |
RISC-파이프라인
![]() | 2007.09.04 | 7734 |
11 | CISC, RISC | 2007.09.04 | 6938 |
10 | 리눅스에서 압축하기/압축풀기 | 2007.08.21 | 13077 |
» | Device Descriptor [2] | 2007.07.09 | 6779 |
- 업체마다 비슷한 모델이면 똑같을 거고
전혀 다른 모델이라면 다른 descriptor 를 사용할 겁니다.