我的台式机配有 ASUS PRIME X370-PRO 主板,根据技术规格,所有 USB 端口均为 3.0 或 3.1,没有 2.0 端口。问题是所有暴露的 USB 端口都被识别为 2.0。我正在运行 Ubuntu 18.04.3 LTS。
003 号总线应为 3.1,其他总线均为 3.0。我连接 3.0 设备,但只支持 2.0 速度。
有什么想法可以修复此问题吗?
# 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
答案1
所有端口均已正确检测到。Linux 内核将 2.0 和 3.0 集线器添加到 USB。
因此,您有三个 2.0 集线器和三个 3.0 集线器。
在这种情况下,问题是由于驱动程序的限制,RTL8812AU 设备被检测为 USB 2.0 设备。
但无线设备的实际传输速度不太可能超过480M。所以这看起来不是一个真正的问题。
答案2
疯狂建议:检查您的电缆。一些看似高质量的电缆无法协商 gbps 速度,因此一切都以 480mbps 的 USB2 结束。发生这种情况时,lsusb
它将落在 USB 2 控制器下,并且设备将列为 usb2 / 480m。XHCI 驱动程序在 lsusb 中同时显示 USB 2 集线器和 USB 3 集线器是正常/标准的,然后设备出现在适合其速度的任何一个下。
答案3
删除您可能已安装的任何 rtl8812au 驱动程序,然后尝试此驱动程序...
sudo apt install git dkms
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
sudo ./dkms-install.sh
您应该在/etc/modprobe.d
名为的文件中创建一个88XXau.conf
类似于此的文件,以强制 USB 3.x 操作。如果没有此文件,驱动程序将应该以 USB 2.x 模式启动并切换...
# 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"