libusb performance on 8.1

Daniel O'Connor doconnor at gsoft.com.au
Thu Feb 3 06:56:41 UTC 2011


On 28/01/2011, at 18:28, Hans Petter Selasky wrote:
> For this kind of applications ISOCHRONOUS transfers should be used. Then you 
> can have a double buffer guard in the range 1-56ms, regardless of the buffer 
> size the hardware uses.

That sounds nice :)
I am trying to get it working at the moment, however I'm only finding it capable of 4 or 8 Mb/sec (512 or 1024 byte EP), although perhaps I don't understand how to do ISO transfer properly.

BTW do you have a feel for the latency in bulk vs iso? I currently have 5-10 msec of buffering in the hardware which I plan on increasing but I'm not sure what a reasonable amount would be :)

I put a logic analyser on my board and it shows fairly regular requests from the hardware (16kbyte bursts every 2msec or so) however I see glitches occasionally - 5.5ms, 7.5ms. 

I am not sure if they are attributable to userland scheduling (in which case writing a kernel driver should help) or some subtlety in USB itself.

Thanks :)
 
--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C








More information about the freebsd-usb mailing list