« Trucs:Livebox wifi (Inventel) et Mandriva LE2005 » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 2 : Ligne 2 :


Faire fonctionner la Livebox wifi (dongle wifi USB Inventel) sous Mandriva LE2005 (anciennement Mandrake 10.2) est facile, à condition d'utiliser ndiswrapper.
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>Note : cet article s'adapte facilement pour la Livebox Sagem, en utilisant le driver Windows du dongle USB Wifi livré avec la Livebox.</cadre>
<cadre type=note>Note : cet article s'adapte facilement pour la Livebox Sagem, en utilisant le driver Windows du dongle USB Wifi livré avec la Livebox.</cadre>

Version du 27 août 2006 à 16:02

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 : ce truc est valable également pour Mandriva 2006.

<cadre type=note>Note : cet article s'adapte facilement pour la Livebox Sagem, 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

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 !