aaditya Posted December 16, 2019 Posted December 16, 2019 Hi, I am using Armbian_19.11.3_Rockpi-4b_buster_current_5.3.11_desktop. Facing issue when trying to use USB devices in the upper USB 3 port on a Rock Pi 4 v1.3. This port also supports USB OTG. The switch is set to Host mode. The storage is detected occasionally, while most of the time it does not work. dmesg contains no reference to the connected storage: $ dmesg | grep usb [ 0.000000] Kernel command line: root=UUID=590fca6f-9771-4245-86a7-34712bfe535b rootwait rootfstype=ext4 console=ttyS2,1500000 console=tty1 panic=10 consoleblank=0 loglevel=1 ubootpart=7ef2aff3-01 usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 [ 5.284733] usbcore: registered new interface driver usbfs [ 5.287156] usbcore: registered new interface driver hub [ 5.292587] usbcore: registered new device driver usb [ 50.127245] usbcore: registered new interface driver pegasus [ 50.129170] usbcore: registered new interface driver rtl8150 [ 50.132096] usbcore: registered new interface driver r8152 [ 50.134404] usbcore: registered new interface driver dm9601 [ 50.136578] usbcore: registered new interface driver CoreChips [ 50.139442] usbcore: registered new interface driver smsc75xx [ 50.141440] usbcore: registered new interface driver smsc95xx [ 50.143765] usbcore: registered new interface driver plusb [ 50.145608] usbcore: registered new interface driver MOSCHIP usb-ethernet driver [ 50.374451] ehci-platform fe380000.usb: EHCI Host Controller [ 50.375497] ehci-platform fe380000.usb: new USB bus registered, assigned bus number 1 [ 50.381185] ehci-platform fe380000.usb: irq 31, io mem 0xfe380000 [ 50.395266] ehci-platform fe380000.usb: USB 2.0 started, EHCI 1.00 [ 50.408238] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03 [ 50.408790] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 50.409190] usb usb1: Product: EHCI Host Controller [ 50.409557] usb usb1: Manufacturer: Linux 5.3.11-rockchip64 ehci_hcd [ 50.410635] usb usb1: SerialNumber: fe380000.usb [ 50.468500] ehci-platform fe3c0000.usb: EHCI Host Controller [ 50.469493] ehci-platform fe3c0000.usb: new USB bus registered, assigned bus number 2 [ 50.475359] ehci-platform fe3c0000.usb: irq 33, io mem 0xfe3c0000 [ 50.491432] ehci-platform fe3c0000.usb: USB 2.0 started, EHCI 1.00 [ 50.501308] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03 [ 50.502470] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 50.502888] usb usb2: Product: EHCI Host Controller [ 50.503283] usb usb2: Manufacturer: Linux 5.3.11-rockchip64 ehci_hcd [ 50.503650] usb usb2: SerialNumber: fe3c0000.usb [ 50.585291] ohci-platform fe3a0000.usb: Generic Platform OHCI controller [ 50.587119] ohci-platform fe3a0000.usb: new USB bus registered, assigned bus number 3 [ 50.592909] ohci-platform fe3a0000.usb: irq 32, io mem 0xfe3a0000 [ 50.664813] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.03 [ 50.665289] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 50.666380] usb usb3: Product: Generic Platform OHCI controller [ 50.666764] usb usb3: Manufacturer: Linux 5.3.11-rockchip64 ohci_hcd [ 50.667113] usb usb3: SerialNumber: fe3a0000.usb [ 50.720807] ohci-platform fe3e0000.usb: Generic Platform OHCI controller [ 50.722470] ohci-platform fe3e0000.usb: new USB bus registered, assigned bus number 4 [ 50.728607] ohci-platform fe3e0000.usb: irq 34, io mem 0xfe3e0000 [ 50.799943] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.03 [ 50.800404] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 50.800802] usb usb4: Product: Generic Platform OHCI controller [ 50.801176] usb usb4: Manufacturer: Linux 5.3.11-rockchip64 ohci_hcd [ 50.801528] usb usb4: SerialNumber: fe3e0000.usb [ 50.897341] usbcore: registered new interface driver usb-storage [ 52.303330] usbcore: registered new interface driver usbhid [ 52.303335] usbhid: USB HID core driver [ 53.090803] OF: graph: no port node found in /syscon@ff770000/usb2-phy@e450/otg-port [ 53.093318] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03 [ 53.093324] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 53.093329] usb usb5: Product: xHCI Host Controller [ 53.093334] usb usb5: Manufacturer: Linux 5.3.11-rockchip64 xhci-hcd [ 53.093338] usb usb5: SerialNumber: xhci-hcd.0.auto [ 53.095135] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM. [ 53.095238] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.03 [ 53.095244] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 53.095249] usb usb6: Product: xHCI Host Controller [ 53.095253] usb usb6: Manufacturer: Linux 5.3.11-rockchip64 xhci-hcd [ 53.095257] usb usb6: SerialNumber: xhci-hcd.0.auto [ 53.100145] usb usb7: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03 [ 53.100150] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 53.100155] usb usb7: Product: xHCI Host Controller [ 53.100160] usb usb7: Manufacturer: Linux 5.3.11-rockchip64 xhci-hcd [ 53.100164] usb usb7: SerialNumber: xhci-hcd.1.auto [ 53.101778] usb usb8: We don't know the algorithms for LPM for this host, disabling LPM. [ 53.101822] usb usb8: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.03 [ 53.101825] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 53.101828] usb usb8: Product: xHCI Host Controller [ 53.101830] usb usb8: Manufacturer: Linux 5.3.11-rockchip64 xhci-hcd [ 53.101833] usb usb8: SerialNumber: xhci-hcd.1.auto [ 54.194069] usb 8-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 54.219860] usb 8-1: New USB device found, idVendor=8564, idProduct=1000, bcdDevice=11.00 [ 54.219871] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 54.219878] usb 8-1: Product: Mass Storage Device [ 54.219885] usb 8-1: Manufacturer: JetFlash [ 54.219892] usb 8-1: SerialNumber: 72Z6UO7B9R2GAU45 [ 54.221852] usb-storage 8-1:1.0: USB Mass Storage device detected [ 54.223204] scsi host0: usb-storage 8-1:1.0 [ 54.228901] usbcore: registered new interface driver uas [ 59.801887] phy phy-ff770000.syscon:usb2-phy@e450.2: charger = USB_DCP_CHARGER It works with the Radxa Debian Stretch image with Linux 4.4.154-99-rockchip-g5b699a48544d: [ 3.117507] rockchip-dwc3 usb0: USB HOST connected [ 3.426644] usb 8-1: new SuperSpeed USB device number 2 using xhci-hcd [ 3.444057] usb 8-1: New USB device found, idVendor=0080, idProduct=a001 [ 3.444673] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 3.445322] usb 8-1: Product: External USB 3.0 [ 3.445735] usb 8-1: Manufacturer: TOSHIBA [ 3.446113] usb 8-1: SerialNumber: 201503310007F [ 4.138675] usb 7-1: new SuperSpeed USB device number 2 using xhci-hcd [ 4.160143] usb 7-1: New USB device found, idVendor=8564, idProduct=1000 [ 4.160746] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 4.161370] usb 7-1: Product: Mass Storage Device [ 4.161788] usb 7-1: Manufacturer: JetFlash [ 4.162159] usb 7-1: SerialNumber: 72Z6UO7B9R2GAU45 [ 4.420405] usb-storage 7-1:1.0: USB Mass Storage device detected [ 4.430414] scsi host0: usb-storage 7-1:1.0 [ 4.431253] usbcore: registered new interface driver usb-storage [ 4.438119] usbcore: registered new interface driver uas So I am guessing its a kernel issue. Thanks for your work.
Igor Posted December 16, 2019 Posted December 16, 2019 3 hours ago, aaditya said: It works with And It most likely also works with Armbian with Linux 4.4.y ... This is the correct way to compare. 3 hours ago, aaditya said: its a kernel issue Yes. Modern kernel needs lots of development and porting to match the level of the kernel where this hardware support was initially developed. This can take years.
aaditya Posted December 16, 2019 Author Posted December 16, 2019 Hi Igor, On 12/16/2019 at 5:55 PM, Igor said: And It most likely also works with Armbian with Linux 4.4.y ... This is the correct way to compare. Agree. Will check. On 12/16/2019 at 5:55 PM, Igor said: Yes. Modern kernel needs lots of development and porting to match the level of the kernel where this hardware support was initially developed. This can take years. I understand. I reported so that we know this problem is present with current kernels. And experienced community members can help to diagnose and fix it. Thanks. Edit- I confirm that it works with the Armbian legacy kernel (4.4.198-rockchip64).
aaditya Posted December 21, 2019 Author Posted December 21, 2019 A workaround/fix for this is to edit the dts and set USB3_0 to 'host' instead of 'otg'. Found here. 1
Recommended Posts