Re: [Patch] Increase USBFS Bulk Transfer size

Alan Stern
2011-10-17T18:22:55Z

On Mon, 17 Oct 2011, Johannes Stezenbach wrote:

> On Sat, Oct 15, 2011 at 03:04:28PM -0400, Alan Stern wrote:
> > On Sat, 15 Oct 2011, Johannes Stezenbach wrote:
> >
> > > It would make a difference if the
> > > device violated the spec and sent 188 byte packets. However, the
> > > spec says a short packet terminates the transfer. But I wonder
> > > if this is really the case?
> >
> > The device does not send short packets. If it did, the 24064-byte
> > transfers would end early.
>
> Re-reading the USB-2.0 standard, a short packet which terminates
> the transfer is defined by packet_size < wMaxPacketSize,
> not by packet_size < 512.
> Thus wMaxPacketSize == 188 (or 2*188) might be possible.
>
> There is a comment in linux/drivers/usb/host/ehci-q.c:
>
> /* The USB spec says that high speed bulk endpoints
> * always use 512 byte maxpacket. But some device
> * vendors decided to ignore that, and MSFT is happy
> * to help them do so. So now people expect to use
> * such nonconformant devices with Linux too; sigh.
> */

That comment referred to devices with wMaxPacketSize = 1024, which has
been seen in the wild. But other bizarre sizes are possible.

> Maybe we should look at the descriptors?

It won't hurt, although I would be quite surprised to see anything
other than 512.

Markus, can you post the output from "lsusb -v" for this inflexible
webcam?

Alan Stern