Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Utiliser la carte wifi Intel PRO Wireless 2200BG


Utiliser la carte wifi Intel PRO Wireless 2200BG

Introduction

  • De nombreux ordinateurs portables sont équipés en standard de la carte wifi Intel Pro/Wireless 2200BG, surtout ceux fonctionnant sous la plateforme Intel Centrino. Lorsque j'ai acquis mon portable, j'ai naturellement voulu installer ma distribution favorite et faire fonctionner le wifi.
  • Ce petit tutoriel devrait vous permettre de faire fonctionner correctement le réseau sans fil. On va d'abord compiler et installer les modules nécessaires, puis en seconde étape configurer le réseau.
  • La distribution Linux que j'utilise ici est la Slackware 10.2 mais ce tutoriel peut être facilement transposé sur une autre distribution. À noter que certaines distributions supportent cette carte directement, c'est par exemple le cas de Mandriva à partir de la version 2006. Dans ce cas, vous n'avez pas besoin de compiler vous-même les modules.

Prérequis

  • Assurez-vous d'abord que votre ordinateur dispose bien de la carte wifi. Tapez
    lspci|grep 2200
    . Si vous voyez une ligne du genre :
    02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

    C'est que vous disposez de la carte en question.
  • Il faut également disposer d'un noyau Linux de la branche 2.6.x avec le support du réseau sans fil activé. Dans la configuration du noyau, vérifiez que l'option "Wireless LAN Drivers (non-hamradio) & Wireless Extensions" est bien activée.
    • Pour cela allez dans le répertoire des sources du noyau
      cd /usr/src/linux
    • lancez la configuration du noyau
      make menuconfig
    • allez dans
      Device Drivers
      puis dans
      Network device support
      et dans
      Wireless LAN (non-hamradio)
    • cochez l'option
      Wireless LAN Drivers (non-hamradio) & Wireless Extensions
      si elle n'est pas activée
    • sauvegardez la configuration et recompilez le noyau si vous avez changé l'option.
  • Vous devez également avoir installé un certain nombre d'outils importants, pour pouvoir exploiter le réseau wifi. Un paquet les regroupe presque tous : wireless-tools. Sur la Slackware, ces outils se trouvent déja intégrés. Sur la Debian, il suffirat juste de faire un
    apt-get install wireless-tools
    .
  • Pour pouvoir charger le firmware il vous faudra aussi hotplug, assurez vous qu'il soit installé et lancé. Cela ne devrai pas poser de problèmes sur la plupart des distributions.

Compilation et installation des drivers

Si vous avez une Slackware 11.0 (disponible depuis le 2 octobre 2006), il suffit d'installer un des deux noyaux 2.6 proposés, avec les modules associés  : les pilotes y sont déjà. Dans ce cas vous pouvez sautez cette section (mais il faut quand même vous procurer le firmware qui va bien, voir plus loin).

Sinon (Slackware 10.2), les drivers pour la carte 2200BG ne sont pas encore inclus dans le noyau. Il faudra donc les compiler et les installer séparément.

Il faut donc dans un premier temps télécharger les drivers IPW2200 et le subsytem IEEE80211.

  • Les drivers IPW2200 sont accessibles sur cette page.
  • le sous système IEEE80211 est accessible sur cette page.

Une fois les deux archives téléchargées, on extrait chacune dans un répertoire respectif :

Ce que je fais habituellement pour ajouter des modules supplémentaires au noyau, je crée un répertoire /usr/src/modules.

mkdir /usr/src/modules
cd /usr/src/modules

et je place à l'intérieur les sources des modules

tar xzvf ~/ipw2200-1.0.10.tgz
tar xzvf ~/ieee80211-1.0.1.tgz

Je crée aussi des liens symboliques vers les répertoires nouvellement créés.

ln -s ipw2200-1.0.10 ipw2200
ln -s ieee80211-1.0.1 ieee80211
L'utilisation des liens symboliques a pour avantage de conserver le même chemin de compilation quelque soit la version des drivers. Si une nouvelle version apparait, il suffira de la placer dans le répertoire /usr/src/modules et de modifier le lien symbolique.

Maintenant, on peut compiler le module IEEE80211

cd /usr/src/modules/ieee80211
make
make install

Et enfin, on compile le module IPW2200.

cd /usr/src/modules/ipw2200
make
make install

Installation du firmware

Les modules sont maintenant compilés et installés. Cependant on ne peut pas encore les faire fonctionner car on a besoin du firmware adéquat.

Il se trouve sur cette page.

Attention : La version du firmware à télécharger dépend de la version du module IPW2200 installée !

Allez dans le répertoire /lib/firmware :

cd /lib/firmware

Décompressez l'archive contenant le firmware :

tar xvzf ~/ipw2200-fw-2.4.tgz

Si tout va bien, vous devez vous retrouver avec les fichiers suivants :

ls -l
-rwxrwxr-x  1 root root  12007 2005-08-11 14:33 LICENSE*
-rw-r--r--  1 root root   6472 2005-08-11 15:06 ipw-2.4-boot.fw
-rw-r--r--  1 root root 168344 2005-08-11 15:06 ipw-2.4-bss.fw
-rw-r--r--  1 root root  16334 2005-08-11 15:06 ipw-2.4-bss_ucode.fw
-rw-r--r--  1 root root 162884 2005-08-11 15:06 ipw-2.4-ibss.fw
-rw-r--r--  1 root root  16312 2005-08-11 15:06 ipw-2.4-ibss_ucode.fw
-rw-r--r--  1 root root 168344 2005-08-11 15:06 ipw-2.4-sniffer.fw
-rw-r--r--  1 root root  16344 2005-08-11 15:06 ipw-2.4-sniffer_ucode.fw

Tentez maintenant de charger le module de la carte :

modprobe ipw2200

Vérifiez que le module s'est chargé en tapant :

lsmod|grep ipw2200

Vous devez normalement obtenir les lignes suivantes :

ipw2200 181572 0

ieee80211 47464 1 ipw2200

Si vous tapez la commande dmesg vous devez obtenir sur les dernières lignes à peu près le texte suivant :

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.10
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 22 (level, low) -> IRQ 23
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

Si tout est bon, nous pouvons configurer notre nouvelle carte réseau

Connection au réseau sous Slackware 10.2

Il faut maintenant configurer l'accès au réseau sans fil. Je parlerais ici de mon expérience sous Linux Slackware 10.2 mais sur les autres distributions, la façon de procéder est à peu près la même.

La configuration du réseau se fait en deux étapes : connexion au point d'accès wifi et configuration de l'adressage IP.

Connexion au point d'accès

Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier
/etc/rc.d/rc.wireless.conf
.

Ce fichier sert à configurer la connexion au point d'accès en fonction de l'adresse MAC de la carte réseau. Allez jusqu'à la fin du fichier pour atteindre les lignes suivantes :

# Generic example (decribe all possible settings)
*)
   INFO="Fill with your own settings..."
   # ESSID (extended network name) : My Network, any
   ESSID=""
   # NWID/Domain (cell identifier) : 89AB, 100, off
   NWID=""
   # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
   MODE=""
   # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
   FREQ=""
   CHANNEL=""
   # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
   SENS=""
   # Bit rate : auto, 1M, 11M
   RATE=""
   # Encryption key : 4567-89AB-CD, s:password
   KEY=""
   # RTS threshold : off, 500
   RTS=""
   # Fragmentation threshold : off, 1000
   FRAG=""
   # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
   IWCONFIG=""
   # iwspy parameters : + 01:23:45:67:89:AB
   IWSPY=""
   # iwpriv parameters : set_port 2, set_histo 50 60
   IWPRIV=""
   ;;
esac
  • Dans
    INFO=
    , Donnez un nom à votre connexion.
  • Changez
    ESSID=
    pour y placer le ESSID de votre point d'accès.
  • Changez
    CHANNEL=
    si besoin est.
  • Changez
    KEY=
    si vous utilisez une clé de chiffrement WEP ou autre.
Redémarrez le réseau en tapant
/etc/rc.d/rc.inet1 restart
.

Vous devriez avoir quelque chose qui ressemble à ça :

eth1 IEEE 802.11g ESSID:"VOTRE_ESSID" Nickname:"MACHINE"
         Mode:Managed  Frequency:2.442 GHz  Access Point: 00:0F:66:58:B5:93   
         Bit Rate=54 Mb/s   Tx-Power=20 dBm   
         Retry limit:7   RTS thr:off   Fragment thr:off
         Encryption key:AC8--2033-B8F9-9F08-5E4A-A0E2-25   Security mode:restricted
         Power Management:off
         Link Quality=91/100  Signal level=-37 dBm  Noise level=-83 dBm
         Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
         Tx excessive retries:0  Invalid misc:0   Missed beacon:0
  • L'interface réseau est indiquée en premier. Dans cet exemple c'est
    eth1
    .
    Gardez son nom en mémoire pour la configuration IP
  • ESSID est l'ESSID du point d'accès
  • Bit Rate est la vitesse de connexion
  • Encryption key est votre clé de cryptage
  • Link Quality donne des informations sur la qualité de la connection

Configuration IP

Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier
/etc/rc.d/rc.inet1.conf
.

Allez dans le bloc correspondant à votre interface réseau (eth0, eth1, eth2, ...)

# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
  • Si vous voulez que le point d'accès configure pour vous l'adresse IP, dans le champ
    USE_DHCP
    , placez la valeur
    yes
  • Sinon donnez votre adresse IP dans le champ
    IPADDR
    et le netmask dans
    NETMASK
    .
Sauvegarder le tout et redémarrez le réseau :
/etc/rc.d/rc.inet1 restart
. Normalement, si tout va bien, lorsque vous tapez la commande
ifconfig eth1
, vous obtenez :
eth1 Link encap:Ethernet HWaddr 00:02:3F:DB:32:83
         inet addr:192.168.4.3  Bcast:192.168.2.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1204 errors:0 dropped:0 overruns:0 frame:0
         TX packets:816 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:159440 (155.7 Kb)  TX bytes:90175 (88.0 Kb)
         Interrupt:18 Base address:0x4000 

Vous pouvez alors utilisez votre carte wifi !

Gestion de ipw2200 sur Mandriva 2006

Si vous disposez de cette distribution, le travail vous est considérablement simplifié. Le module ipw2200 a été intégré au noyau de base (2.6.12) au moyen d'un patch. Il vous suffit donc de taper la commande suivante :

modprobe ipw2200

Le firmware lui est disponible sous forme de rpm également. Il vous suffit pour cela de disposer de la source de packages plf non-free (voir http://easyurpmi.zarb.org). Installez alors le package ipw2200-firmware :

# urpmi ipw2200-firmware
   ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/non-free/2006.0/./noarch/ipw2200-firmware-2.4-1plf.noarch.rpm
installation de ipw2200-firmware-2.4-1plf.noarch.rpm depuis /var/cache/urpmi/rpms

Préparation ... #############################################

1/1: ipw2200-firmware #############################################

Options de configuration du module

Le module ipw2200 permet de disposer d'un certain nombre d'options de configuration. Pour disposer de la liste de ces infos tapez la commande modinfo suivie du nom du module :

# modinfo ipw2200
filename:       /lib/modules/2.6.12-12mdk/kernel/3rdparty/ipw2200/ipw2200.ko.gz
description:    Intel(R) PRO/Wireless 2200/2915 Network Driver
version:        1.0.6
author:         Copyright(c) 2003-2004 Intel Corporation
license:        GPL
vermagic:       2.6.12-12mdk 686 gcc-4.0
depends:        ieee80211,firmware_class
alias:          pci:v00008086d00001043sv00008086sd00002701bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002702bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002711bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002712bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002721bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002722bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002731bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002732bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002741bc*sc*i*
alias:          pci:v00008086d00001043sv0000103Csd00002741bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002742bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002751bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002752bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002753bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002754bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002761bc*sc*i*
alias:          pci:v00008086d00001043sv00008086sd00002762bc*sc*i*
alias:          pci:v00008086d0000104Fsv*sd*bc*sc*i*
alias:          pci:v00008086d00004220sv*sd*bc*sc*i*
alias:          pci:v00008086d00004221sv*sd*bc*sc*i*
alias:          pci:v00008086d00004223sv*sd*bc*sc*i*
alias:          pci:v00008086d00004224sv*sd*bc*sc*i*
srcversion:     B497F2EC107B4D14D1298AE
parm:           hwcrypto:enable hardware crypto (default on) (int)
parm:           mode:network mode (0=BSS,1=IBSS,2=Monitor) (int)
parm:           channel:channel to limit associate to (default 0 [ANY]) (int)
parm:           debug:debug output mask (int)
parm:           led:enable led control on some systems (default 0 off)
(int)
parm:           auto_create:auto create adhoc network (default on) (int)
parm:           associate:auto associate when scanning (default on) (int)
parm: disable:manually disable the radio (default 0 [radio on]) (int)

La ligne indiquée en gras notamment vous informe qu'en positionnant l'option led correctement, vous pouvez activer le voyant lumineux indiquant la connexion active en wifi. Il vous suffit de modifier le fichier /etc/modprobe.conf en ajoutant la ligne suivante :

options ipw2200 led=1

Conclusion

L'installation de la carte Intel PRO Wireless 2200BG sous Linux n'est pas aussi compliquée que l'on peut le penser, à partir du moment où on dispose des drivers et du firmware adéquat.

Il suffit juste de compiler les drivers, installer les modules et le firmware. Puis dans un deuxième temps configurer le point d'accès et l'adresse IP de la carte.

Ce tutoriel pourrait être complété par la suite, avec l'utilisation du démon ifplugd qui permet de contrôler la connexion physique au réseau ( câble branché/débranché, point d'accès présent).

En effet, dans le cas d'un ordinateur portable avec une carte ethernet et une carte wifi, il est intéressant de pouvoir basculer de l'ethernet au wifi dès que le câble réseau est débranché, et inversement revenir du wifi à l'ethernet lorsque le câble est rebranché.

Liens externes

Voici des liens qui peuvent aider pour l'installation de cette carte réseau :



@ Retour à la rubrique Réseau et sécurité

Copyright

© janvier 2006 Vvanholl

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 3.0 :
http://creativecommons.org/licenses/by-sa/3.0/
Affichages

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA