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

next in thread | previous in thread | raw e-mail | index | archive | help

On 03/02/2011, at 17:52, Hans Petter Selasky wrote:
>> 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.
>=20
> Hi,
>=20
> You need to set the multiplier to 2 or 3. Then you get 3*1024 bytes at=20=

> maximum.

OK, so I need..
usb_xf[i].xf =3D libusb_alloc_transfer(3);
 p =3D malloc(3 * 1024);
libusb_fill_iso_transfer(usb_xf[i].xf, h, 0x82 p, 3 * 1024, 3, usbcb, =
&usb_xf[i], 2000);

?

>> 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 :)
>>=20
>> 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.
>>=20
>> 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.
>=20
> Are you using two isochronous transfers or just one?

It is a single in endpoint. The device also has 2 in bulk and 2 out bulk =
endpoints for other data but they are idle while the iso one is running.

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









Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DAFAF80-746B-4272-86CC-BB284E59D4F6>