Richard Stover wrote:
 I have noted two limitations on
INTERRUPT endpoints. First, the maximum packet size seems
to be 1023 bytes instead of 1024 bytes. This is a minor
problem, but it does seem to violate the USB 2.0 specs.
I get a urb status in my callback of -75 when I try 1024 bytes.

That would be a bug -- first report!


The second, more serious problem is that I can do only
1 IN transaction per frame instead of 1 IN transaction
per microframe, per endpoint. This reduces the maximum bandwidth
by a factor of 8. When I try to use an interval less than
4 (8 microframes) I get error -12 (ENOMEM) when trying to submit
the urb.

This is a variant of a known restriction in the periodic scheduling, that's been there for ages. Though ENOMEM is the wrong thing to report. (The restriction is that only one interrupt endpoint per frame can be scheduled. It's not been a restriction many people have noticed ... :)

If you just need the one-microframe period to work, that
should be easy enough to fix.  Even if you'd like to see
the high-bandwidth support work.

- Dave



T:  Bus=01 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 71 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=6666 ProdID=0010 Rev= 0.00
S:  Manufacturer=UCO/Lick Observatory
S:  Product=UCam
S:  SerialNumber=UC001
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=fiber
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=03(Int.) MxPS=1022 Ivl=125us



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