Rockchip Ethernet Link Up but No Traffic (RGMII tx_delay / rx_delay)
Link is Up - 1Gbps/Full but no DHCP / no traffic
The PHY negotiates a gigabit link, but packets are corrupted or dropped, so DHCP fails. This is the classic RGMII clock-to-data delay mismatch.
Applies to: RK3588 RK3588S RK3576 RK3568 RK3566 RK3399 RK3328 RK3288
Symptoms
- "Link is Up - 1Gbps/Full" in dmesg, but no DHCP lease
- Works at 100 Mbps, fails at 1000 Mbps
- Rising rx_crc_errors in ethtool -S
Common causes
- RGMII delay added twice (PHY internal + MAC delay line) or not at all
- Wrong phy-mode (rgmii vs rgmii-id / rgmii-rxid / rgmii-txid)
- Delay values copied from a different board layout
How to fix it
- Confirm it is timing
ethtool -s eth0 speed 100 duplex full autoneg off # works? → timing ethtool -S eth0 | grep -iE 'crc|err' - Pick one owner for each delay
/* MAC adds delays */ &gmac0 { phy-mode = "rgmii"; tx_delay = <0x43>; rx_delay = <0x33>; }; /* PHY adds both delays */ &gmac0 { phy-mode = "rgmii-id"; tx_delay = <0x0>; rx_delay = <0x0>; }; - Tune on your PCB
Vendor kernels include an RGMII loopback delay-scan helper in the GMAC sysfs node (see Rockchip's GMAC developer guide). Use the centre of the passing window.
Go deeper
FAQ
What does "Link is Up - 1Gbps/Full but no DHCP / no traffic" mean?
The PHY negotiates a gigabit link, but packets are corrupted or dropped, so DHCP fails. This is the classic RGMII clock-to-data delay mismatch.
What causes "Link is Up - 1Gbps/Full but no DHCP / no traffic"?
RGMII delay added twice (PHY internal + MAC delay line) or not at all; Wrong phy-mode (rgmii vs rgmii-id / rgmii-rxid / rgmii-txid); Delay values copied from a different board layout.
How do I fix "Link is Up - 1Gbps/Full but no DHCP / no traffic"?
1. Confirm it is timing 2. Pick one owner for each delay 3. Tune on your PCB: Vendor kernels include an RGMII loopback delay-scan helper in the GMAC sysfs node (see Rockchip's GMAC developer guide). Use the centre of the passing window.
Related issues
PCIe Link FailRockchip "PCIe Link Fail" / "Phy link never came up": NVMe Not Detectedstmmac_open: Cannot attach to PHY (error: -19)Rockchip Ethernet "Cannot attach to PHY (error: -19)": Fixrknn_init fail! ret=-6 (RKNN_ERR_MODEL_INVALID)RKNN "rknn_init fail! ret=-6" RKNN_ERR_MODEL_INVALID: FixRKNN_ERR_TARGET_PLATFORM_UNMATCH (-13)RKNN_ERR_TARGET_PLATFORM_UNMATCH (-13): Model Built for Another SoCVIDIOC_STREAMON returned -1 (Broken pipe)Rockchip Camera "VIDIOC_STREAMON returned -1 (Broken pipe)": Fix[drm] Cannot find any crtc or sizesRockchip HDMI No Display: "[drm] Cannot find any crtc or sizes"