guessnet est un excellent outil, fonctionnant avec ifupdown, qui permet de détecter sur quel réseau une machine est connectée. Très pratique quand il s'agit d'un portable qui est utilisé à la maison, au travail... ou ailleurs. De plus, guessnet permet d'exécuter un script au moment ou l'interface réseau est "upper" ou "downer" : changer la config. du client cups ou monter un système de fichier est donc rendu possible selon le réseau dans lequel on est.
En conjonction avec ifplugd c'est encore mieux. C'est un outil qui permet de détecter à chaud un branchement ou un débranchement d'interface et de lancer ifup ou ifdown le cas échéant.
Toute la config se fait dans /etc/network/interfaces et /etc/default/ifplugd (à adapter selon votre distribution, ici il s'agit d'ubuntu edgy).
Mais le portable est également très adapté pour le wifi. Seulement voilà, ce n'est pas évident à faire fonctionner. J'utilise actuellement l'outil wpa_supplicant qui permet également de configurer dans un fichier wpa_supplicant.conf l'ensemble des réseaux wifi auxquels on veut/peut accéder.
Tout irait bien si on disposait à chaque fois du dhcp et qu'une clé n'était pas nécessaire pour accéder au réseau sans fil. Mais dans certains réseau on a une ip fixe avec un nom de machine différent, et des certificats d'autentification sont nécessaires pour le wifi.
Voici quel est mon souci principal avec ces outils. La détection du wifi avec ifplugd ne fonctionne pas, j'ai dû faire une bévue, ne pas bien comprendre comment fonctionne le fichier de configuration. Le voici :
INTERFACES="eth0 eth1"
HOTPLUG_INTERFACES=""
ARGS="-f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"
|
La trace de ifplugd sur eth1 dans /var/log/syslog :
ifplugd 0.28 initializing
Using interface eth1/mon_adresse_mac with driver <ipw2200> (version 1.1.2kmpqr)
Using detection mode: SIOCETHTOOL
Initialization complete, link beat not detected.
|
C'est surtout la dernier ligne qui me fait tiquer. Quand j'appuie pour éteidre puis rallumer la carte wifi, la trace est (ça se passe au niveau du kernel) :
ipw2200: Failed to send SCAN_ABORT: Command timed out.
ipw2200: Failed to send CARD_DISABLE: Command timed out.
|
Lorsque je monte l'interface "à la main" en faisant un 'sudo ifup eth1', cela fonctionne. J'en déduis que mon /etc/network/interfaces et mon ~/.wpa/wpa_supplicant.conf sont convenables et que le soucis vient de ifplugd, en particulier de sa config.
J'ai pas mal éplucher le web pour trouver une solution à cela. J'ai vu quelques topic dans OSA qui parlait de ces outils, mais pas de ce problème spécifiquement, en particulier un post de riot, qui avait aussi un problème avec le timeout et qui l'a semble-t-il résolu.
Je vous remercie de toute indication utile. Je peux vous filer plus d'infos si nécessaire, même pour un simple renseignement qui n'a pas à voir avec le problème.
Je peux également déplacer le topic si les modérateurs le souhaitent.
PS : Et quand tout fonctionnera, je rééditerai ce post pour en faire un tutoriel plus complet.
---------------
FREE DATOUNE