Situation- I have a ARM board that I wrote a small USB stack for so I could download my updates quicker. I wrote a linux driver to talk to that USB stack and download my code basically.
Problem- The framerate appears to be stuck at 1ms between frames. So, if I queue up a single bulk urb at a time, the max throughput I'm getting is 256kbps. If I use the USB_BULK_QUEUE flag on the URB, and queue up multiple URBs, the max throughput I can get is 512kbps (in theory :), since the control packet still has to be sent out). Now, I've hooked all this up to my osciliscope, and here's what I'm seeing- Case 1- One URB queued at a time Frames are 1ms apart, traffic looks like- [data]1ms[control]1ms[data]1ms[control] ... Case 2- Two URBs queued up at a time- [data]1ms[data]1ms[control]1ms[data]1ms[data]1ms[control] ... Each [data] means 1 64byte bulk transfer. I am assuming that [control] is a control packet, it's a *very* tiny blip on the scope compared to the [data] packets. Now, the problem is that the theoretical maxima I could get in this scenario is 512kbps. However, both the PC and the device are capable (hardware wise) of transferring a lot faster. (USB1.1 device, so in theory 12Mbps) So, what do I need to do in order to ratchet up the frame rate?, or just have it trigger the next transmit on the irq for bulk completion? Thanks, Shane Nay. _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
