r/raspberry_pi • u/Confident_Hotel_7579 • 9d ago
Troubleshooting Raspberry Pi Ethernet Link Flapping with High mdf_err_cnt (Missed Data Frames) and RX Errors
I am experiencing chronic ethernet instability on my Raspberry Pi 4. The connection constantly drops and reconnects every few minutes, causing RDP and SSH sessions to disconnect entirely.
Environment:
- Hardware: Raspberry Pi 4 Model B (8GB RAM)
- Interface: eth0 (using the
bcmgenetdriver) - IP Configuration: Static IP (192.168.0.100)
- Connectivity: Originally running alongside wlan0, but the issue persists even when Wi-Fi is completely disabled via
nmcli.
Diagnostic Logs & Evidence:
Checking dmesg / system logs reveals that the Ethernet PHY is physically losing the link and resetting:
text
22:04:53 eth0: Link is Down
22:04:57 eth0: Link is Up - 1Gbps/Full
22:08:28 eth0: Link is Down
22:08:34 eth0: Link is Up - 1Gbps/Full
Use code with caution.
Running sudo ethtool -S eth0 explicitly points to a physical or hardware-level corruption issue on the receive side, showing a high counter of Missed Data Frames / MAC Data Filter Errors:
text
rx_errors: 10
tx_errors: 0
rx_dropped: 0
tx_dropped: 12
mdf_err_cnt: 194
Use code with caution.
Troubleshooting Steps Already Taken:
To isolate the issue, I have performed the following troubleshooting steps, none of which resolved the flapping behavior:
- EEE (Energy Efficient Ethernet) Tweak:
ethtool --show-eeeshowed EEE asenabled - inactive(Link partner advertised modes: Not reported). I forced it completely off usingsudo ethtool --set-eee eth0 eee off, but the link continued to drop. - Forced 100Mbps Speed: To rule out a 1Gbps signal integrity issue, I disabled auto-negotiation and forced the link to 100Mbps Full Duplex (
sudo ethtool -s eth0 speed 100 duplex full autoneg off). The interface still dropped the link and failed to maintain a connection. - Wi-Fi Disabling: Turned off the Wi-Fi radio entirely to prevent routing conflicts, ensuring
eth0was the exclusive interface. No changes. - Physical Cable & Port Swap: Completely replaced the Ethernet cable with a known working cable and switched to alternative ports on the router/switch side. The errors and link drops persist.
Given that the issue happens regardless of the speed configuration (1Gbps vs 100Mbps), EEE settings, or the physical cable used, I suspect a hardware/PHY component degradation or a deeper driver issue within the bcmgenet kernel module on this Pi 4 board.
Any advice on whether this indicates a permanent hardware failure of the network chip, or if there are any specific kernel parameters I should tweak to mitigate this?
4
u/snowtax 8d ago
I’ve seen some weird stuff over the years. Just working through all possibilities …
Do you have anything else wired to the router/switch? Are any of those links showing errors from their respective devices? Problem could be the router/switch itself.
If no errors on other links, then possibilities include firmware, Linux kernel driver, or actual hardware near-failure.
If you haven’t already, double-check that you’re running the latest boot firmware and eeprom versions.
After that, I would (temporarily) get a new SD card and try a fresh install of the latest version of Raspberry Pi OS. With that running, see if you’re still getting errors on the link.
If none of that resolves the issue, it’s possible that your hardware is close to failing. That could be something like a bad solder joint or failing chip. Honestly, at that point I would just buy a new Pi computer.
1
2
u/Gamerfrom61 8d ago
Does your switch support EEE?
I had to turn this off at the switch to get a stable connection as changing the Pi end had no impact.
8
u/Significant-Price695 8d ago
Link dropping every few mins with rx errors usually ends up being the cable or the switch port honestly. Swap the cable first (a known good cat6, not the one that's been in the wall for years) and try a different port. If it still flaps, try 'sudo ethtool --set-eee eth0 eee off', a few Pi 4s get weird with Energy Efficient Ethernet on certain switches. Also worth checking the PSU, undervoltage can make the PHY do odd things.