I am trying to arrange my USB descriptors for a composite device with 2 interfaces; one for a HID keyboard and the other for a DFU class.
The Config descriptor looks like this:
09 02 2b 00 02 01 00 80 32 // config descriptor, 2 interfaces
09 04 00 00 01 03 00 00 00 // interface descriptor for HID keyboard
09 21 10 01 00 01 22 2d 00 // HID class descriptor
07 05 81 03 08 00 0a // EP descriptor for HID IN interrupt
09 04 01 00 00 fe 01 00 00 // interface descriptor for DFU class, no EPs
Windows XP and Vista are both happy with this; they load an HID class driver ok and then pop up the add new hardware wizard for the DFU interface.
Win 7 puts an exclamation mark (!) by the HID device in DevMgr. The DFU is nowhere to be seen.
Any ideas?
Nick Clarke
www.redsoftsys.com
xxxxx@redsoftsys.com wrote:
I am trying to arrange my USB descriptors for a composite device with 2 interfaces; one for a HID keyboard and the other for a DFU class.
The Config descriptor looks like this:
09 02 2b 00 02 01 00 80 32 // config descriptor, 2 interfaces
09 04 00 00 01 03 00 00 00 // interface descriptor for HID keyboard
09 21 10 01 00 01 22 2d 00 // HID class descriptor
07 05 81 03 08 00 0a // EP descriptor for HID IN interrupt
09 04 01 00 00 fe 01 00 00 // interface descriptor for DFU class, no EPs
Windows XP and Vista are both happy with this; they load an HID class driver ok and then pop up the add new hardware wizard for the DFU interface.
Win 7 puts an exclamation mark (!) by the HID device in DevMgr.
A HID-class device is required to have at least one Report Descriptor.
Your HID class-specific descriptor says you have one, with a length of
2D bytes, but there is none present. Further, if the whole
configuration descriptor is 2B bytes, then clearly there is not room for
2D bytes of report descriptor.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.