Wifi Self Healing

2021-11-08

Wenn man die WLAN Verbindung nur per wpa_supplicant.conf parametriert hat, wird diese bei einem Verbindungsabbruch nicht automatisch wiederhergestellt.

Eine einfache Methode dies zu tun ist per cron alle n Minuten per ping die Verbindung zu überprüfen und bei Bedarf das Interface zu deaktivieren und anschließend wieder zu aktivieren.

Dafür muss ein Skript angelegt werden.

/pfad/zu/checkwifi.sh

ping -c4 8.8.8.8 > /dev/null

if [ $? != 0 ]
then
  echo "No network connection, restarting wlan0"
  ip link set wlan0 down
  sleep 5
  ip link set wlan0 up
fi

Anstelle vom Google DNS (8.8.8.8) würde ich mein Gateway aus der /etc/resolv.conf eintragen.

Anschließend die Berechtigungen passend setzen.

Dafür als root

chmod 755 /pfad/zu/checkwifi.sh
chown root:root /pfad/zu/checkwifi.sh

und ebenfalls als root den cron job anlegen crontab -e

*/5 * * * * /pfad/zu/checkwifi.sh >> /dev/null 2>&1

dadurch wird alle 5 Minuten das Skript ausgeführt und bei Bedarf die Verbindung neu aufgebaut. Das Zeitintervall kann man nach Wunsch anpassen.

rpiwpa_supplicant

SONOFF Si7021 Support zu Micropython hinzufügen

tar - Einmaleins