Charles Lepple wrote:
While writing USB firmware for the PIC16C765, I noticed that lsusb can't
read the string descriptors from even the stock Microchip firmware. This
seems to be limited to lsusb, as the strings show up in
/proc/bus/usb/devices and in the HID driver's initialization message.
Curious.  I recently saw a problem the other way around:  "lsusb" would
show the descriptors, the other places wouldn't.

That one ended up being a firmware problem where the device wasn't
doing short descriptor reads correctly:  host requests the first N
bytes of a larger descriptor, firmware won't, so garbage appears.

Some firmware, like maybe in your case, has the converse problem:
host requests N bytes, device firmware won't just return the
descriptor (smaller than N bytes).

In both cases the devices are clearly not conformant to the USB spec,
and the best fix is to make the firmware handle both cases correctly.
Always return min(setup.wLength, descriptor size) bytes.

- Dave





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to