Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Apr 2014 08:36:11 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        Daniel O'Connor <doconnor@gsoft.com.au>, freebsd-usb@freebsd.org
Subject:   Re: USB 3 devices not reliably connecting at 5Gbps
Message-ID:  <53478D5B.3090205@selasky.org>
In-Reply-To: <A9616810-7BD9-49FC-BFA7-44206E4CCAC1@gsoft.com.au>
References:  <A9616810-7BD9-49FC-BFA7-44206E4CCAC1@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On 04/11/14 06:33, Daniel O'Connor wrote:
> Also, when it does connect at 5Gbps the speed seems quite slow - on my laptop (with USB controller VID 0x8086 PID 0x9c31 - Lynx point I think) I get 225MB/sec using libusb. On FreeBSD I get around 92MB/sec although only after lowering(!!) the amount read per transfer.

Hi,

FreeBSD sets an IRQ latency of 125us, while the others use the default 
of 62.5us. Are you double buffering the USB transfers? The IRQ latency 
can be changed by editing a macro in the XHCI driver:

#define XHCI_IMOD_DEFAULT       0x000003E8U     /* 8000 IRQ/second */

At a rate of 225MB/s you need around 2x32Kbyte of buffer and you need to 
avoid short transfers.

--HPS



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