Jump to content

NanoPi M5 (RK3576): gigabit RX broken due to double RGMII delay in DTB


Recommended Posts

Posted

**Board:** NanoPi M5 (RK3576)
**Kernel:** 6.18.33-current-rockchip64 (#1 SMP PREEMPT Sat May 23 11:07:21 UTC 2026)
**Armbian build:** v26.8.0-trunk.53

## Problem

Gigabit RX is completely non-functional on `end0` (GMAC0, `ethernet@2a220000`). The interface comes up at 1000Mb/s, TX works, but no packets are ever received. DHCP never gets an OFFER, `ethtool -S end0` shows RX counters stuck at zero.

Forcing 100Mb/s via `ethtool -s end0 speed 100 duplex full autoneg off` works around the issue — RX starts working immediately.

## Root cause

The DTB sets `phy-mode = "rgmii-id"` together with `rx_delay = <0x3f>`. The RTL8211F PHY in `-id` mode already applies its own internal RX delay, and the driver applies an additional hardware delay on top of it. The double delay breaks gigabit RX entirely.

```
# /boot/dtb/rockchip/rk3576-nanopi-m5.dtb — broken
phy-mode = "rgmii-id";
tx_delay = <0x21>;
rx_delay = <0x3f>;   # <-- causes double RX delay
```

## Fix

Change `phy-mode` to `rgmii-rxid` (PHY applies RX delay internally) and remove `rx_delay`. This applies to both GMAC0 (`ethernet@2a220000`) and GMAC1 (`ethernet@2a230000`).

```
# Fixed
phy-mode = "rgmii-rxid";
tx_delay = <0x21>;
# rx_delay removed
```

After applying this fix gigabit works correctly at 1000Mb/s with full RX functionality.

## Workaround

```bash
ethtool -s end0 speed 100 duplex full autoneg off
```

Or patch the DTB manually:

```bash
dtc -I dtb -O dts -o /tmp/nanopi.dts /boot/dtb/rockchip/rk3576-nanopi-m5.dtb
sed -i 's/phy-mode = "rgmii-id"/phy-mode = "rgmii-rxid"/g' /tmp/nanopi.dts
sed -i '/rx_delay/d' /tmp/nanopi.dts
dtc -I dts -O dtb -o /boot/dtb/rockchip/rk3576-nanopi-m5.dtb /tmp/nanopi.dts
reboot
```

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