Le routeur WRT54GL possede deux boutons: un bouton de réinitialisation et un bouton SecureEasySetup. Lors de l'installation d'OpenWRT c'est bouton ne servent à rien. Voici comment leur donner une utilité comme activer et désactiver le wifi.
Script d'activation/désactivation du wifi
Dans un premier nous allons créer un script qui permettent de changer l'état du wifi. C'est à dire l'activer s'il est éteint et l'inactiver dans le cas contraire.
Pour cela il suffit de créer le fichier /sbin/woggle
(ou avec un autre
nom). Contenant ceci:
#!/bin/sh
case "$(uci get wireless.@wifi-device[0].disabled)" in
1) uci set wireless.@wifi-device[0].disabled=0
wifi
echo 1 > /proc/diag/led/ses_white
;;
*) uci set wireless.@wifi-device[0].disabled=1
wifi
echo 0 > /proc/diag/led/ses_white
echo 2 > /proc/diag/led/wlan
;;
esac
Le script commence par récupérer l'état du wifi (uci get
wireless.@wifi-device[0].disabled
). S'il est désactivé (égale à 1
), il
l'active et allume la LED du bouton SES. Dans le cas contraire il le désactive
et éteint les LED du bouton SES et du wifi.
Il ne faut pas oublier de le rendre exécutable avec la commande:
# chmod +x /sbin/woggle
Pour changer l'état du wifi il suffit de lancer le script sur la ligne de commande:
root@openwrt:# /sbin/woggle
Lien avec le bouton SES
Maintenant que nous avons un script qui change l'état du wifi il suffit de le lier au bouton SES, pour qu'il soit exécuter chaque fois que ce bouton est pressé.
Pour cela cela se passe via la gestion des événements hotplug. Il faut créer un
répertoir button
dans le repertoire /etc/hotplug.d
et créer ensuite un
script nommer par exemple 01-radio-toggle
, contenant ceci:
#!/bin/sh
if [ "$BUTTON" = "ses" ] && [ "$ACTION" = "pressed" ] ; then
( sleep 1; /sbin/woggle ) &
fi
Maintenant pour activer ou désactiver le wifi il suffit d'appuyer sur le bouton SES.
Sources
[[http://wiki.openwrt.org/doc/howto/wifitoggle|Wifi Toggle]]