On Mon, 22 Sep 2003, Linus Torvalds wrote: > Yes. Additional testing (making the code just increase the size of the > transfer until it fails) shows that a size of 63 still works, but a size > of 64 bytes fails. > > Actually - with a 64-byte transfer, we appear to get the 64 bytes ok, but > the subsequent CSW status word read fails, so the 64-byte case seems to be > the one that starts confusing the device. > > If I remember right, USB-1 "big packets" are 64 bytes in size, and a > 64-byte bulk transfer would be two packets (one full-sized one, one > zero-sized one).
It's not quite that simple. If the host requested a transfer that was larger than 64 bytes and the device only had 64 bytes of data available, then yes, it would send a 64-byte packet followed by a short 0-byte packet to indicate an early termination. But if (as in this case) the host requested a 64-byte transfer, the device would send exactly those 64 bytes in a single packet and nothing else -- there being no need to indicate an early termination. > So this seems to support the notion that the device is > fine as long as it can fit the whole bulk transfer in just one packet. > > Which cleanly explains why EHCI "just worked". Alan Stern ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel