??? 06/26/05 19:45 Read: times Msg Score: +1 +1 Informative |
#95965 - Not Quite Responding to: ???'s previous message |
Gutten Tag Sebastian,
Conerning the configuration length you wrote, ... this is the sum of all the descriptors, that belong to one configuration. Not quite. Quoting from "USB Design by Example," (ISBN 0970284659), When the PC host requests the configuration descriptor, the device responds with all the descriptors that it uses to describe the functionality and operation of the device. These descriptors are concatonated and sent as a single large block to the PC host. The TotalLength of this block is entered at byte offsets 2 and 3.
The number of interfaces supported by this configuration is entered at byte offset 4. A minimum I/O device will enter a 1 here. A device with multiple configurations will have multiple configuration descriptors (we'll discuss this in the next section). Each configuration descriptor must have a unique identifier, called ThisConfig, and this is entered at byte offset 5. So as I read it, if a device is to have multiple configurations then each time the PC host requests the descriptor for any one of them, the device must send all of them and let the host decide which one is relevant. And the TotalLength is the length of all of them, not just the one. I hope this helps. Joe Hébert |
Topic | Author | Date |
USB Enumeration (descriptor) problem | 01/01/70 00:00 | |
Not Quite![]() | 01/01/70 00:00 |