Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

USB3 port on ROCK64 is not functional since Linux 5.15

Featured Replies

Since Linux 5.15, the USB3 port on ROCK64 does not work anymore with Armbian. The following kernel errors are shown:

usb 5-1: USB disconnect, device number 2
[...]
usb usb5-port1: Cannot enable. Maybe the USB cable is bad?

This has been reported by multiple users with multiple drives and cables, also disabling UAS does not help. lsusb shows the drive/device, but lsblk does not.

 

I know the ROCK64 is not currently supported by Armbian/has no maintainer, so I'm not expecting anything, just posting this as information and probably someone with more insights into the rockchip64 kernel build has an idea or workaround.

Solved by TonyMac32

  • Author

v21.08.2 (Linux 5.10) is the latest which works. U-boot seems irrelevant since only updating the kernel breaks it and updating/flashing U-boot doesn't solve it.

 

It works on NanoPi NEO3 (same SoC), which probably indicates an issue with the device tree, if the USB3 host is the same?

So far no luck.  We do have a redundant patch adding the nodes, but that isn't the culprit.  The driver complains it doesn't have the host-drv pin defined, but it's shared with the USB2 (same situation between Renegade and Rock64)

 

EDIT:  A PHY driver was added back in the dark days before USB3 support by the kernel.  It is only used by the Rock64 and Renegade, (and apparently also the RK3328 Station M-whatever).  I've removed the entries and USB3 is working again now that mainline supports it without said special case driver.  I will open a PR tonight with the fixes.

The only way I found to get it work was unbind the device and rebind it again:

 

# printf 'ff600000.dwc3' > /sys/bus/platform/drivers/dwc3/unbind
printf 'ff600000.usb' > /sys/bus/platform/drivers/dwc3/unbind
sleep 5
# printf 'ff600000.dwc3' > /sys/bus/platform/drivers/dwc3/bind
printf 'ff600000.usb' > /sys/bus/platform/drivers/dwc3/bind
 

If it is already working, I recommend syncing and powering off the device before (sync /dev/sdx; udisksctl power-off --block-device /dev/sdx), unbind it (if you want to do it for testing purposes).

  • Igor locked this topic
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.