Recherche
Posez votre question »

Configurer le wifi sous Linux

Avril 2015


WiFi sous Linux


Ce tutoriel s'adresse aux personnes sous debian et les distributions qui se basent dessus (ubuntu, 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 on pourrait installer ces paquets via synaptic, adept ou tout autre assistant graphique. De même, dans ce tutoriel, on modifie directement les fichiers de configuration réseau pour s'abstraire des éventuels assistants (comme Network Manager) et de leur interface graphique.

Toutefois, de plus en plus linux permet (si la carte wifi est correctement prise en charge par linux !) de se connecter à un réseau sans fil très facilement. Le but de ce tutoriel est de détailler pas à pas toute mise en place manuelle du wifi sous debian ou distribution dérivée.

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. Pour lancer un terminal :
http://doc.ubuntu-fr.org/terminal

Première étape : diagnostic

Les cartes wifi sont de mieux en mieux reconnues et souvent tout marche directement. Le wifi se configure avec iwconfig, qui appartient au paquet wireless-tools.

1) Sous debian, ce paquet n'est pas présent par défaut (sous ubuntu passer à l'étape 2). Pour l'installer :

sudo aptitude update    
sudo aptitude safe-upgrade
sudo aptitude install wireless-tools


Évidemment, ça suppose d'avoir un autre moyen de se connecter (ethernet,...). Sinon, relevez l'adresse des paquets qu'aptitude cherche à télécharger, récupérez-les (par exemple sous un système ou le Wi-Fi fonctionne) et mettez-les dans /var/cache/apt/archives. Puis relancez la commande :

sudo aptitude 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, tout va bien, une carte wifi nommée eth1 a été trouvée. Selon la machine et la marque, la carte peut s'appeler différemment (eth2, wlan0, ra0, ...), la seule chose qui compte, c'est ce qui apparaît dans iwconfig. Si la carte n'apparaît pas dans le iwconfig, c'est que la carte n'est pas prise en charge. Dans ce cas, passez à la seconde étape, et sinon, directement à la troisième étape.

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

Si la carte n'est pas directement reconnue, il faut essayer selon la marque. En général, il suffit de s'inspirer de ce qui est dit ici :
http://doc.ubuntu-fr.org/wifi

Dans les grandes lignes ou si la carte n'est pas référencée sur la page de documentation mentionnée ci-dessus, on adoptera la démarche suivante.

1) Chercher un drivers linux

Pour les ralink :

(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


Pour les atheros, on utilise par exemple madwifi.

Pour les intel : 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


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

2) 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

Je pars 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).

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

Si on ne veut pas ou peut pas passer par Network Manager, la méthode "manuelle" est détaillée ci-dessous.

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

C'est à peine plus compliqué, mais il faut au préalable installer wpa_supplicant. Si seule la connexion Ethernet est possible et que ce paquet manque, reproduisez la démarche proposée dans la première étape pour récupérer wpasupplicant et ses dépendances :

sudo aptitude install wpasupplicant


Ensuite, on corrige /etc/network/interfaces :

sudo nano /etc/network/interfaces


Et on modifie la section correspondant à la carte wifi (ici eth1) :

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


On sauve et on quitte (ctrl x). Il faut à présent 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. On sauve et quitte (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 wpa_supplicant.

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

1) Préparez le routeur :
  • Pour les détenteurs d'une 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.
  • Pour les détenteurs de livebox, appuyez sur le bouton qui fait clignoter la diode wifi (au bas de la livebox, ou au dos de la livebox)
  • Pour les détenteurs de routeurs wifi effectuant un filtrage sur l'adresse MAC, ajoutez au préalable l'adresse MAC de votre carte wifi dans la liste des interfaces autorisées par votre routeur, en vous connectant en ethernet ou USB à l'interface de votre routeur. Vous pouvez récupérer cette adresse avec la commande ifconfig :


(mando@cenedra) (~) $ /sbin/ifconfig    
...
eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0
...


d- Pour les autres... ben... lisez la notice, j'ai jamais testé :-)

2) Connectez l'interface.

Étant donné que /etc/network/interfaces est prêt, on peut directement utiliser ifup (connecte l'interface) et ifdown (déconnecte l'interface) :

sudo ifup eth1


Notons que ceci équivaut à :

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 l'IP locale 192.168.0.13 (qui a dit que 13 portait malheur ?)

A priori, si le DHCPACK a marché, tout devrait être bon car on a aussi reçu des routes et des DNS. Pour s'en assurer :

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


On peut vérifier que tout marche bien :

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


Partant de là tout devrait marcher ;-)

Toujours en difficulté ?

Il suffit d'ouvrir un message sur le forum linux

Pensez à préciser :
  • votre modèle de carte wifi
  • 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.
Pour une lecture illimitée hors ligne, vous avez la possibilité de télécharger gratuitement cet article au format PDF :
Configurer-le-wifi-sous-linux.pdf

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

A voir également

Dans la même catégorie

Configurar Wi-Fi en Linux
Par Carlos-vialfa le 18 avril 2013
Configurar o wifi no Linux
Par pintuda le 28 janvier 2010
Publié par mamiemando. - Dernière mise à jour par baladur13
Ce document intitulé «  Configurer le wifi sous Linux  » issu de CommentCaMarche (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.