Re: [Patch] Increase USBFS Bulk Transfer size

Johannes Stezenbach
2011-10-17T18:11:22Z

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.
*/

Maybe we should look at the descriptors?

Johannes