Composite USBdevices  组合设备

Compound USBdevices  复合设备

Composite USB devicesexpose multiple functions to a host by using multiple interfaces.
A compound device is an external hub that is combined withother devices.Compound devices appear to the host as a hub with one or more non-removabledevices that are connected to the hub’s ports.
对于compound device,它内置的hub和其它设备都会有各自的device addresscompoiste device只有一个device address。实际上,从host的角度来看,compound device与一个hub上挂多个设备是等效.


Followinginformation from MS msdn

bDeviceClass

设备类码:
如果此域的值为0则一个设置下每个接口指出它自己的类,各个接口各自独立工作。
如果此域的值处于1~FEH之间,则设备在不同的接口上支持不同的类。并这些接口可能不能独立工作。此值指出了这些接口集体的类定义。
如果此域设为FFH,则此设备的类由厂商定义。


枚举 USB 组合设备

  • 设备描述符的设备类字段 (bDeviceClass)     包含一个零,或者设备描述符的 (bDeviceClass)、子 (bDeviceSubClass)     协议 (bDeviceProtocol)     字段必具有 0xEF0x02 0x01,如USB 接口关描述符中所述。

  • 设备具有多个接口。

  • 设备具有一个配置