13
Merci

Quelques mots de remerciements seront grandement appréciés.

Configurer le wifi sous Linux



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, ...).

Afin de s'affranchir de votre interface graphique :
  • Le tutoriel s'appuie notamment sur les commandes apt. Vous pouvez toutefois utiliser votre logithèque si vous préférez.
  • Le tutoriel propose de modifier les fichiers de configuration via nano. Vous pouvez si vous le souhaitez utiliser un éditeur graphique, par exemple gedit. Dans ce cas, remplacez dans les commandes qui suivent
    sudo nano
    par
    pkexec gedit
    .

Les commandes sont à taper dans un terminal.

Enfin, pour s'affranchir des nuances entre Debian et Ubuntu, le tutoriel considère que le paquet
sudo
est installé (ce qui n'est pas le cas par défaut sous Debian). Pour installer sudo sous Debian, lancez dans un terminal en tant que root :

apt-get update
apt-get install sudo

Contrôler que la carte est bien supportée

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, dont la politique exclue par défaut les logiciels propriétaires (ce qui inclue les firmwares de carte wifi).
  • Récupérer le firmware via une carte réseau supportée, par exemple votre connexion ethernet.
  • Récupérer le paquet (fichier
    .deb
    ) contenant le firmware depuis un autre PC, le mettre sur une clé USB, puis copier ce fichier
    .deb
    dans
    /var/cache/apt/archives
    .


La suite du tutoriel suppose que vous avez un accès Internet (par exemple en ethernet).

1) Si vous êtes sous Debian, il faut au préalable installer le paquet
wireless-tools
en lançant les commandes suivantes en tant que root :

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


2) La commande
/sbin/iwconfig
permet de voir quelles sont les interfaces réseaux correspondant à une carte wifi.

Exemple :

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


Ici, la carte wifi est nommée
eth1
. Les autres interfaces (
lo
,
eth0
, etc...) ne sont ici pas des interfaces wifi.

Note : le nom assigné à une carte wifi peut varier selon le constructeur et la version de linux (
eth2
,
wlan0
,
ra0
, ...).

3) De deux choses l'unes :
  • une carte semble prendre en charge le wifi : passez à la section "Configuration".
  • aucune carte ne gère le wifi : passez à la section "Installation du pilote wifi"

Installation du pilote wifi

La méthode diffère selon le modèle de la carte.

Il faut commencer par déterminer le modèle exact de la carte :
  • S'il s'agit d'une carte wifi "interne" :
    lspci | grep -i wireless
    .
  • S'il s'agit d'un dongle USB :
    lsusb
    .


Si vous êtes sous Ubuntu ou Linux Mint, consultez documentation ubuntu et suivez le tutoriel correspondant à votre carte.

Sinon, tentez les approches suivantes (de la meilleure à la moins bonne) :
  • Installer le firmware adéquat (Debian uniquement)
  • Récupérer les sources du pilote linux et les compiler
  • Utiliser nsdiswrapper.

Firmware (Debian) (recommandé)

Il faut au préalable activer les dépôts
free
et
non-free
. Pour cela :

1) Éditez le fichier
/etc/apt/sources.list
avec des droits root:

Exemple :
sudo nano /etc/apt/sources.list


2) Dans ce fichier, ajoutez les mots clés
non-free
et
contrib
à la suite de
free
. Puis sauvez et quitter.

Exemple :
deb http://ftp.fr.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ stable-updates main contrib non-free


3) Réindexez les dépôts. En root :

apt-get update


3) Recherchez les modèle de votre carte wifi.

Exemple : s'il s'agit d'une carte Intel :
apt-cache search intel  | grep ^firmware
.

Vous pouvez à présent contrôler les modèles de carte supportés par le firmware avec
aptitude
.

Exemple : si l'on souhaite voir ce que supporte :
aptitude show firmware-iwlwifi

Pilote linux

Atheros

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

sudo apt-get update
sudo apt-get install madwifi


Intel

Sous Debian, installez le firmware adéquat (voir section précédente) et redémarrez.

Ralink

1) Chercher le nom du paquet :

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


2) On peut contrôler les modèles de carte supportés par le firmware avec
aptitude
(au besoin, installez
aptitude
avec la commande
sudo apt-get install aptitude
).

aptitude show rt2570-source


3) Installez le paquet

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

Realtek

Sous Debian, installez le firmware adéquat (voir section précédente) et redémarrez.

Autres

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

apt-cache search firmware | grep ^firmware
.

ndiswrapper (déconseillé)

Cette méthode est à réserver au cas désespérés et ne marche pas toujours bien. L'idée consiste à tirer partie du pilote windows pour construire un pilote linux.

Configuration du wifi

Cette étape suppose que la carte wifi est bien installée (voir section précédente).

La plupart des points d'accès wifi (livebox, freebox, hotspots etc.) assignent dynamiquement une configuration IP à un équipement qui se connecte en wifi par DHCP. Ceci inclue :
  • assigner une IP à cette équipement dans le réseau wifi
  • configurer les routes adéquates
  • configurer les serveurs DNS


Toutefois, il faut au préalable s'authentifier auprès du point d'accès wifi. Pour cela il faut déterminer :
  • le nom du réseau wifi (ESSID)
  • le mot de passe associé
  • idéalement, le type d'authentification mis en œuvre (WEP ou WPA). Si votre point d'accès est configuré en WEP, il est fortement recommandé de le configurer en WPA2 domestique, bien plus sûr.


Plusieurs logiciels existent pour identifier votre machine sous linux au point d'accès wifi :
  • via un assistant de connexion réseau : NetworkManager ou wicd
  • via les fichiers de configurations (déconseillé).

NetworkManager (recommandé)

Network Manager est la solution utilisée de nos jours sous linux. Il existe différentes interfaces pour le manipuler :
  • KDE : Installez le paquet
    plasma-nm
    et relancez KDE.
  • Autres interfaces graphique : Installez le paquet
    network-manager-gnome
  • En mode texte : Installez le paquet
    network-manager
    puis utilisez la commande
    nmcli
    .

wicd

N'utilisez wicd que si NetworkManager ne fonctionne pas. Pour plus de détails, consultez cette page.

À la main (déconseillé)

Uniquement si on ne veut/peut pas par Network Manager, la méthode "manuelle" est détaillée ci-dessous.
WEP
1) Modifiez le fichier
/etc/network/interfaces
conformément à cet exemple :

sudo nano /etc/network/interfaces


2) Corrigez 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. Sauvez et quittez le fichier.

3) Réinitialisez la configuration de la carte wifi :

sudo ifdown eth1
sudo ifup eth1

WPA
1) Sur les anciennes debian, il faut au préalable installer
wpa_supplicant
(obsolète) :

sudo apt-get install wpa_supplicant


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

2) Corriger
/etc/network/interfaces
:

sudo nano /etc/network/interfaces


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

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


4) 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).

Se connecter au point d'accès

Configurer le 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 NetworkManager, il suffit d'utiliser l'icône réseau pour vous connecter (généralement, près de votre horloge).

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 en précisant :
  • votre distribution
  • votre type de routeur
  • votre modèle de carte wifi :


lscpi | grep -i wireless # S'il s'agit carte wifi interne
lsub # S'il s'agit d'un dongle


Reportez également les résultats des commandes suivantes :

/sbin/iwconfig    
/sbin/ifconfig -a
ip route
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.
13
Merci

Quelques mots de remerciements seront grandement appréciés.

Cet article est régulièrement mis à jour par des experts sous la
direction de Jean-François Pillou, fondateur de CommentCaMarche
et directeur délégué au développement numérique du groupe Figaro.

A voir également

Publié par . Dernière mise à jour le 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.

8 Commentaires