« Utiliser la carte wifi Intel PRO Wireless 2200BG » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
(balises code)
Ligne 13 : Ligne 13 :


== Prérequis ==
== Prérequis ==
*Assurez-vous d'abord que votre ordinateur dispose bien de la carte wifi. Tapez <code>lspci|grep 2200</code>. Si vous voyez une ligne du genre :<br/><code>02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)</code><br/>C'est que vous disposez de la carte en question.
*Assurez-vous d'abord que votre ordinateur dispose bien de la carte wifi. Tapez <div class="code">lspci|grep 2200</div>. Si vous voyez une ligne du genre :<br/><div class="code">02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)</div><br/>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.
*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<br/><code>cd /usr/src/linux</code>
**Pour cela allez dans le répertoire des sources du noyau<br/><div class="code">cd /usr/src/linux</div>
**lancez la configuration du noyau<br/><code>make menuconfig</code>
**lancez la configuration du noyau<br/><div class="code">make menuconfig</div>
**allez dans <code>Device Drivers</code> puis dans <code>Network device support</code> et dans <code>Wireless LAN (non-hamradio)</code>
**allez dans <div class="code">Device Drivers</div> puis dans <div class="code">Network device support</div> et dans <div class="code">Wireless LAN (non-hamradio)</div>
**cochez l'option <code>Wireless LAN Drivers (non-hamradio) & Wireless Extensions</code> si elle n'est pas activée
**cochez l'option <div class="code">Wireless LAN Drivers (non-hamradio) & Wireless Extensions</div> si elle n'est pas activée
**sauvegardez la configuration et recompilez le noyau si vous avez changé l'option.
**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 <code>apt-get install wireless-tools</code>.
*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 <div class="code">apt-get install wireless-tools</div>.


*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.
*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.
Ligne 33 : Ligne 33 :
*le sous système IEEE80211 est accessible sur cette [http://ieee80211.sourceforge.net/#downloads page].
*le sous système IEEE80211 est accessible sur cette [http://ieee80211.sourceforge.net/#downloads page].
Une fois les deux archives téléchargées, on extrait chacune dans un répertoire respectif :<br><br>Ce que je fais habituellement pour ajouter des modules supplémentaires au noyau, je crée un répertoire /usr/src/modules.
Une fois les deux archives téléchargées, on extrait chacune dans un répertoire respectif :<br><br>Ce que je fais habituellement pour ajouter des modules supplémentaires au noyau, je crée un répertoire /usr/src/modules.
<code>mkdir /usr/src/modules
<div class="code">
cd /usr/src/modules</code>
mkdir /usr/src/modules
cd /usr/src/modules</div>
et je place à l'intérieur les sources des modules
et je place à l'intérieur les sources des modules
<code>tar xzvf ~/ipw2200-1.0.10.tgz
<div class="code">
tar xzvf ~/ieee80211-1.0.1.tgz</code>
tar xzvf ~/ipw2200-1.0.10.tgz
tar xzvf ~/ieee80211-1.0.1.tgz</div>
Je crée aussi des liens symboliques vers les répertoires nouvellement créés.
Je crée aussi des liens symboliques vers les répertoires nouvellement créés.
<code>ln -s ipw2200-1.0.10 ipw2200
<div class="code">
ln -s ieee80211-1.0.1 ieee80211
ln -s ipw2200-1.0.10 ipw2200
</code>
ln -s ieee80211-1.0.1 ieee80211
</div>
<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>
<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
Maintenant, on peut compiler le module IEEE80211
<code>cd /usr/src/modules/ieee80211
<div class="code">
make
cd /usr/src/modules/ieee80211
make install
make
</code>
make install
</div>
Et enfin, on compile le module IPW2200.
Et enfin, on compile le module IPW2200.
<code>cd /usr/src/modules/ipw2200
<div class="code">
make
cd /usr/src/modules/ipw2200
make install
make
</code>
make install
</div>


== Installation du firmware ==
== Installation du firmware ==
Ligne 62 : Ligne 67 :


Allez dans le répertoire /lib/firmware :<br>
Allez dans le répertoire /lib/firmware :<br>
<code>cd /lib/firmware</code>
<div class="code">cd /lib/firmware</div>


Décompressez l'archive contenant le firmware :<br>
Décompressez l'archive contenant le firmware :<br>
<code>tar xvzf ~/ipw2200-fw-2.4.tgz</code>
<div class="code">tar xvzf ~/ipw2200-fw-2.4.tgz</div>


Si tout va bien, vous devez vous retrouver avec les fichiers suivants :<br>
Si tout va bien, vous devez vous retrouver avec les fichiers suivants :<br>
<code>ls -l</code>
<div class="code">
<code>-rwxrwxr-x  1 root root  12007 2005-08-11 14:33 LICENSE*
ls -l
-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
-rwxrwxr-x  1 root root  12007 2005-08-11 14:33 LICENSE*
-rw-r--r--  1 root root  16334 2005-08-11 15:06 ipw-2.4-bss_ucode.fw
-rw-r--r--  1 root root  6472 2005-08-11 15:06 ipw-2.4-boot.fw
-rw-r--r--  1 root root 162884 2005-08-11 15:06 ipw-2.4-ibss.fw
-rw-r--r--  1 root root 168344 2005-08-11 15:06 ipw-2.4-bss.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  16334 2005-08-11 15:06 ipw-2.4-bss_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 162884 2005-08-11 15:06 ipw-2.4-ibss.fw
-rw-r--r--  1 root root  16344 2005-08-11 15:06 ipw-2.4-sniffer_ucode.fw
-rw-r--r--  1 root root  16312 2005-08-11 15:06 ipw-2.4-ibss_ucode.fw
</code>
-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
</div>


Tentez maintenant de charger le module de la carte :<br>
Tentez maintenant de charger le module de la carte :<br>
<code>modprobe ipw2200</code>
<div class="code">modprobe ipw2200</div>


Vérifiez que le module s'est chargé en tapant :<br>
Vérifiez que le module s'est chargé en tapant :<br>
<code>lsmod|grep ipw2200</code>
<div class="code">lsmod|grep ipw2200</div>


Vous devez normalement obtenir les lignes suivantes :
Vous devez normalement obtenir les lignes suivantes :
<code>ipw2200              181572  0
<div class="code">ipw2200              181572  0
ieee80211              47464  1 ipw2200
ieee80211              47464  1 ipw2200
</code>
</div>


Si vous tapez la commande dmesg vous devez obtenir sur les dernières lignes à peu près le texte suivant :<br>
Si vous tapez la commande dmesg vous devez obtenir sur les dernières lignes à peu près le texte suivant :<br>
<code>ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.10
<div class="code">
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.10
ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 22 (level, low) -> IRQ 23
ipw2200: Copyright(c) 2003-2005 Intel Corporation
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 22 (level, low) -> IRQ 23
</code>
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
</div>


Si tout est bon, nous pouvons configurer notre nouvelle carte réseau
Si tout est bon, nous pouvons configurer notre nouvelle carte réseau
Ligne 105 : Ligne 113 :
===Connexion au point d'accès===
===Connexion au point d'accès===


Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier <code>/etc/rc.d/rc.wireless.conf</code>.
Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier <div class="code">/etc/rc.d/rc.wireless.conf</div>.
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 :
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 :
<code># Generic example (decribe all possible settings)
<div class="code">
*)
# Generic example (decribe all possible settings)
*)
     INFO="Fill with your own settings..."
     INFO="Fill with your own settings..."
     # ESSID (extended network name) : My Network, any
     # ESSID (extended network name) : My Network, any
Ligne 136 : Ligne 145 :
     IWPRIV=""
     IWPRIV=""
     ;;
     ;;
esac
esac
</code>
</div>
*Dans <code>INFO=</code>, Donnez un nom à votre connexion.
*Dans <div class="code">INFO=</div>, Donnez un nom à votre connexion.
*Changez <code>ESSID=</code> pour y placer le ESSID de votre point d'accès.
*Changez <div class="code">ESSID=</div> pour y placer le ESSID de votre point d'accès.
*Changez  <code>CHANNEL=</code> si besoin est.
*Changez  <div class="code">CHANNEL=</div> si besoin est.
*Changez <code>KEY=</code> si vous utilisez une clé de chiffrement WEP ou autre.
*Changez <div class="code">KEY=</div> si vous utilisez une clé de chiffrement WEP ou autre.


Redémarrez le réseau en tapant <code>/etc/rc.d/rc.inet1 restart</code>.
Redémarrez le réseau en tapant <div class="code">/etc/rc.d/rc.inet1 restart</div>.
Vous devriez avoir quelque chose qui ressemble à ça :
Vous devriez avoir quelque chose qui ressemble à ça :
<code>eth1      IEEE 802.11g  ESSID:"VOTRE_ESSID"  Nickname:"MACHINE"
<div class="code">eth1      IEEE 802.11g  ESSID:"VOTRE_ESSID"  Nickname:"MACHINE"
           Mode:Managed  Frequency:2.442 GHz  Access Point: 00:0F:66:58:B5:93   
           Mode:Managed  Frequency:2.442 GHz  Access Point: 00:0F:66:58:B5:93   
           Bit Rate=54 Mb/s  Tx-Power=20 dBm   
           Bit Rate=54 Mb/s  Tx-Power=20 dBm   
Ligne 154 : Ligne 163 :
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0  Missed beacon:0
           Tx excessive retries:0  Invalid misc:0  Missed beacon:0
</code>
</div>
*L'interface réseau est indiquée en premier. Dans cet exemple c'est <code>eth1</code>. <cadre type=alert>Gardez son nom en mémoire pour la configuration IP</cadre>
*L'interface réseau est indiquée en premier. Dans cet exemple c'est <div class="code">eth1</div>. <cadre type=alert>Gardez son nom en mémoire pour la configuration IP</cadre>
*ESSID est l'ESSID du point d'accès
*ESSID est l'ESSID du point d'accès
*Bit Rate est la vitesse de connexion
*Bit Rate est la vitesse de connexion
Ligne 162 : Ligne 171 :


===Configuration IP===
===Configuration IP===
Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier <code>/etc/rc.d/rc.inet1.conf</code>.
Ouvrez votre éditeur favori (vim, emacs, scite ...) et éditez le fichier <div class="code">/etc/rc.d/rc.inet1.conf</div>.


Allez dans le bloc correspondant à votre interface réseau (eth0, eth1, eth2, ...)
Allez dans le bloc correspondant à votre interface réseau (eth0, eth1, eth2, ...)
<code># Config information for eth1:
<div class="code">
IPADDR[1]=""
# Config information for eth1:
NETMASK[1]=""
IPADDR[1]=""
USE_DHCP[1]=""
NETMASK[1]=""
DHCP_HOSTNAME[1]=""
USE_DHCP[1]=""
</code>
DHCP_HOSTNAME[1]=""
*Si vous voulez que le point d'accès configure pour vous l'adresse IP, dans le champ <code>USE_DHCP</code>, placez la valeur <code>yes</code>
</div>
*Sinon donnez votre adresse IP dans le champ <code>IPADDR</code> et le netmask dans <code>NETMASK</code>.
*Si vous voulez que le point d'accès configure pour vous l'adresse IP, dans le champ <div class="code">USE_DHCP</div>, placez la valeur <div class="code">yes</div>
*Sinon donnez votre adresse IP dans le champ <div class="code">IPADDR</div> et le netmask dans <div class="code">NETMASK</div>.


Sauvegarder le tout et redémarrez le réseau : <code>/etc/rc.d/rc.inet1 restart</code>.
Sauvegarder le tout et redémarrez le réseau : <div class="code">/etc/rc.d/rc.inet1 restart</div>.


Normalement, si tout va bien, lorsque vous tapez la commande <code>ifconfig eth1</code>, vous obtenez :
Normalement, si tout va bien, lorsque vous tapez la commande <div class="code">ifconfig eth1</div>, vous obtenez :


<code>eth1      Link encap:Ethernet  HWaddr 00:02:3F:DB:32:83   
<div class="code">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
           inet addr:192.168.4.3  Bcast:192.168.2.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
Ligne 186 : Ligne 196 :
           RX bytes:159440 (155.7 Kb)  TX bytes:90175 (88.0 Kb)
           RX bytes:159440 (155.7 Kb)  TX bytes:90175 (88.0 Kb)
           Interrupt:18 Base address:0x4000  
           Interrupt:18 Base address:0x4000  
</code>
</div>


Vous pouvez alors utilisez votre carte wifi !
Vous pouvez alors utilisez votre carte wifi !
Ligne 193 : Ligne 203 :
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 :
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 :


<code>modprobe ipw2200</code>
<div class="code">modprobe ipw2200</div>


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


<code># urpmi ipw2200-firmware
<div class="code"># urpmi ipw2200-firmware


     ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/non-free/2006.0/./noarch/ipw2200-firmware-2.4-1plf.noarch.rpm
     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
  installation de ipw2200-firmware-2.4-1plf.noarch.rpm depuis /var/cache/urpmi/rpms
Préparation ...                  #############################################
Préparation ...                  #############################################
       1/1: ipw2200-firmware      #############################################</code>
       1/1: ipw2200-firmware      #############################################</div>


== Options de configuration du module ==
== Options de configuration du module ==
Ligne 208 : Ligne 218 :
Pour disposer de la liste de ces infos tapez la commande modinfo suivie du nom du module :
Pour disposer de la liste de ces infos tapez la commande modinfo suivie du nom du module :


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


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


<code>options ipw2200 led=1</code>
<div class="code">options ipw2200 led=1</div>


== Conclusion ==
== Conclusion ==

Version du 30 avril 2012 à 19:22


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

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



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