Raspberry Pi – Reboot wenn kein Netz / Linux Watchdog

Ich verwende diverse Raspberry PIs als IOT Gerät. In seltenen Fällen kommt es vor, dass der Raspberry PI die Netzwerk-Verbindung verliert. Dies nicht nur bem wlan0- sondern auch beim eth0-interface. Ich konnte bis jetzt nicht herausfinden, wieso das passiert. Es kommt aber alle 4-6 Monate mal vor. Da die Ursachenforschung zu aufwändig ist, löse ich dieses Problem mit dem Linux-Watchdog.

Watchdog ist ein Linux-Demon, der das OS geordnet neu startet, wenn ein Test fehlschlägt.

Installation Watchdog

sudo apt-get install watchdog

Backup watchdog Config

sudo cp /etc/watchdog.conf /etc/watchdog.conf.backup

Konfiguration Watchdog:

sudo vi /etc/watchdog.conf 

ping = 192.168.1.1  # Ziel-IP-Adresse des Ping-Tests (z.B. Router) 
interface = wlan0   # Schnittstelle wlan0 verwenden
retry-timeout = 180  # Startet neu, wenn ein Test länger als 180 Sekunden fehlschlägt
interval = 5        # Teste alle 5s

Nach einem restart wird watchdog die IP über das entsprechende interface regelmässig testen. Wenn die Ziel-IP nicht antwortet, wird der Raspberry Pi neu gestartet.

Reminder bei Login

Um nicht zu vergessen, dass diese Logik implementiert ist, gebe ich bei jeder Anmeldung an das System (mit dem User pi) eine Info-Meldung aus:

sudo vi /home/pi/.profile
echo " "
echo "************************************************"
echo "Warnung: Wenn das Netzwerk ausgefallen ist, wird dieses System neu gestartet."
echo "Kommentieren Sie die Zeile ping = 192.168.1.1 aus /etc/watchdog.conf aus, um Neustarts zu vermeiden."
echo "************************************************"
echo " "

Status von Watchdog

sudo service watchdog status