Jump to content

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


Gullik
Go to solution Solved by Gullik,

Recommended Posts

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

 

 

 

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • 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

Link to comment
Share on other sites

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.

 

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

 

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

2 minutes ago, Gullik said:

Yes, I understand, but it is ...edge... is'nt it?

 

Packages are built daily, not after every change on main. The current package on armbian beta repo was built on 8:22 11 April. The fix got merged after this build. 

 

If you want to try the fix, you can build package using Armbian build system

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines