ben-wpan: pings between atben and atusb

Werner Almesberger werner at almesberger.net
Fri Jul 8 09:35:21 EDT 2011


Thadeu Lima de Souza Cascardo wrote:
> USB 2.0 says that for full speed devices the frame is 1ms long, while
> the microframe is 125us long for high speed devices. A control transfer
> happens, then, in a 1ms frame, composed of multiple transactions.

Yes, it clearly happens once per frame. What I'm not quite sure about
is where this limit comes from. The USB 2.0 specification states on
page 40 that

  "A control endpoint may see zero or more transfers in a single
   (micro)frame."

Now, I wonder whether getting only one control transfer per Full-Speed
frame is because of

- a restriction elsewhere in the USB specification I've overlooked,
- a design limitation of the UHCI,
- a configurable limitation by the Linux USB stack, or
- a bug in my firmware ?

> Perhaps, the driver/device code for atusb should really be optimized to
> work as a network device to reduce RTTs and allow for better throughput.

USB throughput isn't that much of an issue, given that the highest
over-the-air data rate is 250 kbps (standard) 2 Mbps (non-standard)
and the hightest data rate for buffer access is 8 Mbps. But the 1 ms
wait per control transfer is a killer :-(

> Besides, what wMaxPacket are you using for the control endpoint?

I have bMaxPacketSize0 == 64.

Thanks,
- Werner




More information about the discussion mailing list


interactive