Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.

Trucs:Livebox wifi (Inventel) et Mandriva LE2005


[Modifier cette page] [Page de discussion]
Jice <jice chez lea-linux.org>

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.

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.

Pré-requis

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
Ajouter un commentaire|Ajouter une section