Re: High speed, high bandwidth isoc

Steve Calfee <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.