At 10:42 PM 7/16/2007, David Brownell wrote:
>On Monday 16 July 2007, Steve Calfee wrote:
> > I am working on a project using a generic (non-FPGA) cypress fx2 to
> > test host controllers.
> >
> > The good news is that Linux runs interrupt IN/OUTs at 3x1024 byte
> > packets uframe, 24MBytes per second, over as long as I have tested,
> > seconds. Verified by a bus analyzer.
>
>Good!  :)
>
>
> > The not so good news is that I have not been able to get high
> > bandwidth isoc to work. I am using a stock Ubuntu Feisty - 2.6.20.15
> > kernel. I am going through usbdevfs.
>
>Not-so-Good ... :(
>
>I don't recall testing high bandwidth ISO.  In general, ISO support
>is pretty weak with EHCI ...

Update, I was able to get the high bandwidth ISO to work. I thought I 
would report how, for others in the future.

When building the isoc array for submission, if it is a 2 or 3 packet 
per microframe IN or OUT, I thought that I just built more standard 
packets and ehci.c would know from the endpoint attributes the mult 
field. Wrong. What Linux wants is to get a packet 2 or 3 times as 
long as maxpacket in the length request. I have not tested all 3072 
possible packet sizes, but certainly 1*3, 512*3 and 1024*3 and 
several sizes in between work for 20 second burst tests of transfers. 
All this from a userspace usbdevfs application!

Linux (through usbdevfs at least) has a limitation, the max request 
it will accept is less than 48K per urb - 24K works. I have not tried 
everything in between. This means that to get iso running without 
dropouts (the whole point of iso) requires submitting lots of urbs in 
parallel. I have very successfully used 8 urbs transferring 24K per 
urb, but that means that the app has to reload at least every 8 ms. 
Probably a production app would need to use 32 or so urbs to be 
guaranteed the uninterrupted isoc flow. The high bandwidth stuff 
would really benefit from a zero copy usb kernel.

Regards, Steve



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
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