By PURPLELEC | 12 March 2024 | 0 Comments
What is a USB hub descriptor?
A USB hub is a special USB device, so it is suitable for USB standard device descriptors. For these USB standard descriptors, some of its fields have been predefined.
The USB hub will return three different descriptor sets based on the actual connection conditions:
The first descriptor set is used when the device operates in low speed/full speed mode.
The second and third descriptor sets are used for descriptor devices working in high-speed mode.
For a HUB working in low-speed or full-speed mode, the bDeviceProtocol of its device descriptor must be 0, and the bInterfaceProtocol of its interface descriptor must also be 0.
HUB working in high-speed mode has two descriptor sets, namely single TT and multiple TT.
All HUBs must support single TT, so they must support a single TT descriptor set.
Compared with single TT, multi-TT hub adds an additional interface descriptor and accompanying endpoint descriptor (corresponding endpoint descriptor).
Single TT
In a single TT descriptor set, the bDeviceProtocol of its device descriptor must be 1, and the bInterfaceProtocol of its interface descriptor must be 0.
Multiple TT
In a multi-TT descriptor set, the bDeviceProtocol value in the device descriptor is 2, the bInterfaceProtocol value in the first interface descriptor is 1, and the bInterfaceProtocol value in the second interface descriptor is 2.
When the HUB is configured with its interface protocol set to 1, it is a single TT. When it is 2, it is double TT.
TT must not be changed while the hub is in full/low speed transactions.
Leave a Reply
Your email address will not be published.Required fields are marked. *
POPULAR BLOG
CATEGORIES
TAGS