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.

Orange PI 5 (b & +) , RK3588(s) USB thread

Featured Replies

Since I am interested in the connection ability, I figured the info we gather should go into ONE thread. I have tried to build new kernels, but can only see USB controllers and devices two ports.

 

I have seen a lot of work by Sebasitian Reichel @ Collabora, and his patches, but these do not seem to have the desired result on my test board. Orange PI 5.

 

There seems to be an issue with the port mux,  FUSB302, that either connects the last USB to the "vertical" port or to the "USB C" connector.

 

I will comment my findings and attempts to correct this in this thread, and think we could find out where we are if you add your findings, successes and failures,

rather than cluttering everywhere

 

Regards,

 

Gullik

 

 

 

 

Solved by Gullik

  • Author

This is a link to collaboras work on USB (and other issues)

 

https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md

Item 3 is related to the rk3588s which is common.

 

Item 8 describes the FUSB302 port select/detect chip.

This is an issue in the Rock5b but the same chip is present in the OPI 5. However, it is not clear that the modifications will

address the OPI5 correctly.

 

Regards,

G

I'm glad you started this thread Gullik. I too am keen to see the vertical port and USB-C work. So far, running 6.8rc1, they don't. I haven't tried the collabora kernel yet on my OPi5, have you? That is off of collabora's branch, so has the latest patches that haven't been upstreamed yet, but the latest release of that is on 6.7.0.

 

Separately, I have an issue with even the two horizontal USB ports. When using a 2.5" portable HDD, normally things work ok, but heavy activity, usually when I'm rsync'ing, leads to USB disconnects. Is anyone seeing this?

 

[1294682.126819] usb 2-1: USB disconnect, device number 8
[1294682.127247] sd 3:0:0:0: [sdf] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=0s
[1294682.127256] sd 3:0:0:0: [sdf] tag#0 CDB: Read(10) 28 00 00 0e 59 d8 00 00 08 00
[1294682.127261] blk_print_req_error: 4 callbacks suppressed
[1294682.127263] I/O error, dev sdf, sector 940504 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[1294682.139910] device offline error, dev sdf, sector 940504 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[1294682.139931] buffer_io_error: 256 callbacks suppressed
[1294682.139934] Buffer I/O error on dev sdf1, logical block 117307, async page read
[1294682.140082] device offline error, dev sdf, sector 361648 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[1294682.140105] device offline error, dev sdf, sector 361648 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[1294682.140109] Buffer I/O error on dev sdf1, logical block 44950, async page read
[1294682.140442] device offline error, dev sdf, sector 2235835648 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[1294682.140461] device offline error, dev sdf, sector 2235835648 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[1294682.140464] Buffer I/O error on dev sdf1, logical block 279479200, async page read
[1294682.140617] device offline error, dev sdf, sector 359856 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[1294682.140629] device offline error, dev sdf, sector 359856 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[1294682.140632] Buffer I/O error on dev sdf1, logical block 44726, async page read
[1294682.141065] device offline error, dev sdf, sector 941832 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[1294682.141114] device offline error, dev sdf, sector 941832 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[1294682.141126] Buffer I/O error on dev sdf1, logical block 117473, async page read
[1294682.141452] Buffer I/O error on dev sdf1, logical block 44798, async page read
[1294682.159672] Buffer I/O error on dev sdf1, logical block 44683, async page read
[1294682.162683] Buffer I/O error on dev sdf1, logical block 115454, async page read
[1294682.164797] Buffer I/O error on dev sdf1, logical block 44930, async page read
[1294682.170128] Buffer I/O error on dev sdf1, logical block 44756, async page read
[1294683.623276] sd 3:0:0:0: [sdf] Synchronizing SCSI cache
[1294683.623322] sd 3:0:0:0: [sdf] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[1294683.899994] usb 2-1: new SuperSpeed USB device number 9 using xhci-hcd
[1294683.918703] usb 2-1: New USB device found, idVendor=0480, idProduct=0900, bcdDevice= 3.15
[1294683.918714] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1294683.918720] usb 2-1: Product: External USB 3.0

 

  • Author

Hello sugatam,

 

I have tried all edge kernels, and built my own 6.8-rc4 kernel, but these patches does not seem to have made it

into those branches yet. No cigar!

 

I have not tried collaboras kernel yet, but that would be interesting. About your stability problems, I have only

tried things like wifi, I might have observed instability, but did not connect it with the USB, but rather with wifi.

 

I will check logs next time I observe it....

 

Regards,

Gullik

  • Author

Kernel 6.8-rc6 does not fix this, so it seems all patches have not had effect.

Patches have been available for some time, but do not seem to have propagated up.

 

https://lwn.net/Articles/962547/

 

This is probably the significant log from dmesg

 

[   17.339454] i2c 6-0022: deferred probe pending: typec_fusb302: cannot register tcpm port
[   17.339462] platform fc000000.usb: deferred probe pending: dwc3: failed to initialize core

 

Gullik

  • Author

And, now edge is kernel 6.8.1. However, no vertical USB .

 

syslog:

 

2024-03-20T11:06:51.630382+01:00 orangepi5-2 kernel: platform fc000000.usb: deferred probe pending: dwc3: failed to initialize core
2024-03-20T11:06:51.630400+01:00 orangepi5-2 kernel: i2c 6-0022: deferred probe pending: typec_fusb302: cannot register tcpm port

 

Is this just a lack of enabling Sebastian Reichels patches on the orange pi 5, or is there some component missing?

Device tree??

 

Is there something I could do myself, I could spend some hours if I understood better where to start.

 

Gullik

 

 

  • Author

Well, I downloade and built a new armbian on my OPI 5.

 

I selected the "vendor kernel" and I changed the dwc3 dual role to host only.

 

The kernel that was built was 6.1.43, and I could finally see the missing USB port.

 

I am right now rebuilding the "edge kernel" with the same host only mode,

and will check and report back.

 

So, a fall in the forward direction.......

 

Gullik

  • Author

And, I have now built jammy_desktop on kernel Armbian-unofficial_24.5.0-trunk_Orangepi5_jammy_vendor_6.1.43_xfce_desktop

 

On this kernel usb also works.

 

Besides, my 8821cu wifi adapter was generated in, so I did not have to add and compile driver, but it came alive automaticaly

 

I will explore status in other areas, but this kernel seems best for Orange PI 5 so far....

 

Gullik

  • Author

For the orange pi 5, this kernel, 6.1.43-vendor-rk35xx,  seems like the most complete.

The 6.8 versions does not seem to have received all the patches.

Would this now be the time to get rid of the 5.10 kernel, to bring more testing to

the 6.X line?

 

I have now upgraded my PI 5 computers to this, and will check out issues posted

to see if there is anything else missing, or if there are stability problems.

 

Gullik

  • Author
  • Solution

And the Armbian_24.5.0-trunk.260_Orangepi5_noble_vendor_6.1.43_xfce_desktop.img also works wrt USB.

Adding a second wifi card, it shows in lsusb, and the driver can be loaded, but there is no wlan interface.

So, now this thread is obsolete.....

 

Gullik

I tried Armbian_24.5.0-trunk.257_Orangepi5_noble_vendor_6.1.43_xfce_desktop.img but the USB port is still not accessible.

 

The fact that there is a solution available is of course good though and will no doubt find it's way into new builds.

 

 

  • Author

And the same goes for:

Armbian-unofficial 24.5.0-trunk Jammy with bleeding edge Linux 6.8.4-edge-rockchip-rk3588

 

which I built.

How to apply Sebastien Reichels USB patches to the 6.8 kernel?

Do I put his patches in userpatches after cloning Armbian?

 

Best Regards

Gullik

Did you try the the latest 6.9rc collabora branch? The build was just moved by ColourfulRhino yesterday from 6.7.0 to 6.9.0rc2. This kernel should have all the USB patches. I'm not near my OPi5 otherwise I'd have tried it.

  • Author

How do you build it? I have been using the "standard build procedure", and I only get an option to build standard, vendor or edge kernels, edge seems

to be 6.8.4. Where do I modify for a different kernel git url? I could well spend the work and effort....

 

Gullik

 

 

I didn't build it, just installed the kernel it from the beta armbian repo via the following commands:

 

apt-get install linux-dtb-collabora-rockchip-rk3588 linux-image-collabora-rockchip-rk3588 \
                             linux-headers-collabora-rockchip-rk3588 linux-u-boot-rock-5b-collabora \
                             armbian-bsp-cli-rock-5b-collabora 

 

My apt sources.list has:

 

http://beta.armbian.com bookworm main bookworm-utils bookworm-desktop

 

  • Author

Armbian 24.5.0-trunk.404 Noble ttyS2 has not fixed the USB.

 

It only displays a black screen, so something is wrong with the HDMI also.

 

With a serial console I can see it boot up.

 

These are the USB related log entries from dmesg

 

[   17.123480] i2c 6-0022: deferred probe pending: typec_fusb302: cannot register tcpm port
[   17.123494] platform fc000000.usb: deferred probe pending: dwc3: failed to initialize core
[   32.053018] vdd_gpu_s0: disabling


root@orangepi5:~#

 

Regards,

 

Gullik

  • Author

An apt update/upgrade fixed the video problem, and upgraded to trunk.405.

 

After that I have a seemingly working system, but lsusb only shows 6 ports.

webjorn@orangepi5:~$ lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=rtw_8821cu, 480M
/:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
    |__ Port 001: Dev 002, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 001: Dev 002, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 006.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
webjorn@orangepi5:~$

 

webjorn@orangepi5:~$ dmesg | grep i2c
[    1.777030] i2c_dev: i2c /dev entries driver
[   16.267158] i2c 6-0022: deferred probe pending: typec_fusb302: cannot register tcpm port
[   18.392713] dwhdmi-rockchip fde80000.hdmi: i2c read time out!
webjorn@orangepi5:~$

 

Regards

G

  • Author

Hmmm.....

 

There is no orangepi-5.dtb, but there is a ornangepi-5-plus.dtb

 

Using armbian-config to browse the dtb, it looks as that one is used.

 

Are they the same??

 

G

  • Author

Right you are Efe,

 

I am now running Armbian 24.5.0-trunk.407 Noble with bleeding edge Linux 6.8.5-edge-rockchip-rk3588

 

And, yes, I finally have all the USB ports....

 

On to development, and testing the functionality, hopefully on the route to mainline....

 

Regards,

 

G

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

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.