Page 1 sur 2

Script de Test du Wifi

Publié : 25 oct. 2015, 18:14
par LSBdu68
Bonjour à tous,

Existe t'il un script de test pour mon Wifi qui plante de façon aléatoire sans que numéricable ne me donne de solution ?

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 19:58
par LSBdu68
En effet ma box deconne parfois et nous perdons le wifi. Le résultat est que domoticz qui est également en Wifi reste injoignable et il faut relancer le PI.
Donc si il y avait une solution pour éviter cela, se serait bien ....

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 20:20
par patrice
Bonsoir
Tu peux envisager un script comme cela qui teste si il peut joindre google.com et qui dit oui ou non
Tu ajoutes tes instructions dans le bloc "ca marche pas" -> allumer sirene, fermer les stores de la maison et tu sera au courant :mrgreen:

Code : Tout sélectionner

#!/bin/sh
host=www.google.com
count=$( ping -c 1 $host | grep icmp* | wc -l )
if [ $count -eq 0 ]
then
    echo "Impossible de joindre $host"
else
    echo "Oui il est en ligne"
fi

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 20:28
par LSBdu68
Merci Patrice, mais c'est un peu compliqué pour moi ...... :geek:
Comment je peux faire pour que si c'est non, ca relance la connexion wifi ou ca redémarre le pi?

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 20:58
par deennoo
LSBdu68 a écrit :Merci Patrice, mais c'est un peu compliqué pour moi ...... :geek:
Comment je peux faire pour que si c'est non, ca relance la connexion wifi ou ca redémarre le pi?
J'ai un peu le meme problème, avec mon wifi également.

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 21:02
par deennoo

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 21:46
par ganq
Je ne comprends pas, c'est le Pi ou la box qu'il faut redémarrer ?

Pour le Pi un os.execute('reboot')
Pour la box, une prise télécommandable..

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 21:51
par LSBdu68
C'est le pi car la perte de wifi ne dure que quelques minutes. L'idéal serait de juste relancer la connexion wifi du pi.

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 23:16
par patrice
Au père Noel commandez 2 boitiers CPL :lol:

Sinon les problèmes de déconnexion du wifi arrivent souvent du mode économie d’énergie qui se déclenche sur les realtck 8129cu
Pour confirmer que tu as bien ce modèle tape

Code : Tout sélectionner

dmesg | grep 8192cu
si tu obtiens

Code : Tout sélectionner

[ xxxx] usbcore: registered new interface driver rtl8192cu


fais cela

Code : Tout sélectionner

Create and edit a new file in /etc/modprobe.d/8192cu.conf

    sudo nano /etc/modprobe.d/8192cu.conf

and paste the following in

    # Disable power saving
    options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1 

Then reboot with sudo reboot



si ce n'est pas un rtl8129
modifie comme cela le script

Code : Tout sélectionner

#!/bin/sh
host=www.google.com
count=$( ping -c 1 $host | grep icmp* | wc -l )
if [ $count -eq 0 ]
then
    echo "Impossible de joindre $host"
    sudo reboot
else
    echo "Oui il est en ligne"
fi
cela reboote le pi si il n'y a plus de connexion Internet

puis ce script tu le place dans crontab pour le déclencher par exemple toutes les 2 minutes
va voir ici http://easydomoticz.com/domoticz-et-scripts-les-bases/
tout à la fin de l'article
et ici http://doc.ubuntu-fr.org/cron

Et voila

Re: Script de Test du Wifi

Publié : 25 oct. 2015, 23:26
par rimram31
Pour relancer juste la connexion wifi, si ton interface wifi s'appelle wlan0, un ifdown wlan0 puis ifup wlan0, actions qui peuvent être déclenchées sur la perte d'internet comme proposait patrice dans son script. Si c'est la seule connexion, on peut pinger l'ip de la box (je ne connais pas numericable). Autre solution souvent plus efficace, relancer les services reseau /etc/init.d/networking restart

Après, on peut reprendre le script de patrice avec un cron toute les 5mn par ex: dans l'idee ping de la box numericable, si pas ok, redemarrage des services reseau. On doit pouvoir faire la meme chose sous DZ ping et os.execute.

Code : Tout sélectionner

#!/bin/sh
ip_box="192.168.1.1"
ping -c1 -w1 $ip_box 2>&1 >>/dev/null
if [ $? -ne 0 ]; then
    /etc/init.d/networking restart
fi
A mettre en cron dans /etc/crontab pour que ça soit exécuté en root => */5 * * * * root ...

En lua sous DZ, ça pourrait donner quelque chose comme ça dans un script_time_xxx mais j'ignore si un script lua dz peut faire du sudo:

Code : Tout sélectionner

ip="192.168.1.1"
if (not os.execute('ping -c1 -w1 '..ip) then
    os.execute(sudo /etc/init.d/networking restart)
end
Edit: oops; désolé patrice post croisés