On Wed, 14 Sep 2005, Giridhar Pemmasani wrote:

> I haven't been able to understand why the transfers fail under Linux whereas
> it works fine under Windows (note that I am using the same Windows driver
> in Linux, albeit with ndiswrapper). All URBs exchanged until the failed URB
> seem to be identical. The URB that fails is 2400 bytes long bulk IN URB. I
> am wondering if the timeout is due to large(?) buffer, considering it is
> running as full speed device and not high speed device (see earlier post
> about initialization issues). That is, if Windows driver asks to read 2400
> bytes, would it help to split it as two URB requests, each of length 1200
> bytes and when second URB is completed, copy both buffers back into Windows
> driver's buffer.

That doesn't sound like a good idea.  At full speed, the device will
transfer a 2400-byte blk-IN URB using 37 64-byte packets plus a short
32-byte packet at the end.  If you try to split it up into two 1200-byte
URBs, the host will expect to receive 18 64-byte packets followed by a
short 48-byte packet for each URB.  When the 19th packet arrives and is 64
bytes long instead of 48, you'll get an EOVERFLOW error.

>  This makes ndiswrapper more complicated, especially with
> error processing, but I will try at least as a first cut to see if this
> helps. Please let me know if you have any suggestions/ideas to fix this
> issue.

If all the URBs really are identical then the device ought to behave in 
the same way.  You should doublecheck all those previous URBs.

Alan Stern



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to