Wifi à la demande avec le vénérable Linksys WRT54G

Dans le cadre de mon travail, il m'a été demandé de mettre en place pour un centre d'animation un petit réseau wifi afin que les adhérents puissent se connecter à Internet : deux ordinateurs fixe sous Debian et un point d'accès Wifi. J'ai donc recyclé une vieille unité centrale pour en faire un petit routeur proxy filtrant avec ipfire et un vénérable Linksys WRT54G qui traînait.

Les postes sous Debian sont en accès libre toute la journée mais les animateurs voulaient que le wifi soit activé certains jours de 14h à 18h et éventuellement à la demande. Le WRT54G sert à la fois de switch réseau et de point d'accès Wifi. Bien entendu il y a OpenWRT d'installé dessus avec le SSH d'activé (son adresse est 10.0.0.250).

Mise en place d'un script pour l'activation-désactivation du Wifi

La première étape est la création d'un script shell pour activer désactiver l'interface wifi du Linksys. Connectons nous à notre Linksys

ssh root@10.0.0.250

Créons le fichier contenant le script, rendons-le exécutable et ouvrons-le avec vi.

touch /sbin/wtoggle.sh
chmod + x /sbin/wtoggle.sh
vi /sbin/wtoggle.sh

Il suffit maintenant de coller les commandes ci-dessous.

#!/bin/sh

device="wl0"
case $1 in
    "disable")
        wifi down $device
        echo 0 > /proc/diag/led/ses_white
        echo 1 > /proc/diag/led/ses_orange
        echo 0 > /proc/diag/led/wlan
        uci set wireless.$device.disabled=1
        uci commit wireless
        logger "Wifi disabled"
    ;;
    "enable")
        uci set wireless.$device.disabled=0
        uci commit wireless
        wifi up $device
        echo 1 > /proc/diag/led/ses_white
        echo 0 > /proc/diag/led/ses_orange
        echo 2 > /proc/diag/led/wlan
        logger "Wifi enabled"
    ;;
esac

Le script fait trois choses :

  1. Activer / Désactiver le point d'accès Wifi
  2. Allumer la diode SES en blanc / orange en fonction de l'état de la connexion
  3. Activer / désactiver la diode WLAN

L'utilisation est simple : wtoggle enable pour activer le wifi et wtoggle disable pour le désactiver.

Créer la tache cron pour activer le wifi à certaines heures

Il suffit d'ajouter les deux lignes suivantes au cron pour programmer la mise en route du Wifi avec la commande crontab -e

00 14 * * 1-6 wtoggle enable
00 18 * * 1-6 wtoggle disable

Le réseau Wifi est donc allumé du lundi au samedi de 14h à 18h. Mais sur Openwrt le service cron n'est pas activé1. Il faut donc le faire avec les commandes2

/etc/init.d/cron start
/etc/init.d/cron enable

Activation / désactivation à la demande du Wifi

Il est parfois nécessaire d'allumer ou d'éteindre le wifi manuellement, pour ça nous allons détourner le bouton SES du routeur (vous savez celui avec le logo cisco dessus). si le Wifi est désactivé, une pression sur ce bouton l'activera et une autre pression le désactivera à nouveau.

Créons un fichiers bouttons dans le répertoire /etc/hotswap.d/button/ qui va contenir les commandes à effectuer lors de la pression d'un boutons sur le Linksys

mkdir -p /etc/hotswap.d/button/
vi /etc/hotswap.d/button/buttons

Voici le contenu de ce fichier

#!/bin/sh
device="wl0"
if [ "$BUTTON" = "ses" ] && [ "$ACTION" = "pressed" ] ; then
    case $(uci get wireless.$device.disabled) in
        0)
            /sbin/wtoggle.sh disable
        ;;
        1)
            /sbin/wtoggle.sh enable
        ;;
    esac        
fi 

Une fois enregistré, le tout devrait fonctionner : le bouton SES pour allumer /éteindre le wifi et la tâche cron pour le faire automatiquement en fonction des heures d'ouvertures. Le voyant du logo Cisco servant aux animateurs à visualiser rapidement si le réseau Wifi est actif ou non.

Démarrage PXE avec Openwrt, Dnsmasq et FreeNAS

img

Ajourd'hui j'ai décidé de simplifier mon architecture réseau , je me sépare donc de mon serveur DHCP(dhcpd) et décide d'utiliser celui de mon routeur sous OpenWRT. Il y a tout de même un petit couac : mon vieux serveur me permettait de démarrer en PXE pour différentes architectures x86 : efi, efi64  […]

Lire la suite

Téléphone Android chiffré, écran cassé, données perdues? Que nenni!

img

Et voilà qu'après une mauvaise chute, mon téléphone se retrouve sans écran. Et si l'écrasante majorité de mes données sensibles sont automatiquement synchronisée (coucou Syncthing, Radicale etc.), ce n'est pas le cas de ma base de donnée SMS. Vous me direz alors qu'adb est mon ami, oui mais il y a  […]

Lire la suite

Premier pas avec un Steam Controller

Steam Controller

Depuis que Valve a décidé d'invertir dans GNU/Linux, notre plate forme préférée ne voit pas passer un jour sans qu'un nouveau jeu arrive, je ne vais pas m'en plaindre! Avec SteamOS Valve affiche sa volonté d'emmener le PC du "Gamer" dans le salon (et s'éloigner le l'éco-système Microsoft?). Tout ça est bien joli mais difficile de jouer avec une souris et un clavier bien installé dans son canapé. Valve propose donc une manette maison : le Steam Controller, censé remplacer ces deux éléments vitaux au bon joueur PC.

Lire la suite

Lettre ouverte à Mme Delaunay, député de la 2ème circonscription de la Gironde

Bonjour Madame la député, Je vous écris aujourd'hui pour vous signifier ma déception quant à votre vote en faveur de la loi sur le renseignement et l'absence de réponses aux appels téléphoniques et au courriel que je vous ai envoyé afin vous signifier mon désaccord et mes craintes à ce sujet. Un  […]

Lire la suite

SFLPhone, IDJC et Tango Studio pour une webradio

Gladish, ajout de l'application IDJC

Dans le cadre de Radio Giroll, émission mensuelle de (web)radio en direct autour des cultures libres, j'ai mis en place une nouvelle régie virtuelle. Nous cherchions, avec les autres membre du collectifs Giroll, une solution simple et fiable pour la partie téléphonie. Nous l'avons trouvé avec SFLPhone

Lire la suite

Passer Gnome en mode restreint pour jouer

The Cave, pas très fluide avec Gnome-Shell

J'adore Gnome 3 et Gnome-Shell, mais depuis que je me suis mis à jouer sous Linux j'ai pris conscience de son plus gros défaut : il grignote un peu trop les maigres performances de ma carte graphique. Je vais ici vous expliquer comment passer facilement en mode Gnome-Classic pour jouer plus confortablement.

Lire la suite

Humble Bundle et Archlinux

Sword and Swordery : écran d'accueil

Je me suis enfin décidé à acheter un Humble Bundle, ces célèbres paquetages de jeux réalisés par des studios indépendants et disponibles sur plusieurs plate-formes sans DRM. Ça fait un bon moment que Mathieu en parlait mais cette fois-ci je me suis laissé tenter, sûrement à cause de Sword and Sworcery. Les jeux proposés sont tous compatible Linux. Et ça c'est une bonne nouvelle! Mais ils sont pour la plupart prévus pour fonctionner simplement sur Ubuntu, les installer et jouer sur Arch c'est une autre histoire...

Lire la suite

Désimlocker un téléphone Webos

Icone "Infos appareil" dans le menu "système"

Propriétaire d'un téléphone HP/Palm pré2 SFR, je voulais pouvoir l'utiliser sur le réseau Free. Oui mais voilà j'ai acheté le téléphone d'occasion, et SFR ne veux donc pas le débloquer. Qu'à cela ne tienne, il existe une méthode simple et efficace et libre pour le faire. Voici le détail sous Linux...

Lire la suite

Restaurer un dossier avec Duplicity

J'utilise depuis quelque temps Deja Dup pour effectuer mes sauvegarde, j'en avais parlé sur ce billet. Mais voilà, un vilain petit bug empêche l'ouverture de la fenêtre de restauration (bug de GTK3...). Et aujourd'hui j'ai perdu l'ensemble de mon dossier Thunderbird. Mais comme Déjà dup est basé sur  […]

Lire la suite

Déjà Dup : sauvegarde et restauration simplissimes

L'installation de Déjà Dup par yaourt avec Archlinux

Un bon système de sauvegarde doit aussi permettre une restauration simple des données. J'ai donc profité d'un changement de machine pour vérifier que Back in Time, mon système de sauvegarde actuel, permettait cette manipulation facilement. Et le constat est sans appel : Non! J'ai donc pris le temps de chercher une autre solution : Déjà Dup. J'ai été conquis...

Lire la suite

Haut de page