Hi, On Thu, 2004-10-28 at 13:25 -0700, Eric Blossom wrote: > We built an FX2 based software radio peripheral and we routinely > sustain 32MB/sec in either direction. CPU consumption is minimal -- > on the order of 5% of a 1.4 GHz Pentium M. We did it all in user > space using libusb, with an added layer on top that does "fast usb" by > keeping multiple URBs in flight using usbdevice_fs. > > You can find all the code including the firmware and the fast usb > library (fusb*.{h,cc}) at ftp://ftp.gnu.org/pub/gnu/gnuradio/usrp-0.5.tar.gz
I had a look at the fusb* stuff in your usrp-0.5.tar code and I have some questions: 1. looks like every byte transfered with your "fast usb" lib is memcopied at least two times: in your fusb*.cc code and in the usbfs kernel code, right? Meaning worrying about sg-list "optimized" drivers is sort of unnecessary... 2. with your "bypassing" of the libusb by accessing the fd inside the usb_dev_handle and queuing multiple urbs at once, you do what Johannes meant by > We can go even further by using multiple URBs and queuing > them, but libusb doesn't currently do that. ? 3. if I would use your fusb* code in a proprietary app, I would clearly violate the GPL, right? 4. would it be possible to somehow migrate your fusb code/ideas into libusb (changing from GPL to LGPL), thereby allowing me to profit from that code? I would be glad to help here (my only option is to write yet-another kernel driver :-/). Maybe this could be combined with what Duncan Sands just posted, namely to use sg-lists to avoid the unnecessary memcopies to further increase performance? Thanks, Axel ------------------------------------------------------- This Newsletter Sponsored by: Macrovision For reliable Linux application installations, use the industry's leading setup authoring tool, InstallShield X. Learn more and evaluate today. http://clk.atdmt.com/MSI/go/ins0030000001msi/direct/01/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel