Utiliser la carte wifi Intel PRO Wireless 2200BG

De Lea Linux
Aller à la navigation Aller à la recherche

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 2005), 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 <cadre type=aparte>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.</cadre> 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.

<cadre type=alert>Attention : La version du firmware à télécharger dépend de la version du module IPW2200 installée !</cadre>

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. <cadre type=alert>Gardez son nom en mémoire pour la configuration IP</cadre>
  • 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 :

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 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/