Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Feb 2011 08:22:49 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-usb@freebsd.org
Subject:   Re: libusb performance on 8.1
Message-ID:  <201102030822.49266.hselasky@c2i.net>
In-Reply-To: <0F80A010-B97C-4D05-B604-5EF4B07EF248@gsoft.com.au>
References:  <9CF6C32F-E230-446B-94FC-C57F0F02B0E4@gsoft.com.au> <201101280858.05077.hselasky@c2i.net> <0F80A010-B97C-4D05-B604-5EF4B07EF248@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 03 February 2011 07:56:25 Daniel O'Connor wrote:
> 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.

Hi,

You need to set the multiplier to 2 or 3. Then you get 3*1024 bytes at 
maximum.

> 
> 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.

Are you using two isochronous transfers or just one?

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102030822.49266.hselasky>