The hub class pre-defines certain fields in standard USB descriptors. Other fields are either
implementation-dependent or not applicable to this class.
集线器类在标准 USB 描述符中预定义了某些字段。其他字段则取决于具体实现或不适于此类设备。

Note: for the descriptors and fields shown below, the bits in a field are organized in a little-endian fashion; that is, bit location 0 is the least significant bit and bit location 7 is the most significant bit of a byte value.
注意:对于如下所示的描述符和字段,字段中的位按小端格式组织;即,位位置 0 是一个字节值的最低有效位,位位置 7 是最高有效位。

Device Descriptor 设备描述符​

bDeviceClass = HUB_CLASSCODE (09H) //bDeviceClass = 集线器类代码 (09H)
bDeviceSubClass = 0

Interface Descriptor 接口描述符​

bNumEndpoints = 1
bInterfaceClass = HUB_CLASSCODE (09H) //bInterfaceClass = 集线器类代码 (09H)
bInterfaceSubClass = 0
bInterfaceProtocol = 0

Configuration Descriptor 配置描述符​

MaxPower = The maximum amount of bus power the hub will consume in this configuration
MaxPower = 集线器在此配置下将消耗的最大总线电量

Endpoint Descriptor (for Status Change Endpoint) 端点描述符(用于状态变更端点)

bEndpointAddress = Implementation-dependent; Bit 7: Direction = In(1) //bEndpointAddress = 取决于实现;位 7:方向 = 输入(1)
wMaxPacketSize = Implementation-dependent //wMaxPacketSize = 取决于实现
bmAttributes = Transfer Type = Interrupt (00000111B ) //bmAttributes = 传输类型 = 中断 (00000111B)
bInterval = FFH (Maximum allowable interval) //bInterval = FFH(最大允许间隔)

The hub class driver retrieves a device configuration from the USB System Software using the GetDescriptor() device request. The only endpoint descriptor that is returned by the GetDescriptor() request is the Status Change endpoint descriptor.
集线器类驱动程序使用 GetDescriptor()设备请求从 USB 系统软件获取设备配置。GetDescriptor()请求返回的唯一端点描述符是状态变更端点描述符。