strange(?) USB device with wMaxPacketSize = 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi. I've been trying to examine the operation of a USB device by
snooping on it while it's running with its proprietary driver in a
VirtualBox (closed source, PUEL edition, so no trickery on my part to
get USB working) running Windows XP. When the device is connected and
on, the kernel starts spamming:
usb 1-1: bogus endpoint ep1in in usb_submit_urb (bad maxpacket 0)
usb 1-1: usbfs: usb_submit_urb returned -90
continuously, without end. Examining the function usb_submit_urb in
drivers/usb/core/urb.c of the kernel source tree (2.6.30) indicates
that the issue is with a wMaxPacketSize descriptor equal to zero.
Examining the descriptor tree of my device confirms that for the given
interface, bAlternateSetting = 0, there is an endpoint 0x81 (otherwise
reported in the error message as ep1in) for which wMaxPacketSize is
zero. (Find the complete descriptor tree `lsusb -d 05a9:a538 -v` at
http://pastebin.ca/1616649 ). For the same interface, there is also an
alternate bAlternateSetting = 1 for which there is an endpoint 0x81
with wMaxPacketSize = 0x13fc (3x 1020 bytes). Now, at this juncture I
am not familiar enough with standard USB operation to know what to
expect from Alternate Settings on a given Interface. So as I read up
on the standards, I appeal before the gods of linux-usb: is such a
device with wMaxPacketSize = 0x00 simply insane? Is there some easy,
or otherwise, way I could force the device to use bAlternateSetting =
0, just for the hell of it? The device does appear to "just work"
under a system booted into Windows (no virtualization), and in the
meantime I'll try to snoop around there, if possible. I suppose I
haven't given much information to work with here, but again, any
insight on sanity of the device would be appreciated.

Thanks.
Tim
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux