USB 3.0 и 3.1 распознаются как 2.0
У меня настольный компьютер с материнской платой 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
2 ответа
Удалите все драйверы 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 и переключиться...
# Initial it will use USB2.0 mode which will limite 5G 11ac throughput
# (USB2.0 bandwidth only 480Mbps => throughput around 240Mbps)
# when modprobe add following options will let it switch to USB3.0 mode at initial driver
#
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"
Сумасшедшее предложение: проверьте свой кабель. Некоторые, казалось бы, качественные кабели не поддерживают скорость передачи данных в Гбит / с, поэтому все заканчивается на 480 Мбит / с USB2. Когда это произойдет, в
lsusb
он окажется под контроллером USB 2, и устройство будет указано как usb2 / 480m. Для драйвера XHCI это нормально / стандартно - предоставлять как концентратор USB 2, так и концентратор USB 3 в lsusb, а затем устройства отображаются в зависимости от их скорости.
Все порты правильно определены. Ядро Linux добавляет концентраторы 2.0 и 3.0 к USB.
Итак, у вас есть три 2.0 и три 3.0 хаба.
В этом случае проблема заключается в том, что устройство RTL8812AU определяется как устройство USB 2.0 из-за ограничения драйвера.
Но реальная скорость передачи беспроводного устройства вряд ли будет больше 480M. Так что это не выглядит как настоящая проблема.