Ce qui est quelque peu dérageant quand on fait de la collecte de données avec une station météo et la récupération de consommation électrique sur un compteur EDF ou pour tout simplement s’y connecter en SSH pour faire les mises à jours Linux périodiques.
Au départ, je pensais que j’avais peut-être oublié une configuration dans mon fichier "/etc/network/interfaces" ou ailleurs, mais non semble-t-il.
En cherchant un peu sur Internet, j’ai fini pour trouver des petits scripts très simples à mettre en place pour gérer ce problème.
Cela consiste à tester si le réseau fonctionne de façon périodique en faisant un ping sur une machine locale ou distante puis à relancer l’interface réseau s’il n’y a plus de liaison.
D’abord, créer un fichier avec votre éditeur favori :
Commande:1.sudo nano /usr/local/bin/wifi_autoreboot.sh
Avec ce contenu en remplaçant ip_a_tester par l’IP de la machine à tester :
Code:1.
2.
3.
4.
5.
6.
7.
8.
9.#!/bin/bash ping -c2 ip_a_tester > /dev/null if [ $? != 0 ] then ifdown --force wlan0 ifup wlan0 fi
Puis rendre le script exécutable :
Commande:1.sudo chmod +x /usr/local/bin/wifi_autoreboot.sh
Et pour finir, rendre le lancement de ce script périodique via une tâche Cron pour effectuer la vérification toutes les 5 minutes, en ajoutant une ligne dans "/etc/crontab" :
Commande:1.sudo nano /etc/crontab
Et ajouter :
Code:1.*/5 * * * * root /usr/local/bin/wifi_autoreboot.sh
Bon, au final, ce script peut servir aussi sur un PC classique avec Wifi. ;)
source : http://alexba.in/blog/2015/01/14/automatically-reconnecting-wifi-on-a-raspberrypi/