ASUS PRIME X370-PROマザーボードを搭載したデスクトップがあり、技術仕様によると、USBポートはすべて3.0または3.1で、2.0ポートはありません。問題は、露出したすべてのUSBポートが2.0として認識されることです。 Ubuntu 18.04.3 LTSを実行しています。
バス003は、他のすべての3.0である3.1でなければなりません。 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
インストールした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"
すべてのポートが正しく検出されています。 Linuxカーネルは、2.0と3.0の両方のハブをUSBに追加します。
つまり、3つの2.0ハブと3つのハブがあります。
この場合の問題は、RTL8812AUデバイスがドライバーの制限のためにUSB 2.0デバイスとして検出されることです。
ただし、ワイヤレスデバイスの実際の転送速度は480Mを超えることはほとんどありません。したがって、それは実際の問題のようには見えません。