Hi, Matt Ettus and I are working on a very high speed analog i/o card for the GNU Radio project. The hardware is primarily targeted at software radio applications. http://comsec.com/wiki?UniversalSoftwareRadioPeripheral
Our goals are to maximize throughput on the USB and to minimize the interpacket jitter that we see at the peripheral. The peripheral uses the cypress FX2. I've run into some problems in my attempt to get high throughput. I'm currently using a 2.4.22 kernel and the devio interface to submit multiple BULK urbs from userland. I've typically got 400+ urbs in flight with 16KB buffers associated with them. With this strategy I'm able to sustain 31.25e6 bytes / second in either the IN or OUT direction with acceptable interpacket jitter and no need to run with real time scheduling. I'm using the QUEUE_BULK flag. The symptom I'm seeing is that although all of the output urbs specify the same endpoint, it appears that what's being transmitted on the bus is some kind of round robin selection of portions of all of the urbs outstanding, instead of all 16K associated with a single urb, and then on to the next. I see the same behavior on the input direction too. Needless to say, this isn't so good for the data coming and going to our A/D and D/A converters. Do you have any suggestions? Am I misunderstanding the function of the QUEUE_BULK flag? It seems that this requirement (in order execution of outstanding requests) is common to many other usb devices. USB tape drives and disk drives have the same requirement. For disks the need is derived from requirements for file system integrity (write file data before meta data). How do I enqueue multiple requests to the same endpoint and get in order transfer? I understand the desire to multiplex the USB between different endpoints. The issue is with regard to in-order transfer of multiple outstanding requests to the same endpoint. Thanks, Eric Blossom ------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
