I am curious about this comment:

/n/sources/plan9/sys/src/cmd/usb/lib/dev.c:231,235
        /*
         * Several hubs are returning descriptors of 17 bytes, not 18.
         * We accept them and leave number of configurations as zero.
         * (a get configuration descriptor also fails for them!)
         */

Does anyone know which particular devices this refers to?  Has anyone tried
issuing the Rgetdesc command with a length of 18 bytes instead of 18+255 bytes
as the existing code does?  The usb specification says a device descriptor
is 18 bytes, so why not read exactly that length?  In the case of the hub in the
iMac keyboard, doing that seems to get rid of the "bug: out of configurations"
message.  I'm inclined to offer that as a correction but not if it would break
any known devices.


Reply via email to