USB 3 devices not reliably connecting at 5Gbps
Daniel O'Connor <doconnor <at> gsoft.com.au>
2014-04-11 04:33:19 GMT
I have a FreeBSD 9.2 system on which I am developing a USB3 data acquisition card (based on the Cypress FX3)
and I have found that it doesn't reliably connect at 5GBps - quite often it seems to only connect at 480MBps.
If I connect it to my macbook pro (running OSX) it reliably connects at 5Gbps.
Since the FreeBSD system doesn't have onboard USB3 I purchased 2 PCIe USB3 cards. I wanted to see if there was
a difference in behaviour between the 2 cards but that doesn't seem to be the case.
xhci0 <at> pci0:3:0:0: class=0x0c0330 card=0x34321106 chip=0x34321106 rev=0x03 hdr=0x00
xhci1 <at> pci0:5:0:0: class=0x0c0330 card=0x70521b6f chip=0x70521b6f rev=0x00 hdr=0x00
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xfbeff000-0xfbefffff irq 17 at device 0.0 on pci3
xhci0: 32 byte context size.
usbus1 on xhci0
xhci1: <XHCI (generic) USB 3.0 controller> mem 0xfbcf8000-0xfbcfffff irq 17 at device 0.0 on pci5
xhci1: 64 byte context size.
usbus2 on xhci1
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.
I booted a 10.0 DVD and it seems to behave the same way.
I also tried a USB 3 HD enclosure and it frequently connects at 480MBit as well so I don't think it's an issue
with the firmware I wrote.
Does anyone have a recommendation, or a path to debugging it?