Как определить тип USB (телефон, USB-флеш-накопитель и т. Д.) Через дескриптор USB-устройства? - PullRequest
0 голосов
/ 02 мая 2018

Я могу получить дескриптор устройства:

bcdUSB:             0x0200
bDeviceClass:         0xEF
bDeviceSubClass:      0x02
bDeviceProtocol:      0x01
bMaxPacketSize0:      0x40 (64)
idVendor:           0x045E (Microsoft Corporation)
idProduct:          0x0728
bcdDevice:          0x0100
iManufacturer:        0x01
0x0409: "Microsoft"
iProduct:             0x02
0x0409: "Microsoft LifeCam VX-5000"
0x0409: "Microsoft LifeCam VX-5000"
iSerialNumber:        0x00
bNumConfigurations:   0x01,

Как определить тип USB (телефон, флэш-диск USB, беспроводная сетевая карта и т. Д.) Через дескриптор устройства USB? (Простите мой неуклюжий английский. Мой родной язык не английский.)

Это параметр моего iphone и моего USB-накопителя. Какие параметры я должен использовать, чтобы различать разные устройства? BDeviceClass не работает?

enter image description here

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Значение BDeviceClass равно 00, что означает, что устройство окончательно определено в интерфейсе. Нам нужно найти соответствующий дескриптор конфигурации и затем получить соответствующий дескриптор интерфейса через дескриптор конфигурации. Затем мы можем получить «bInterfaceClass», который представляет устройство. введите описание изображения здесь

0 голосов
/ 02 мая 2018

Lookup bDeviceClass против https://usb -ids.gowdy.us / read / UC / - классы устройств. Там 0xEF Разное устройство .

И idVendor и idProduct против https://usb -ids.gowdy.us / read / UD / - для конкретных устройств. Там 0x045E - это Microsoft, а 0x0728 - это LifeCam VX-5000 - https://usb -ids.gowdy.us / read / UD / 045e / 0728

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...