Re: strange(?) USB device with wMaxPacketSize = 0

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

 



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

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

  Powered by Linux