Reading 1024 bytes from mass storage device using 3 frames gives USB_ERR_STALLED

Hans Petter Selasky hselasky at c2i.net
Fri Feb 15 07:34:37 UTC 2013


On Thursday 14 February 2013 23:16:31 Aman Sawrup wrote:
> Hi Hans,
> 
> Is it possible to do the following:
> 
> 1. Set frame 0 length to 200 bytes
> 2. usbd_transfer_submit()
> 3. Wait for USB_ST_TRANSFERRED
> 4. Set frame 0 length to 512 bytes
> 5. Set frame 1 length to 312 bytes
> 6. usbd_transfer_submit()
> 
> Effectively, send 200 bytes in first transfer, then send remaining 724
> bytes in second transfer.

No, not unless your USB device handles the 200 bytes split apart from the 512 
bytes. You can check using an USB analyzer what is happening on the USB cable.

--HPS


More information about the freebsd-usb mailing list