Trucs:Livebox wifi (Inventel) et Mandriva LE2005
Faire fonctionner la Livebox wifi (dongle wifi USB Inventel) sous Mandriva LE2005 (anciennement Mandrake 10.2) est facile, à condition d'utiliser ndiswrapper. Note : ce truc est valable également pour Mandriva 2006.
<cadre type=note>Cette fiche s'applique à l'installation de la clef USB Wifi de marque Inventel livrée avec la livebox Inventel. Dans le cas d'une autre clef Wifi, commencez par vérifier que celle-ci ne dispose pas d'un driver natif Linux (i.e. votre distribution la reconnaît-elle automatiquement ?), et dans le cas contraire, adaptez l'article en fonction de votre driver Windows. Par exemple, pour la Livebox Sagem, le déroulement est le même, en utilisant le driver Windows du dongle USB Wifi livré avec la Livebox.</cadre>
Pré-requis
<cadre type=note>Ressource : http://www.funix.org/fr/linux/dongle.htm</cadre>
Tout d'abord installons le paquetage ndiswrapper : urpmi ndiswrapper
Vous devez aussi utiliser un noyau (kernel) non SMP. La copie d'écran ci-dessous ne doit pas contenir la chaîne "SMP". Par exemple :
[root@localhost ~]# uname -a
Linux localhost 2.6.11-6mdk #1 Tue Mar 22 16:04:32 CET 2005 i686 AMD Athlon(tm) XP 2000+ unknown GNU/Linux
Téléchargez le driver pour le dongle UR054g (la référence du dongle est écrite dessus), puis décompressez-le dans un répertoire que vous aurez choisi, par exemple /home/wifi
.
J'ai renommé le répertoire UR054g(R1)
créé par l'archive en UR054g
.
Installez le driver :
[root@localhost ~]# ndiswrapper -i /home/wifi/UR054g/Driver/PRISMA02.inf
Installing prisma02
Vérifiez le résultat :
[root@localhost ~]# ndiswrapper -l
Installed ndis drivers:
prisma02 driver present, hardware present
Créez un alias pour votre interface wifi (normalement wlan0 ; c'est l'équivalent de eth0 pour une carte réseau filaire)
[root@localhost ~]# ndiswrapper -m
Adding "alias wlan0 ndiswrapper" to /etc/modprobe.conf
Notez bien l'alias renvoyé par ndiswrapper, ici wlan0
, c'est celui que nous allons utiliser par la suite.
Chargez le module ndiswrapper :
[root@localhost ~]# modprobe ndiswrapper
Configuration
Vérifions que l'interface wlan0 a bien été initialisée (votre affichage peut être différent suivant votre matériel) :
[root@localhost ~]# iwconfig wlan0
wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00
Bit Rate:2 Mb/s Tx-Power:32 dBm
RTS thr:2432 B Fragment thr:2432 B
Encryption key:off
Power Management:off
Link Quality:100 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:1 Missed beacon:0
Configurons maintenant le wifi entre le dongle et la livebox, en entrant l'ESSID (identifiant du réseau wifi, de la forme WANADOO-XXXX) et la clef WEP (clef de cryptage, sous la forme xxxx xxxx xxxx xxxx xxxx xxxx xx, suite de chiffres hexadécimaux) ; ces informations se trouvent par exemple sur la boîte du CD-ROM d'installation :
[root@localhost ~]# iwconfig wlan0 mode managed essid WANADOO-XXXX key xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
Vérifions la prise en compte de cette commande :
[root@localhost ~]# iwconfig wlan0
wlan0 IEEE 802.11g ESSID:"WANADOO-XXXX"
Mode:Managed Frequency:2.412 GHz Access Point: 00:0B:12:FF:69:44
Bit Rate:24 Mb/s Tx-Power:32 dBm
RTS thr:2432 B Fragment thr:2432 B
Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx Security mode:restricted
Power Management:off
Link Quality:100 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:1 Missed beacon:0
Enfin, nous allons demander une adresse IP à la livebox, et vérifier le résultat :
[root@localhost ~]# dhcpcd wlan0
[root@localhost ~]# ifconfig wlan0
wlan0 Lien encap:Ethernet HWaddr 00:0B:6B:6C:FE:E7
inet adr:192.168.1.144 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::20b:6bff:fe6c:fee7/64 Scope:Lien
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10381 errors:0 dropped:0 overruns:0 frame:0
TX packets:9870 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:1728 (0 Mb) TX bytes:12 (0 Mb)
Note : j'ai dû installer le paquetage dhcpcd
C'est fini ! Vous pouvez surfer !
Cependant tout sera à refaire au prochain redémarrage, sauf si vous lisez le paragraphe ci-dessous :-)
Script de démarrage
En tant que root, créez le fichier de configuration /etc/sysconfig/livebox
contenant (remplacez les XXXX par votre vraie clef WEP !) :
#Périphérique
WLAN="wlan0"
#ESSID de la livebox
ESSID="WANADOO-XXXX"
#Clef WEP
WEP="XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XX"
Créez le script de démarrage /etc/init.d/livebox
contenant :
#!/bin/sh
# (c) Lea-Linux, Jean-Christophe Cardot <jice(at)lea(dash)linux(dot)org>
#
# livebox This shell script takes care of starting and stopping
# your livebox's wifi dongle and configure it.
#
# chkconfig: 2345 12 88
# description: This startup script configures the Livebox's USB wifi dongle
if [ -f /etc/sysconfig/livebox ];then
source /etc/sysconfig/livebox
fi
PIDFILE=/etc/dhcpc/dhcpcd-$WLAN.pid
. /etc/rc.d/init.d/functions
function get_ip() {
ip_wlan=$(ifconfig $WLAN 2>&1 \
| grep "inet adr:" \
| cut -d' ' -f 12 | cut -d':' -f 2)
if [ "$ip_wlan" = "127.0.0.1" ]; then
unset ip_wlan
fi
}
function wifistart() {
# test if already started
unset ip_wlan
get_ip
if [ "x$ip_wlan" != "x" ]; then
echo "Wifi already started!"
exit 0
fi
# make sure dhcpcd is stopped
if [ -s $PIDFILE ] \
&& ps aux | cut -b10-15 | grep -q `cat $PIDFILE`; then
kill -SIGTERM `cat $PIDFILE` 2>&1 >/dev/null
fi
rm -rf $PIDFILE 2>&1 >/dev/null
action "Lancement de NDISWrapper" \
modprobe ndiswrapper
action "Lancement du wifi Livebox" \
iwconfig $WLAN mode managed essid $ESSID key $WEP
action "Obtention d'une adresse IP avec DHCP" \
/sbin/dhcpcd wlan0
get_ip
echo "Adresse IP : $ip_wlan"
}
function wifistop() {
action "Arrêt du wifi Livebox" \
ifconfig $WLAN down
action "Arrêt de NDISWrapper" \
rmmod ndiswrapper
if [ -s $PIDFILE ] \
&& ps aux|cut -b10-15|grep -q `cat $PIDFILE`; then
action "Arrêt de dhcpcd" \
kill -SIGTERM `cat $PIDFILE`
fi
rm -rf $PIDFILE 2>&1 >/dev/null
}
case $1 in
start)
wifistart
exit 0
;;
stop)
wifistop
exit 0
;;
status)
if fgrep -q ndiswrapper /proc/modules; then
gprintf "NDISWrapper loaded."
echo
else
gprintf "NDISWrapper not loaded."
echo
fi
if ifconfig 2>&1 | grep -q $WLAN; then
gprintf "$WLAN wireless interface loaded."
echo
else
gprintf "$WLAN wireless interface not loaded."
echo
fi
unset ip_wlan
get_ip
if [ "x$ip_wlan" = "x" ]; then
gprintf "No IP address"
echo
else
gprintf "IP Adress: $ip_wlan"
echo
fi
exit 0
;;
restart)
;;
reload)
$0 stop
$0 start
exit 0
;;
*)
gprintf "Usage: %s\n" "$(basename $0) {start|stop|restart|status}"
exit 0
;;
esac
exit 0
Enfin, ajoutez ce script au démarrage :
[root@localhost ~]# chkconfig --add livebox
Voilà, la configuration est enfin terminée. Profitez bien de votre Livebox !
Note : ces changements prendront effet au prochain redémarrage de la machine. Pour éviter de redémarrer, il suffit de taper la commande suivante pour lancer le wifi :
[root@localhost ~]# service livebox start