Plop,
J’ai une raspberry pi 0 wifi, c’est super pour pas mal de choses, dans mon cas pour émuler un pont hue, mais bien obligé de reconnaître que l’antenne wifi est pourrie :/
Du coup étant un peu à la limite de portée j’ai souvent des décos et comme certain le savent une Raspberry ne se reco pas toute seule. Du coup obligé de reboot la raspberry et c’est un peu fatiguant à force…
Bon la solution évidente c’est le test de ping régulier suivi d’un reboot de la carte réseau s’il est négatif.
Et comme je n’aime pas ré-inventer la roue j’ai pris l’article d’Alex Bain.
On édite notre script :sudo nano /usr/local/bin/wifi_rebooter.sh
#!/bin/bash
# L'adresse IP du serveur que vous voulez pinger (8.8.8.8 est un serveur DNS public de Google)
SERVER=8.8.8.8
# Envoyer seulement 2 pings, et envoyer la sortie vers /dev/null
ping -c2 ${SERVER} > /dev/null
# Si le code retour du ping ($?) est différent de 0 (qui correspond à une erreur)
if [ $? != 0 ]
then
# Restart the wireless interface
# Relancer l'interface wifi
ifdown --force wlan0
ifup wlan0
echo `date +%Y-%m-%d:%Hh%M` >> /home/bizbi/recoWifi.log
fi
Comme vous pouvez le voir j’ai rajouté une ligne afin d’avoir un historique des reconnections.
On rend le script executablesudo chmod +x /usr/local/bin/wifi_rebooter.sh
Puis on ajoute une ligne à crontab pour l’exécution regulière du scriptsudo nano /etc/crontab
*/5 * * * * root /usr/local/bin/wifi_rebooter.sh
Ici le temps est de 5 minutes.
source : alexba