On 08/27/16 18:41, Adam Stylinski wrote:
Hello,

I definitely have a USB 3.0 controller that is being recognized by XHCI:

[adam@nasbox ~]$ sudo usbconfig
ugen0.1: <XHCI root HUB 0x1b6f> at usbus0, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=SAVE (0mA)
ugen2.1: <OHCI root HUB ATI> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=SAVE (0mA)
ugen1.1: <XHCI root HUB 0x1b6f> at usbus1, cfg=0 md=HOST spd=SUPER
(5.0Gbps) pwr=SAVE (0mA)
ugen3.1: <EHCI root HUB ATI> at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=SAVE (0mA)
ugen4.1: <OHCI root HUB ATI> at usbus4, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=SAVE (0mA)
ugen5.1: <EHCI root HUB ATI> at usbus5, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=SAVE (0mA)
ugen7.1: <OHCI root HUB ATI> at usbus7, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=SAVE (0mA)
ugen6.1: <OHCI root HUB ATI> at usbus6, cfg=0 md=HOST spd=FULL (12Mbps)
pwr=SAVE (0mA)
ugen8.1: <EHCI root HUB ATI> at usbus8, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=SAVE (0mA)
ugen0.2: <Extreme SanDisk> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps)
pwr=ON (200mA)


xhci0@pci0:3:0:0: class=0x0c0330 card=0x70231849 chip=0x70231b6f rev=0x01
hdr=0x00
    vendor     = 'Etron Technology, Inc.'
    device     = 'EJ168 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB
xhci1@pci0:4:0:0: class=0x0c0330 card=0x70231849 chip=0x70231b6f rev=0x01
hdr=0x00
    vendor     = 'Etron Technology, Inc.'
    device     = 'EJ168 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB

However, when I connect a USB 3.0 device into a USB 3.0 port, it only gives
me spd=HIGH.  This is a Sandisk CZ80, but I've other devices in the past
and have had the same behavior.  Plugging a device in with
hw.usb.xhci.debug=1 doesn't appear to print too many useful things, at
least not to an end user.  I won't yet paste the full output, but it looks
something like this:

xhci_transfer_insert: qh_pos = 2
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_check_transfer: TD is last
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_device_generic_enter:
xhci_setup_generic_chain_sub: NTRB=1
xhci_setup_generic_chain_sub: LINK=0x241ff800
xhci_setup_generic_chain: first=0xfffff800241ff980 last=0xfffff800241ff980
xhci_device_generic_start:
xhci_transfer_insert: qh_pos = 2
xhci_check_transfer: slot=1 epno=4 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_check_transfer: TD is last
xhci_check_transfer: slot=1 epno=4 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_device_generic_enter:
xhci_setup_generic_chain_sub: NTRB=1
xhci_setup_generic_chain_sub: LINK=0x55fc6a300
xhci_setup_generic_chain: first=0xfffff8055fc6a480 last=0xfffff8055fc6a480
xhci_device_generic_start:
xhci_transfer_insert: qh_pos = 0
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_check_transfer: TD is last
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_device_generic_enter:
xhci_setup_generic_chain_sub: NTRB=1
xhci_setup_generic_chain_sub: LINK=0x3d958d000
xhci_setup_generic_chain: first=0xfffff803d958d180 last=0xfffff803d958d180
xhci_device_generic_start:
xhci_transfer_insert: qh_pos = 1
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_check_transfer: TD is last
xhci_check_transfer: slot=1 epno=3 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_device_generic_enter:
xhci_setup_generic_chain_sub: NTRB=1
xhci_setup_generic_chain_sub: LINK=0x7d676f000
xhci_setup_generic_chain: first=0xfffff807d676f180 last=0xfffff807d676f180
xhci_device_generic_start:
xhci_transfer_insert: qh_pos = 0
xhci_check_transfer: slot=1 epno=4 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0
xhci_check_transfer: TD is last
xhci_check_transfer: slot=1 epno=4 stream=256 remainder=0 status=1
xhci_check_transfer: stream_id=0

What can I do to end this frustrating issue of USB 2.0 only-ness?

Try to google the PCI IDs of your device and see if Linux has any quirks for your card. Sometimes these cards need special register writes to enable USB 3.0.

--HPS

_______________________________________________
freebsd-usb@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to