Raspberry Pi 4 использует встроенный Broadcom BCM54213PE PHY на той же плате что и SoC. При длительной работе без активного охлаждения PHY может вести себя нестабильно — link flaps, link drops, потеря пакетов. Чаще всего обратимо после восстановления охлаждения.

Симптомы

В journalctl -k:

bcmgenet fd580000.ethernet eth0: Link is Down
avahi-daemon[XXX]: Withdrawing address record for <IP> on eth0
dockerd[XXX]: [resolver] connect failed error="dial udp ROUTER:53: network is unreachable"

В ethtool -S eth0:

  • ненулевые rx_errors, tx_errors, rx_crc, rx_fcs_err

Внешне:

  • Pi периодически пропадает из сети на 10–60 секунд
  • За несколько секунд до полного silent hang успевает прийти avahi-withdrawal
  • При перегреве паттерн повторяется ежедневно/еженедельно

Диагностика

# Историческое: сколько Link Down за период
sudo journalctl --since '14 days ago' | grep -c 'bcmgenet.*Link is Down'
 
# Текущее состояние
sudo ethtool eth0           # Speed/Duplex/Link detected
sudo ethtool -S eth0 | grep -E 'error|drop' | grep -v ' 0$'  # ненулевые ошибки
 
# CPU temp коррелирует
vcgencmd measure_temp
cat /sys/class/thermal/thermal_zone0/temp  # in millicelsius

Если link drops коррелируют с пиками температуры (>75°C), сильно вероятно что причина thermal, а не cable/router.

Что НЕ путать с настоящей деградацией

  • Cable issue — заменить кабель и тестировать. Errors остаются → не кабель
  • Switch/router — переткнуть в другой порт. Те же — не порт
  • MTU mismatchip link show eth0 → typical 1500
  • Driver bug в конкретном ядреdmesg | grep bcmgenet на kernel BUG/Oops
  • veth-флуктуации от Dockerdmesg | grep eth0 показывает только vethXXX renamed from eth0 (это нормально при создании контейнеров), физический Link is Down отдельно

Восстановление

  1. Восстановить охлаждение — фан, радиатор, кейс с воздушным потоком
  2. Подождать стабилизации температуры (несколько часов под нагрузкой)
  3. Проверить ethtool counters — если новые errors не появляются → восстановилось
  4. Мониторить — 7 дней без Link is Down → проблема была thermal

Если не восстанавливается

PHY возможно повреждён necrotically. Варианты:

  • USB Ethernet адаптер — обойти встроенный PHY (Realtek RTL8153, ASIX AX88179 надёжны на Pi 4)
  • Замена Pi — если PHY сдох необратимо

Связано


Мета

Область:: 00 Linux