Wifi multi ESSID
Si vous désirez vous connecter avec votre pc portable via le wifi chez vous, au travail et ailleurs, sans devoir à chaque fois modifier votre configuration, voici comment j'ai fait (je suis sous Debian Sarge).
- Installer le paquet wireless-tools
- Modifier le fichier de configuration des interfaces.
- Ajouter le script d'analyse du réseau.
- Ajouter la liste des essid reconnus.
Installation du paquet wireless-tools
apt-get update ; apt-get install wireless-toolsCe paquet permet la configuration des paramètres propre au Wifi. Ce paquet contient les commandes suivantes :
- /sbin/iwconfig
- /sbin/iwevent
- /sbin/iwgetid
- /sbin/iwlist
- /sbin/iwpriv
- /sbin/iwspy
Le fichier /etc/network/interfaces
Dans ce fichier, certains points sont important :- Il faut pour les "map" avoir les paramètres identiques.
- Il faut adapter l'interface sur la ligne "auto eth1" et "mapping eth1" en fonction de votre cas.
- Il faut remplacer tous les "HOME-EFR" par votre essid.
- Il faut remplacer tous les "travail" par l'essid de votre travail.
- Adapter les clés en fonction de votre cas "wireless_key".
auto eth1
mapping eth1
script /etc/network/get-essid.sh
map HOME-EFR HOME-EFR
map travail travail
map OTHER OTHER
iface HOME-EFR inet dhcp
name Carte réseau sans fils
wireless_essid HOME-EFR
wireless_mode managed
wireless_nick clover
wireless_key "00:00:00:00:00:00:00:00:00:00:00:00:00"
wireless_rate auto
iface travail inet dhcp
name Carte réseau sans fils
wireless_essid travail
wireless_mode managed
wireless_nick clover
wireless_key "00:00:00:00:00:00:00:00:00:00:00:00:00"
wireless_rate auto
iface OTHER inet dhcp
name Carte réseau sans fils
Le script /etc/network/get-essid.sh
- Placer ce script dans le répertoire /etc/network
- Rendez le script exécutable
chmod +x /etc/network/get-essid.shVoici le script :
#!/bin/sh
# Script to scan wifi and start config if ESSID are found
# into file /etc/network/essid.lit
#
set -e
if [ -e /etc/network/essid.list ]; then
ESSIDLIST=`grep -v "#" /etc/network/essid.list`
else
echo "OTHER"
exit 0
fi
/sbin/ifconfig $1 up
if [ -e /sbin/iwlist ]; then
idscan=$(/sbin/iwlist $1 scanning | /bin/grep "ESSID" | /usr/bin/cut -f2 -d '"' )
fi
for id in $ESSIDLIST
do
for ids in $idscan
do
if [ $ids == $id ]
then
echo $ids
exit 0
fi
done
done
echo "OTHER"
exit 0
Le fichier /etc/network/essid.list
Dans ce fichier il suffit de mettre la liste des essid pour lesquels votre carte wifi doit réagir.# # ESSID to connect # # My Home HOME-EFR # On work travail