linux
linux copied to clipboard
Raspberry Pi 4/400 network interface switching between down and up status
Warning: This is a more or less a copy of the initial bug report written against Raspberry Pi OS 64bits since I thought it was 64bits-specific: https://github.com/raspberrypi/Raspberry-Pi-OS-64bit/issues/178. Let me know which one should be kept.
Current behavior:
- The interface (
eth0) of the integrated NIC of the SoC of my Rasperry Pi 4 (and 400) is constantly switching between "up" and "down" status, as reported bydmesg:
[13311.171718] bcmgenet fd580000.ethernet eth0: Link is Down
[13313.219840] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[13393.092824] bcmgenet fd580000.ethernet eth0: Link is Down
[13396.164840] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[13432.005229] bcmgenet fd580000.ethernet eth0: Link is Down
[13435.077479] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[13562.054861] bcmgenet fd580000.ethernet eth0: Link is Down
[13565.126956] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[13639.879848] bcmgenet fd580000.ethernet eth0: Link is Down
[13642.952052] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[13851.850591] bcmgenet fd580000.ethernet eth0: Link is Down
[13854.922580] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[14254.287566] bcmgenet fd580000.ethernet eth0: Link is Down
[14257.359734] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[14309.584214] bcmgenet fd580000.ethernet eth0: Link is Down
[14312.656314] bcmgenet fd580000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
- This can be seen by an ssh session freezing for a while for example.
Expected behavior:
eth0interface stays "up" after boot- the kernel only needs to brings up the interface once (at boot)
Steps to reproduce:
- Flash an SD card with Raspberry Pi OS (Lite in my case) 64bits
- Create an empty
sshfile in the/boot/directory/partition - Insert the SD card in a Raspberry Pi 4 or 400
- Power up the Raspberry Pi
- Connect via ssh to the Pi
- Update the system (
apt update && apt upgrade -y) - Reboot and reconnect via ssh
- Wait for the problem to occur
- Display the kernel buffer
Context
- This issue occurs with any fresh install of Raspberry Pi OS 64bits (I even tried with older images I still had).
- Every image was verified before flashing.
- Before reporting this issue, the system had been updated to the current versions of RPOS.
- I tried to change everything - from the power supply to the Ethernet cable, SD card, switch and even other versions of Raspberry Pi 4(00).
- Apart from the SD card, the Ethernet cable and the PSU nothing is connected to the Pi used to reproduce this issue.
- The Raspberry Pi is, of course, left in autonegociation and is assigned an IP by a DHCP server, no static IP is assigned on the device itself, not a single setting was changed.
Here are logs from a Raspberry Pi 400: rpi400_dmesg_64bits.txt
I did not find any duplicate showing this exact issue, please let me know if this is a duplicate or if I forgot any relevant detail.
Edit:
After troubleshooting for 64bits, I did the same with a 32bits version of Raspberry Pi OS, to be exhaustive, and, to my surprise, it happened as well, but at a lower frequency.
Here is the kernel log on the same device Raspberry Pi 400: rpi400_dmesg_32bits.txt
I never saw the same on my Raspberry Pi 1, 2 or 3 models B.
##Logs:
rpi4_dmesg_64bits.txt rpi400_dmesg_32bits.txt rpi400_dmesg_64bits.txt
Same problem here: Pi4, raspbian 11 32bit, with wifi and bluetooth both disabled.
I'm connected via an eth splitter (100Mb) to a MikroTik RB4011iGS router.