I have desktop with ASUS PRIME X370-PRO motherboard and according tech-specs all of USB ports are 3.0 or 3.1, there are no 2.0 ports. Problem is that all exposed USB ports are recognized as 2.0. I am running Ubuntu 18.04.3 LTS.

Bus 003 should be 3.1 all others 3.0. I connect 3.0 device and bet only 2.0 speeds. enter image description here

Any ideas how I can fix this?

# lsusb Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac WLAN Adapter Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 24ae:2010 Bus 001 Device 003: ID 1b1c:0c04 Corsair Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # lsusb -t /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=88XXau, 480M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 10000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M |__ Port 3: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 3: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 3: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 14: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M # lspci | grep -i usb 02:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 43b9 (rev 02) 07:00.0 USB controller: ASMedia Technology Inc. ASM1143 USB 3.1 Host Controller 0b:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller # uname -r 5.0.0-23-generic 
13

3 Answers

All ports are properly detected. Linux kernel adds both 2.0 and 3.0 hubs to USB.

So you have three 2.0 and three 3.0 hubs.

It this case the problem is that the RTL8812AU device is detected as USB 2.0 device because of the driver limitation.

But real transfer speed of a wireless device is unlikely to be more than 480M. So it doesn't look like a real problem.

Remove any rtl8812au drivers that you may have installed, and try this driver...

sudo apt install git dkms git clone cd rtl8812au sudo ./dkms-install.sh 

You should create a file in /etc/modprobe.d called 88XXau.conf that looks similar to this, to force USB 3.x operation. Without this file, the driver is supposed to come up and start in USB 2.x mode and switch up...

# Initially it will use USB2.0 mode, which will limit 5G 11ac throughput # (USB2.0 bandwidth only 480Mbps => throughput around 240Mbps) # with modprobe options it will switch to USB3.0 mode at initial driver load # options 88XXau rtw_switch_usb_mode=1 # # # ### TODO: run time change usb2.0/3.0 mode # ### usb2.0 => usb3.0 # # sudo sh -c "echo '1' > /sys/module/88XXau/parameters/rtw_switch_usb_mode" # ### usb3.0 => usb2.0 # # sudo sh -c "echo '2' > /sys/module/88XXau/parameters/rtw_switch_usb_mode" 
1

Crazy suggestion: check your cable. Some seemingly high-quality cables won't negotiate gbps speeds and so everything ends up at 480mbps of USB2. When this happens, in lsusb it will land under the USB 2 controller, and the device will be listed as usb2 / 480m. It's normal/standard for the XHCI driver to expose both a USB 2 hub and a USB 3 hub in lsusb, and then devices appear under whichever is appropriate for their speed.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy