0
votes

I can get Device Descriptor :

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,

How to get the type of USB(phone,USB flash disk,Wireless network card,ect.) through the USB device descriptor? (Forgive my clumsy English.My mother tongue is not English.)

This is the parameter of my iphone and my usb drive. What parameters should I use to distinguish different devices? BDeviceClass doesn't seem to work?

enter image description here

2

2 Answers

0
votes

Lookup bDeviceClass against https://usb-ids.gowdy.us/read/UC/ - device classes. There 0xEF is Miscellaneous Device.

And idVendor and idProduct against https://usb-ids.gowdy.us/read/UD/ - specific devices. There 0x045E is Microsoft and 0x0728 is LifeCam VX-5000 - https://usb-ids.gowdy.us/read/UD/045e/0728

0
votes

Value of BDeviceClass is 00 represents the device is finally defined on the interface.We need to find the corresponding configuration descriptor and then get the corresponding interface descriptor through the configuration descriptor.Then we can get 'bInterfaceClass',which represents device .enter image description here