Menu
Donnez votre avis

Configurer le wifi sous Linux

Posez votre question

WiFi sous Linux


Notre vidéo



Ce tutoriel s'adresse aux personnes sous Debian et les distributions qui se basent dessus (Ubuntu et ses variantes, Linux Mint, xandros...).

Le tutoriel s'appuie directement sur les gestionnaires de paquets en ligne de commande pour s'affranchir de l'interface graphique utilisée (KDE, gnome...), mais vous pouvez tout à fait utiliser votre gestionnaire de paquets graphique si vous le souhaitez (synaptic, adept, etc...).

Pour toutes ces raisons, le tutoriel ne parlera que de commandes à taper dans un terminal et s'abstrait complètement de l'interface graphique utilisée.

Première étape : diagnostic

Les cartes wifi sont de mieux en mieux reconnues et souvent tout marche directement sur les distributions grand public (Ubuntu, Linux Mint...).

Malheureusement, ce n'est pas le cas sous debian et il faudra souvent installer ce qui manque via une connexion ethernet. S'il vous manque certains paquets, tentez de les installer pour récupérer leur adresse. Récupérez le fichier
.deb
en question sur une clé USB et copiez collez le dans
/var/cache/apt/archives
, puis relancez l'installation.

1) Le wifi se configure avec la commande
iwconfig
, qui appartient au paquet
wireless-tools
. Sous debian, ce paquet n'est pas présent par défaut (sous ubuntu passer à l'étape 2). Pour l'installer :

sudo apt-get update    
sudo apt-get upgrade    
sudo apt-get install wireless-tools


2) Listons à présent les cartes disponibles. Sur les portables, vérifiez que l'interrupteur de la carte wifi est activé (la diode devrait être allumée même si sous linux ça ne veut pas dire grand chose) :

(mando@cenedra) (~) $ /sbin/iwconfig    
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

eth1 IEEE 802.11g ESSID:"xxxxx" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: xx:xx:xx:xx:xx:xx
Bit Rate=48 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Power Management:off
Link Quality=57/100 Signal level=-74 dBm Noise level=-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


Dans cet exemple, la carte wifi correpond à
eth1
. Selon la version du système et le modèle de la carte, ce nom peut varier (
eth2
,
wlan0
,
ra0
, ...). La seule chose qui compte, c'est le résultat qui apparaît dans
iwconfig
.

Si d'après
iwconfig
, aucune carte ne prend en charge le wifi, c'est que la votre carte n'est pas supportée à ce stade, vraisemblablement car le pilote adéquat n'est pas installé. Dans ce cas, passez à la seconde étape, et sinon, directement à la troisième étape.

Deuxième étape : la carte n'est pas reconnue

La méthode à adopter dépend du modèle de la carte. Bien souvent, vous pourrez vous appuyer sur la documentation ubuntu (même si vous n'êtes pas exactement sous ubuntu). Une fois le pilote installé, pensez à redémarrer pour que celui soit correctement chargé.

Toutefois, si la carte n'est pas référencée sur la page de documentation mentionnée ci-dessus, on adoptera la démarche présentée dans les sections qui suivent.

Il est recommandé d'installer au préalable
aptitude
. C'est une alternative à
apt-get
qui permet de vérifier, dans la description d'un paquet, quels sont les modèles exacts de carte wifi qu'il supporte.

Méthode recommandé : utiliser le pilote linux

Dans tous les cas il faut commencer par déterminer le modèle exact de la carte wifi avec la commande
lspci
.

Cartes ralink :

Commencer par chercher le nom du paquet :

(mando@cenedra) (~) $ apt-cache search ralink    
rt2400-source - source for rt2400 wireless network driver
rt2500-source - source for rt2500 wireless network driver
rt2570-source - source for rt2570 wireless network driver


Une fois le paquet adéquat repéré, on vérifie qu'il supporte sa carte, et si c'est le cas on l'installe :

aptitude show rt2570-source
sudo apt-get update
sudo apt-get install rt2570-source


Cartes atheros

En général, il suffit d'installer le paquet
madwifi
.

Cartes intel

Sous debian, il faut installer un firmware (pensez à rajouter les dépôts non-free dans /etc/apt/sources.list si ces paquets n'apparaissent pas) :

(mando@aldur) (~) $ apt-cache search firmware | grep -i intel | grep -i firmware    
firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915
firmware-iwlwifi - Binary firmware for Intel Wireless 3945 and 4965


La plupart des cartes intel sont supportées par
firmware-iwlwifi
:

aptitude show firmware-iwlwifi


Si vous êtes dans ce cas :

sudo apt-get install firmware-iwlwifi


Cartes realtek

Sous debian, la démarche est la même que pour les cartes Intel, il faut chercher le firmware adéquat, l'installer et redémarrer.

Autres cas

Si vous êtes sous debian, assurez-vous qu'un firmware ne supporte pas votre carte.

apt-cache search firmware | grep ^firmware


Comme expliqué dans les sections précédentes,
aptitude show ...
vous permettra de vérifier si votre carte est bien supportée par tel ou tel paquet.

Parfois d'autre cartes, peuvent marcher avec cette méthode

Deuxième méthode : ndiswrapper

Pour les cas désespérés, vous pouvez essayer de convertir le driver windows avec
ndiswrapper
. On pourra s'inspirer des liens suivants (le premier est appliqué à une mandriva mais modulo le urpmi évoqué au début, la démarche reste la même) :
Wifi livebox et ndiswrapper sous Mandriva 2005
Installer un pilote wifi grâce à Ndiswrapper
http://doc.ubuntu-fr.org/ndiswrapper

Troisième étape : configurer la carte

On part du principe que le point d'accès distribue dynamiquement (par DHCP) une adresse IP, des routes, des DNS, ce qui est le cas de la majorité des points d'accès wifi (box en particulier). Si vous utilisez une box, vous êtes dans ce cas.

Sur les dernières distributions, plutôt que d'aller modifier les fichiers de configuration à la main, on utilisera une interface graphique comme par exemple Network Manager. Cela signifie que la plupart du temps, ce qui est indiqué ci-dessous n'a pas besoin d'être fait !
http://doc.ubuntu-fr.org/networkmanager

Uniquement si on ne veut pas ou peut pas passer par Network Manager, la méthode "manuelle" est détaillée ci-dessous. Dans ce cas vous devrez déterminer si votre box utilise du WEP ou du WPA. WPA est bien plus sûr, et de nos jours, c'est le protocole qui est habituellement utilisé par défaut.

En WEP

Il suffit de modifier le fichier
/etc/network/interfaces
conformément à cet exemple en tapant en root ou avec
sudo
:

sudo nano /etc/network/interfaces


Ensuite, on modifie la section relative à la carte (ici eth1) sans toucher au reste :

auto eth1    
iface eth1 inet dhcp
wireless-essid Mon_EssiD
wireless-key 1234567890ABCDEF


... où 1234567890ABCDEF désigne la clé WEP. Attention à bien respecter la casse au moment de saisir l'ESSID. On sauve et quitte (ctrl x).

En WPA

La démarche est similaire, mais il faut au préalable installer
wpa_supplicant
:

sudo apt-get install wpa_supplicant


Corriger
/etc/network/interfaces
:

sudo nano /etc/network/interfaces


Modifier la section correspondant à la carte wifi (ici
eth1
) :

auto eth1    
iface eth1 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


Sauver et quitter (ctrl x). Il ne reste plus qu'à configurer
wpasupplicant
:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


Dans ce fichier, on met :

ctrl_interface=/var/run/wpa_supplicant    
eapol_version=1
ap_scan=1
fast_reauth=1

network={
ssid="Mon_EssiD"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk=1234567890ABCDEF
priority=5
}


... où
1234567890ABCDEF
désigne la clé WPA. Attention à bien respecter la casse au moment de saisir l'ESSID. Sauver et quitter (ctrl x).

Note : sur les versions récentes, il semblerait que la clé WPA puisse directement être configurée dans
/etc/network/interfaces
et qu'il n'y ait plus forcément besoin de
wpasupplicant
.

Quatrième étape : se connecter au point d'accès

Préparer le routeur

Freebox

Assurez-vous que le service wifi est activé sur l'interface web de la freebox et que vous êtes en mode routeur. Pensez à configurer les éventuelles redirections de ports dont vous pourriez avoir besoin si vous étiez en mode modem.


Filtrage MAC (Livebox, SFR box...)

Si c'est la première fois que vous vous connecter avec cette carte wifi à ce réseau wifi et que votre box fait un filtrage MAC, pensez à appuyer sur le bouton d'association de votre box (voir notice de votre box). Généralement vous disposez alors de l'ordre d'une minute pour vous connecter à votre box.

Par exemple, si vous avez une livebox, le bouton en question (au bas de la livebox, ou au dos de la livebox) fait clignoter la diode wifi, et tant qu'il clignote, vous pouvez tenter de faire votre première connexion. Si vous n'avez pas été assez rapide, appuyez à nouveau dessus.

Notez que cette procédure n'est nécessaire que la première fois que vous vous connectez, par la suite, l'adresse physique de la carte wifi est mémorisée dans votre box. Si vous vous êtes déjà connecte avec cette carte en étant sous windows, il est inutile de la ré-effectuer.

Établir la connexion

Si vous utilisez network-manager, il suffit d'utiliser l'icône réseau pour vous connecter (généralement, près de votre horloge).

Si vous avez utilisé la méthode manuelle, comme
/etc/network/interfaces
est configuré, il suffit d'utiliser
ifup
(respectivement
ifdown
) pour se connecter (respectivement pour se déconnecter).

Exemple :

sudo ifup eth1


Ceci revient à lancer :

sudo ifconfig eth1 up    
sudo dhclient eth1


Si tout se passe bien, ça devrait ressembler à ça :

(mando@cenedra) (~) $ sudo dhclient eth1    
[sudo] password for root:
Internet Systems Consortium DHCP Client V3.0.6
Copyright 2004-2007 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wmaster0: unknown hardware address type 801
wmaster0: unknown hardware address type 801
Listening on LPF/eth1/00:19:d2:4d:2e:f5
Sending on LPF/eth1/00:19:d2:4d:2e:f5
Sending on Socket/fallback
DHCPREQUEST of 192.168.0.13 on eth1 to 255.255.255.255 port 67
....
DHCPACK of 192.168.0.13 from 192.168.0.254
bound to 192.168.0.13 -- renewal in 343576 seconds


Ici la carte wifi a reçu avec succès (
DHCPACK
) l'IP locale
192.168.0.13
. On peut contrôler que désormais, votre linux utilise désormais le DNS fourni par votre routeur wifi et les routes adéquates.

/sbin/route -n    
cat /etc/resolv.conf


Vous pouvez alors vérifier que tout marche bien :

nslookup www.google.fr    
ping -c2 www.google.fr

Toujours en difficulté ?

Il suffit d'ouvrir un message sur le forum linux

Pensez à préciser :
  • votre modèle de carte wifi (à l'aide des commandes
    lspci
    ou
    lsusb
    )
  • votre distribution
  • votre type de routeur


Il faudra aussi reporter les résultats des commandes de diagnostic suivantes :

/sbin/iwconfig    
/sbin/ifconfig    
/sbin/route -n    
cat /etc/resolv.conf    
nslookup www.google.fr    
ping -c2 www.google.fr


... et le contenu des fichiers de configurations wifi :

cat /etc/network/interfaces    
cat /etc/wpa_supplicant/wpa_supplicant.conf


Pensez à anonymiser les clés (WEP, WPA) qui pourraient apparaître lors du iwconfig et dans les fichiers de configuration.

A voir également

Article original publié par Carlos-vialfa. Traduit par mamiemando.

Ce document intitulé «  Configurer le wifi sous Linux  » issu de CommentCaMarche (https://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Ajouter un commentaire

Commentaires

Commenter la réponse de jalobservateur