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