Hi evrybody,
I tried the current Armbian images for RockPi E and found that eth0 (1GBit) is not working. I tried both Sid and Lunar Armbian flavours. Both with the same result.
I tried the Armbian images with the older V1.2 board version and everything works well. I guess the problem is related to the new RTL8211F chip.
In dmesg I can find the following errors:
mdio_bus stmmac-0: MDIO device at address 1 is missing.
rk_gmac-dwmac ff540000.ethernet end0: no phy found rk_gmac-dwmac ff540000.ethernet end0: __stmmac_open: Cannot attach to PHY (error: -19)
I have had the same issue and have been working through this the past few days.
The issue is that there are some differences between timing of the rtl8211e and rtl8211f chips. In the official debian buster release from radxa, there is a overlay which can be applied to support the newer rtl8211f chip, but this has been built using a slightly older format for the device tree.
Armbian, using a newer kernel, also has some changes and improvements to the device tree structure. There are some hints on what we need to modify here:
Based on this, I ran the following commands prior to building armbian for the Rock Pi E in order to patch the device tree file:
During guided patching, you can find the required files using find:
find . -name "rk3328-rock-pi-e.dts"
We need to patch the files for both the kernel and uboot to:
Set the tx_delay
Set the rx_delay
Rename phy-handle from rtl8211e to rtl8211f
Add an entry to identify the rtl8211f PHY (which has a device ID of 0x001cc916)
Set a max speed parameter for 1GbE
I have below for an example of the patch files that I found to work in my instance (armbian 23.05.0, debian bullseye current, kernel 5.15.110). Do note you have to make similar changes to both u-boot and kernel sources. I haven’t fully stress tested this however: