Joshua-Riek / ubuntu-rockchip

Ubuntu for Rockchip RK35XX Devices
https://joshua-riek.github.io/ubuntu-rockchip-download/
GNU General Public License v3.0
2.49k stars 266 forks source link

Bug Report: Radxa Zero3: USB3 port with USB2 speed only #1097

Closed PWM-Master closed 3 weeks ago

PWM-Master commented 3 weeks ago

What happened?

When I plug in USB3 capable devices in the USB3 port, these are registered as 480M/USB2 devices, delivering only about 30MB/s speed. What can I do to change that behaviour?

Kernel version

6.1.0-1025-rockchip

SBC model

Radxa Zero3

What operating system are you seeing this problem on?

Ubuntu 24.04 LTS (Noble Nombat)

Relevant logs

ubuntu@ubuntu:~$ sudo lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 001: Dev 003, If 0, Class=Mass Storage, Driver=uas, 480M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
/:  Bus 006.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M

ubuntu@ubuntu:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 112 MB in  3.03 seconds =  36.96 MB/sec_
PWM-Master commented 3 weeks ago

Perhaps USB ports are wrong enumerated? This device has two external USB-C ports: one USB2 with Power and OTG, and one USB3. Adding missing dmesg log:

ubuntu@ubuntu:~$ dmesg | grep -i usb

[   12.164651] usbcore: registered new interface driver usbfs
[   12.164777] usbcore: registered new interface driver hub
[   12.164935] usbcore: registered new device driver usb
[   13.070833] phy phy-fe8a0000.usb2-phy.0: Looking up phy-supply from device tree
[   13.070874] phy phy-fe8a0000.usb2-phy.0: Looking up phy-supply property in node /usb2-phy@fe8a0000/host-port failed
[   13.071090] phy phy-fe8a0000.usb2-phy.1: Looking up phy-supply from device tree
[   13.071115] phy phy-fe8a0000.usb2-phy.1: Looking up phy-supply property in node /usb2-phy@fe8a0000/otg-port failed
[   13.071292] phy phy-fe8a0000.usb2-phy.1: Looking up vbus-supply from device tree
[   13.071315] phy phy-fe8a0000.usb2-phy.1: Looking up vbus-supply property in node /usb2-phy@fe8a0000/otg-port failed
[   13.074052] phy phy-fe8b0000.usb2-phy.2: Looking up phy-supply from device tree
[   13.074091] phy phy-fe8b0000.usb2-phy.2: Looking up phy-supply property in node /usb2-phy@fe8b0000/host-port failed
[   13.074315] phy phy-fe8b0000.usb2-phy.3: Looking up phy-supply from device tree
[   13.074340] phy phy-fe8b0000.usb2-phy.3: Looking up phy-supply property in node /usb2-phy@fe8b0000/otg-port failed
[   13.074527] phy phy-fe8b0000.usb2-phy.3: Looking up vbus-supply from device tree
[   13.074550] phy phy-fe8b0000.usb2-phy.3: Looking up vbus-supply property in node /usb2-phy@fe8b0000/otg-port failed
[   13.355616] usbcore: registered new interface driver rndis_wlan
[   13.355779] usbcore: registered new interface driver asix
[   13.355903] usbcore: registered new interface driver cdc_ether
[   13.356025] usbcore: registered new interface driver rndis_host
[   13.356174] usbcore: registered new interface driver cdc_ncm
[   13.372079] phy phy-fe8b0000.usb2-phy.3: illegal mode
[   13.372237] phy phy-fe8b0000.usb2-phy.3: illegal mode
[   13.372970] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 1
[   13.373861] xhci-hcd xhci-hcd.4.auto: new USB bus registered, assigned bus number 2
[   13.373925] xhci-hcd xhci-hcd.4.auto: Host supports USB 3.0 SuperSpeed
[   13.374031] ehci-platform fd880000.usb: EHCI Host Controller
[   13.374070] ohci-platform fd8c0000.usb: Generic Platform OHCI controller
[   13.374340] ehci-platform fd800000.usb: EHCI Host Controller
[   13.374368] ohci-platform fd840000.usb: Generic Platform OHCI controller
[   13.374391] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[   13.374457] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.374504] usb usb1: Product: xHCI Host Controller
[   13.374541] usb usb1: Manufacturer: Linux 6.1.0-1025-rockchip xhci-hcd
[   13.374580] usb usb1: SerialNumber: xhci-hcd.4.auto
[   13.375632] hub 1-0:1.0: USB hub found
[   13.376724] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[   13.377160] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[   13.377219] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.377266] usb usb2: Product: xHCI Host Controller
[   13.377304] usb usb2: Manufacturer: Linux 6.1.0-1025-rockchip xhci-hcd
[   13.377344] usb usb2: SerialNumber: xhci-hcd.4.auto
[   13.378281] hub 2-0:1.0: USB hub found
[   13.379199] ohci-platform fd8c0000.usb: new USB bus registered, assigned bus number 3
[   13.379245] ehci-platform fd880000.usb: new USB bus registered, assigned bus number 4
[   13.379297] ohci-platform fd840000.usb: new USB bus registered, assigned bus number 5
[   13.379388] usbcore: registered new interface driver cdc_acm
[   13.379439] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   13.379484] ohci-platform fd8c0000.usb: irq 50, io mem 0xfd8c0000
[   13.379522] ohci-platform fd840000.usb: irq 49, io mem 0xfd840000
[   13.379554] ehci-platform fd880000.usb: irq 47, io mem 0xfd880000
[   13.379611] ehci-platform fd800000.usb: new USB bus registered, assigned bus number 6
[   13.379835] ehci-platform fd800000.usb: irq 48, io mem 0xfd800000
[   13.380010] usbcore: registered new interface driver uas
[   13.380205] usbcore: registered new interface driver usb-storage
[   13.390439] ehci-platform fd880000.usb: USB 2.0 started, EHCI 1.00
[   13.391253] usb usb4: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[   13.391316] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.391364] usb usb4: Product: EHCI Host Controller
[   13.391403] usb usb4: Manufacturer: Linux 6.1.0-1025-rockchip ehci_hcd
[   13.391442] usb usb4: SerialNumber: fd880000.usb
[   13.392460] hub 4-0:1.0: USB hub found
[   13.403759] ehci-platform fd800000.usb: USB 2.0 started, EHCI 1.00
[   13.404313] usb usb6: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[   13.404374] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.404421] usb usb6: Product: EHCI Host Controller
[   13.404459] usb usb6: Manufacturer: Linux 6.1.0-1025-rockchip ehci_hcd
[   13.404500] usb usb6: SerialNumber: fd800000.usb
[   13.405471] hub 6-0:1.0: USB hub found
[   13.438205] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.01
[   13.438292] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.438342] usb usb5: Product: Generic Platform OHCI controller
[   13.438381] usb usb5: Manufacturer: Linux 6.1.0-1025-rockchip ohci_hcd
[   13.438420] usb usb5: SerialNumber: fd840000.usb
[   13.439472] hub 5-0:1.0: USB hub found
[   13.441525] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.01
[   13.441628] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   13.441677] usb usb3: Product: Generic Platform OHCI controller
[   13.441716] usb usb3: Manufacturer: Linux 6.1.0-1025-rockchip ohci_hcd
[   13.441758] usb usb3: SerialNumber: fd8c0000.usb
[   13.442836] hub 3-0:1.0: USB hub found
[   13.473467] typec_fusb302 3-0022: Looking up vbus-supply from device tree
[   13.473506] typec_fusb302 3-0022: Looking up vbus-supply property in node /i2c@fe5c0000/fusb302@22 failed
[   13.473571] typec_fusb302 3-0022: supply vbus not found, using dummy regulator
[   13.474922] OF: graph: no port node found in /i2c@fe5c0000/fusb302@22
[   13.496424] usbcore: registered new interface driver uvcvideo
[   13.519074] usbcore: registered new interface driver usbhid
[   13.519096] usbhid: USB HID core driver
[   13.526130] usbcore: registered new interface driver snd-usb-audio

PWM-Master commented 3 weeks ago

Found the source of the issue: the/my USB-C port on the Radxa Zero3 switches between USB2/3 depending on the orientiation of my USB-C plug! This should not be the case - but I can reproduce the behaviour consistently!

Sorry for opening a bug! This was unexpected...