Trucs:Livebox wifi (Inventel) et Mandriva LE2005

De Lea Linux
Révision datée du 5 octobre 2005 à 17:44 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
Jice<jice@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 : cet article s'adapte facilement pour la Livebox Sagem, 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

Créez le fichier de configuration /etc/sysconfig/livebox contenant (remplacez les XXXX !) :

#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 :

chkconfig --add livebox

Voilà, la configuration est enfin terminée. Profitez bien de votre Livebox !