Rock 5B vendor U-Boot ethernet support

Hi!

I am building the vendor uboot from https://github.com/radxa/u-boot/tree/stable-5.10-rock5 with ./make.sh rock-5b-rk3588 but there is no Ethernet support.

After looking at the schematics, seems like Ethernet is behind PCIe, is there any plans to add ethernet support to vendor u-boot?

It’s unlikely to happen in the near future. There is no rtl8125 driver for u-boot at the moment, unless someone port it from the kernel to u-boot.

Hi,
I have encountered the same problem. After trying to get U-Boot to PXE-Boot for a while, I stumbled upon this post, which explains why I never got it to work.
Are there guides on how to port the driver from the kernel to U-Boot? I would love to give it a shot, but thats new for me. Maybe @jack wants to support me a bit?

We enabled USB network adaptor support in our downstream u-boot branch based on radxa sources at https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot/-/tree/RADXA+USB

We have stopped development with downstream u-boot and hope to enable PCIe networking in the upstream u-boot.

2 Likes

you broke some things to get a mac from your usb device ?

uboot isnt that important , npu ,vop2 better to mainline

usb networking was already broken in downstream u-boot, we fixed it. FTR, we need networking in bootloader to load images in LAVA so we can automatically test linux-next in KernelCI :wink:

Yes, those are on the list. Our status is at: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md

2 Likes

Well done! Looking forward to seeing more progress on VPU.

Also, it’d better to remove the ‘Pi’ from the board names. This generation are called Rock 5A and 5B.

1 Like

@obbardc, i am not a developer, but does this mean that the default ethernet does not support u-boot, but you guys have managed to get USB --> Network adapter to work with U-boot? So i only need a network USB adapter to be able to boot images from a PXE server or so?

And if yes, are there certain type of USB --> Networkadapters only supported?

这很棒呀,以后安装系统,可以直接网络安装

We added USB networking support to our branch of the vendor tree here: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot/-/tree/RADXA+USB

We have also added USB networking support to mainline U-Boot and also have got PCIe networking support going there also. It’s available here: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot/-/tree/rk3588-rock5b

2 Likes

I appreciate you guys interact with the community directly. Thanks for that.

Hi @obbardc,

when you say that you have got PCIe networking support going, does that mean that ROCK5B can use the rtl8125bg then? Or is that only the foundation and the driver for rtl8125bg still has to be ported to uboot? I do not quite understand the current progress regarding the network support for ROCK5B :smiley:

Greetings
-cuemaxx

Hi!

Ethernet is all working in mainline U-Boot (it is waiting to be merged). You can see the information here: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/upstream_uboot.md

and the latest source branch is available at: https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot/

2 Likes

Thank you for your wonderful work.
But, unfortunately, it works only under certain conditions.

The specific condition here means only the first time when the power is turned on.
“u-boot” is a boot loader, main task is to boot kernel & OS.
And once the system is booted, the added features will not function properly until the system is powered off.
This means that the added functionality will not work properly if you use the more common reboot method (the reboot command).

I saw the added code, but the processing around Phy is almost untouched.
Also, the “reset” pin of the device (RTL8125B) is designed so that it cannot be controlled from software due to the hardware design.
So, once someone else (kernel) initializes Phy to a high-level, it will cause symptoms like this, I think so.


We recommend that you specify that you have such a problem.

Connection to a laptop worked fine in 100 Mbps mode.
1000 Mbps mode is not working at the moment.

I think that there are very few people who can read this note and estimate the above issues.
(It took me about three days to arrive at this fact.)

Hi,
The rock5b PCI-E Ethernet support we added to U-Boot is just to be able to boot the kernel from a network share. This can be useful for automated boot testing (e.g. in KernelCI). This is limited to 100Mbit but that shouldn’t really be too much of an issue as it is only used for booting.

The Ethernet should also be working in the kernel at 1Gbit, and also work across reboots. I am not sure what your issue is? It should also work over reboots etc. If it doesn’t work for you in mainline kernel/u-boot, can you please explain what happens?

Is that clear or have I missed your question @t4_4t ?

Also, as an update to the community, we are building Debian-based images for rock5b with mainline u-boot/kernel at https://gitlab.collabora.com/hardware-enablement/rockchip-3588/debian-image-recipes

We are looking at adding rock5a support to these images also.