> Problem- > The framerate appears to be stuck at 1ms between frames.
That's part of the USB spec ... I think you mean "between requests". One URB per request. If your driver doesn't use URB queueing, the host controllers are only going to get (at best) one request per frame, since host controllers won't usually interrupt except at frame boundaries. So the goal is to make each request transfer lots of data. > 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. Perhaps SOF is more like it ... if you didn't explicitly put control requests into your protocol, you shouldn't see any of them going on, and a Star Of Frame is expected every millisecond (for full or low speed). Are you only submitting URBs with 64 byte packets? If so, that's likely your problem. Bigger buffers work better for bulk, when you want througput. Try 2KB, for example. That'll max out one frame (19 packets) and most of the next (13 packets), with space for other USB transfers. - Dave _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
