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