Answer the question
In order to leave comments, you need to log in
What is other speed descriptor in relation to USB?
In an example, I came across this code:
Uint16 OtherSpeedcfgDesc[40] = {0x0709, 0x004A, 0x0201, 0xC001, 0x0928, // Configure descriptor
0x0004, 0x0800, 0x0000, 0x0000, // Interface descriptor
0x0507, 0x0281, 0x0040, 0x0700, //endpoint 1 IN descriptor
0x0105, 0x4002, 0x0000, //endpoint 1 OUT descriptor
0x0507, 0x0282, 0x0040, 0x0700, //endpoint 2 IN descriptor
0x0205, 0x4002, 0x0000, //endpoint 2 OUT descriptor
0x0507, 0x0283, 0x0040, 0x0700, //endpoint 3 IN descriptor
0x0305, 0x4002, 0x0000, //endpoint 3 OUT descriptor
0x0507, 0x0284, 0x0040, 0x0700, //endpoint 4 IN descriptor
0x0405, 0x4002, 0x0000 //endpoint 4 OUT descriptor
};
Answer the question
In order to leave comments, you need to log in
The first byte of any usb descriptor is the length, the second byte is the type. Descriptor 09 07 4A 00 01 02 01 C0 28 is of type 7, OTHER_SPEED_CONFIGURATION.
Have you ever seen the message "This device can run faster"?
If a HighSpeed device (USB2 speed) is connected to a computer or hub that does not understand USB2, but only knows USB1 FullSpeed/LowSpeed speeds, the device must go through several initial stages of initialization as FullSpeed. Fully work is not required, although it usually works. The OTHER_SPEED_CONFIGURATION descriptor, if it exists, is the device’s way in such a situation to tell the system that although it is now running on FullSpeed, it also knows about HighSpeed, it’s just that such a hub got along the way or the computer is old. Purely FullSpeed devices do not have it.
A partially correct link to the documentation has already been given to you above. In USB3, type 7 is marked as Reserved and not used, but there is a link "Note that when operating at USB 2.0 speeds, the device shall report the other USB 2.0 speeds it supports using the standard mechanism defined in the USB 2.0 specification". You need to read the USB2 specification, paragraph, indeed, 9.6.4. However, it is not particularly interesting there - the structure of the descriptor is exactly the same as the structure of a regular Configuration Descriptor, adjusted for the type.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question