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
Sous Debian et les distributions qui en dérivent (Ubuntu, Mint) une installation logicielle se fait généralement (et devrait idéalement toujours se faire) par
apt
.
apt
permet de récupérer sur Internet les logiciels en question, leur dépendances, et les installe dans le bon ordre, mais cela nécessite évidemment une connexion Internet fonctionnelle. Chaque composant logiciel est contenu dans un paquet (fichier
.deb
), téléchargé dans
/var/cache/apt/archives
, puis est installé.
Méthode 1 (recommandée) : on accède à Internet via une autre interface réseau (par exemple, via sa carte ethernet).
Méthode 2 : Les commandes
apt install
indique l'adresse des fichiers
.deb
que l'on tente de télécharger, il suffit de copier ces adresses et de télécharger depuis un système capable de se connecter à Internet. Les paquets
.deb
doivent ensuite être copiés dans
/var/cache/apt/archives
pour les injecter dans le cache d'
apt
et faire "comme si" ils avaient déjà été téléchargé. Comme les paquets sont dans le cache,
apt
ne tentera pas de les télécharger.
Installer sudo (optionnel)
Afin s'affranchir des nuances entre Debian et Ubuntu, le tutoriel suppose que
sudo
est installé. C'est le cas sous Ubuntu et Mint, mais pas sous Debian. Pour installer
sudo
sous Debian, il suffit de lancer en root :
apt update
apt install sudo
Si vous ne souhaitez pas installer
sudo
, il suffit de lancer toutes les commandes précédées de
sudo
depuis un terminal root. Pour passer root, taper
su -
sous Debian et
sudo su -
sous Ubuntu.
Vérifier si la carte est détectée
Un pilote wifi repose généralement sur un bout de code propriétaire.
Les distributions grand public (Ubuntu, Mint) pré-installent les pilotes en question.
La politique de Debian interdit d'installer le système avec des logiciels propriétaire (ce qui inclue donc les cartes wifi). En conséquence, la carte wifi n'est jamais directement prise en charge et il faut l'installer soi-même.
1) Installer
wireless-tools
:
sudo apt 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, l'interface wifi se nomme
eth1
. Les autres interfaces (
lo
,
eth0
, etc...) ne sont pas des interfaces wifi. Le nom assigné à une carte wifi peut varier selon le constructeur et la version de linux (
eth2
,
wlan0
,
ra0
, ...), il faut donc adapter ce qui suit en conséquence.
Si la carte n'est pas détectée : installer le pilote
Déterminer le modèle de la carte wifi
Pour une carte wifi "interne" :
lspci | grep -i wireless
Pour un dongle USB :
lsusb
Installation du pilote
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) :
Méthode 1 : Installer le firmware adéquat (Debian uniquement) ;
Méthode 2 : Si un tel firmware n'existe pas, chercher et installer les sources du pilote linux ;
Méthode 3 : En dernier recours, installer et utiliser
nsdiswrapper
.
Méthode 1 (recommandée) : avec un firmware
Il faut au préalable activer les dépôts
contrib
et
non-free
, qui mettent à disposition les paquets fournissant des logiciels propriétaires.
1) Éditer le fichier
/etc/apt/sources.list
avec des droits root, par exemple avec l'éditeur texte
On suppose à ce stade que la carte wifi est bien détectée (voir résultat de
/sbin/iwconfig
).
La plupart des points d'accès wifi (livebox, freebox, hotspots etc.) configurent automatiquement la connexion Internet par DHCP (c'est à dire la configuration d'une IP locale, des routes, et du DNS) et on se place donc dans ce contexte.
De nos jours, une connexion wifi se configure via Network Manager. On omet donc les logiciels concurrents (wicd) ou les d'autres approches obsolètes (e.g. via les fichiers de configuration
Avec les autres environnements graphique (gnome, XFCE, ...) : Installez le paquet
network-manager-gnome
En lignes de commande : Installez le paquet
network-manager
puis utilisez la commande
nmcli
.
Utilisation
Avec l'interface graphique de NetworkManager :
Sélectionner le réseau wifi
Saisir l'éventuelle clé wifi demandée
En ligne de commandes, en admettant que le nom du réseau wifi (ESSID) soit
Toto
:
sudo nmcli c up Gunther --ask
Si la connexion est rejetée :
Freebox : s'assurer que la freebox est en mode router
Livebox, SFR box : si le filtrage MAC est activé, s'assurer que la box est en mode association en appuyant sur le bouton adéquat (puis se connecter pendant que la diode wifi clignote). Cette opération n'est nécessaire que la première fois qu'on se connecte à cette box avec cette carte wifi.
Tester la connexion
1) Vérifier l'adressage (l'interface wifi devrait avoir une adresse en 192.168.*.*)
ip addr
Exemple : Dans l'exemple ci-dessous, la carte wifi s'appelle
wlo1
et son IP est
192.168.0.134
:
(mando@aldur) (~) $ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether xxxxxxxxxxxxxxxx brd ff:ff:ff:ff:ff:ff altname wlp0s20f3 inet 192.168.0.134/24 brd 192.168.0.255 scope global dynamic noprefixroute wlo1 valid_lft 37868sec preferred_lft 37868sec ...
2) Contrôler le routage :
ip route
3) Tester la connexion :
ping -c2 www.google.fr
Exemple : ici la connexion fonctionne, car les deux pings ont été reçus.
(mando@aldur) (~) $ ping -c2 www.google.fr PING www.google.fr(par21s19-in-x03.1e100.net (2a00:1450:4007:813::2003)) 56 data bytes 64 bytes from par21s06-in-x03.1e100.net (2a00:1450:4007:813::2003): icmp_seq=1 ttl=115 time=3.54 ms 64 bytes from par21s06-in-x03.1e100.net (2a00:1450:4007:813::2003): icmp_seq=2 ttl=115 time=5.93 ms
--- www.google.fr ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 3.540/4.737/5.934/1.197 ms
4) Tester les DNS
host www.google.fr
Exemple :
(mando@aldur) (~) $ host www.google.fr www.google.fr has address 216.58.214.163 www.google.fr has IPv6 address 2a00:1450:4007:813::2003
Toujours en difficulté ?
Il suffit d'ouvrir un message sur le forum linux en précisant :
votre distribution Linux
votre type de routeur (Livebox, Freebox, etc)
le modèle de votre carte wifi :
lscpi | grep -i wireless # S'il s'agit carte wifi interne
lsusb # S'il s'agit d'un dongle
le résultat des commandes de diagnostic suivantes
/sbin/iwconfig
ip route
cat /etc/resolv.conf
host www.google.fr
ping -c2 www.google.fr