On Mon, Oct 12, 2009 at 3:37 PM, Tim Jones <tjones01@xxxxxxxxx> wrote: > 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 Hi Tim, At first I thought you were talking about ep0, where maxpacket of 0 would be a true problem. I have seen a microsoft webcam (FS) that had several interfaces with iso endpoints with a maxpacket of 0, (IN, OUT iso). Other alt settings went up to 1020 bytes. You have now found a HS device (3x1020 bytes) Which has alt settings with maxpacket of 0. Why should that be a problem? It is kind of silly, but completely accurate, an iso endpoint of length 0 should require no bandwidth. Are you seeing a transfer problem? Regards, Steve -- 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