Richard Stover wrote:
I'm going to try bulk transfers this afternoon.

I also just tried doing high bandwidth interrupt
transfers. I thought that perhaps I could get
three transfers per microframe.

Not yet supported ...


In /proc/bus/usb/devices I see this for my interrupt
endpoint:
E:  Ad=82(I) Atr=03(Int.) MxPS=3066 Ivl=125us

Note that 3066 is 3X1022 where 1022 was my base packet
size. Oddly, the wMaxPacketSize element of the
usb_endpoint_descriptor structure claims the size
is 5118 bytes. That is almost, but not quite 5*1022 (5120).
This is obviously a bug, and it definitely fails with
the -75 (OVERFLOW) status return in the callback.

See the spec for wMaxPacketSize ... it makes more sense in hex, since you're interpreting the high bandwidth multiplier bitfield incorrectly.

When I use 3066 instead of the bogus 5118 the transfers
appear to happen, but now I get one call to my callback
every 3 milliseconds instead of every millisecond. So
it is still doing only one 1022 byte transfer per millisecond.

That's because nobody's needed the high bandwidth support yet. Do you need that to work?

- Dave



Richard







-------------------------------------------------------
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

Reply via email to