8.7 KiB
Changer de réseau Wi-Fi sur un Raspberry Pi
Avant de commencer : la procédure dépend de la version de Raspberry Pi OS installée. Depuis Bookworm (octobre 2023) puis Trixie (octobre 2025), Raspberry Pi OS gère le Wi-Fi avec NetworkManager. Les versions plus anciennes (Bullseye et antérieures, en fin de vie) utilisent encore
wpa_supplicant.Pour identifier votre version :
cat /etc/os-releaseCherchez la ligne
VERSION_CODENAME=:trixieoubookworm→ NetworkManager (section principale ci-dessous).bullseyeou plus ancien →wpa_supplicant(section Cas hérité en fin d'article).⚠️ Si vous êtes connecté en SSH via le Wi-Fi que vous allez modifier, vous risquez fortement de perdre la connexion au moment du basculement, sans pouvoir reprendre la main. Prévoyez un secours : clavier/écran branchés sur le Pi, ou un câble Ethernet, ou a minima un accès physique pour redémarrer.
Un peu de contexte avant de taper des commandes
Sur un système Linux, "se connecter au Wi-Fi" implique trois étages qui doivent collaborer :
- Le pilote de la puce Wi-Fi, fourni par le noyau, qui sait parler à la radio.
- Le supplicant (wpa_supplicant), qui négocie l'authentification WPA2/WPA3 avec le point d'accès.
- Le gestionnaire de connexion (NetworkManager ou
dhcpcd), qui décide quel réseau rejoindre, conserve les profils enregistrés, et demande une adresse IP en DHCP une fois la liaison établie.
Historiquement, Raspberry Pi OS faisait écrire les profils Wi-Fi directement dans /etc/wpa_supplicant/wpa_supplicant.conf — un seul fichier texte global. Depuis Bookworm, NetworkManager prend ce rôle : chaque réseau enregistré devient un fichier de profil distinct dans /etc/NetworkManager/system-connections/, ce qui rend la gestion multi-réseaux beaucoup plus propre (chaque profil a ses propres options : priorité, IP statique, DNS, etc., sans interférer avec les autres). C'est ce changement qui explique pourquoi les anciens tutoriels ne marchent plus tels quels sur un Pi récent.
Méthode la plus simple : raspi-config
L'outil officiel reste la voie la plus rapide, et il fonctionne sur toutes les versions — il appelle la bonne API en coulisses (NetworkManager ou wpa_supplicant) selon votre système. Pas besoin de se souvenir de quel outil utilise quelle version.
sudo raspi-config
Naviguez vers : System Options → Wireless LAN et suivez les invites (code pays, SSID, mot de passe).
En une seule ligne, sans interaction (pratique en script ou via SSH sur Ethernet) :
sudo raspi-config nonint do_wifi_ssid_passphrase "nom-reseau" "mot-de-passe"
💡 Pourquoi le code pays compte. Les canaux Wi-Fi autorisés diffèrent d'un pays à l'autre, surtout en 5 GHz. Si votre Pi ne voit pas votre réseau 5 GHz alors qu'il est juste à côté de la box, vérifiez le code pays avec
raspi-config → Localisation Options → WLAN Country(ouiw reg geten ligne de commande). Un code pays absent ou incorrect bloque la radio sur les seuls canaux 2,4 GHz universels.
Méthode NetworkManager (Bookworm, Trixie et au-delà)
Si vous voulez comprendre ce que fait l'outil — ou scripter votre propre déploiement — voici les commandes natives. L'outil en ligne de commande s'appelle nmcli (NetworkManager Command Line Interface).
Ajouter un réseau et s'y connecter
sudo nmcli device wifi connect "nom-reseau" password "mot-de-passe"
Cette unique commande fait trois choses en cascade : elle crée un profil de connexion, l'active immédiatement, et coche automatiquement autoconnect pour que le Pi rejoigne ce réseau au prochain démarrage. Le profil est sauvegardé dans /etc/NetworkManager/system-connections/nom-reseau.nmconnection.
Interface en mode texte (plus visuel)
Pour ceux qui préfèrent naviguer dans des menus en console :
sudo nmtui
C'est utile quand on a un accès clavier/écran direct mais pas de souris.
Inspecter ce qui est configuré
nmcli connection show # liste tous les profils enregistrés
nmcli device wifi list # affiche les réseaux à portée
nmcli device status # état actuel de chaque interface
nmcli connection show est l'équivalent moderne du "regarder dans wpa_supplicant.conf" d'autrefois : c'est là qu'on vérifie ce que le Pi a en mémoire.
Basculer entre deux réseaux déjà connus
Si vous avez déjà enregistré le réseau du bureau et celui de la maison, pas besoin de re-saisir le mot de passe :
sudo nmcli connection up "nom-du-profil"
Oublier un réseau
sudo nmcli connection delete "nom-du-profil"
Cela supprime le fichier .nmconnection correspondant. Utile quand vous avez tapé un mauvais mot de passe la première fois — sinon le Pi continuera à retenter avec les mauvais identifiants.
Méthode manuelle : éditer un fichier .nmconnection
Pour des cas spécifiques (préprovisionnement sur une carte SD, déploiement en masse, IP statique avec options pointues), vous pouvez écrire directement le fichier de profil. Créez /etc/NetworkManager/system-connections/mon-wifi.nmconnection :
[connection]
id=mon-wifi
type=wifi
autoconnect=true
interface-name=wlan0
[wifi]
mode=infrastructure
ssid=nom-reseau
[wifi-security]
key-mgmt=wpa-psk
psk=mot-de-passe
[ipv4]
method=auto
[ipv6]
method=auto
Une étape qu'on oublie souvent et qui fait tout échouer : NetworkManager refuse de charger un fichier de profil dont les permissions sont trop laxistes (le mot de passe Wi-Fi est en clair dedans). Il faut donc :
sudo chmod 600 /etc/NetworkManager/system-connections/mon-wifi.nmconnection
sudo chown root:root /etc/NetworkManager/system-connections/mon-wifi.nmconnection
Puis demander à NetworkManager de relire ses profils :
sudo nmcli connection reload
sudo nmcli connection up mon-wifi
Si vous omettez chmod 600, le profil est silencieusement ignoré et vous tournerez en rond à chercher pourquoi rien ne se passe.
Cas hérité : Bullseye et antérieur (wpa_supplicant)
Sur ces versions plus anciennes, wpa_supplicant.conf est encore le fichier de référence. Important : sur Bookworm et Trixie, ce fichier n'est lu qu'au tout premier démarrage (pour récupérer ce que l'outil Imager a éventuellement préprovisionné) ; après ça, il est ignoré. N'essayez donc pas de l'éditer sur un système moderne, vous ne verrez aucun effet.
Sur Bullseye, en revanche, on édite :
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Le fichier ressemble à ceci :
ctrl_interface=/run/wpa_supplicant
update_config=1
country=FR
network={
ssid="nom-reseau"
psk="mot-de-passe"
}
💡 Pourquoi
country=FR. Même remarque que plus haut : sans code pays, la puce Wi-Fi reste bridée. Adaptez à votre pays réel (country=BE,country=CH, etc.).
Une fois enregistré, on demande à wpa_supplicant de recharger sa configuration sans redémarrer le service — ce qui évite de couper d'autres interfaces actives :
sudo wpa_cli -i wlan0 reconfigure
La nouvelle configuration s'applique immédiatement et la connexion bascule.
Quand la reconfiguration douce ne suffit pas
Service dans un état incohérent, processus orphelin après un crash, configuration partiellement appliquée… il faut alors taper plus fort en relançant les deux services qui collaborent (le supplicant pour l'authentification, dhcpcd pour l'IP) :
sudo systemctl restart wpa_supplicant
sudo systemctl restart dhcpcd
Vérifiez que wpa_supplicant est bien actif :
systemctl status wpa_supplicant
Et que l'interface a obtenu une adresse IP (s'il n'y a pas de ligne inet 192.168.x.x, c'est que le DHCP n'a pas répondu — souvent parce que l'authentification Wi-Fi a en réalité échoué juste avant) :
ip addr show wlan0
Vérifications utiles dans tous les cas
Que vous soyez sur NetworkManager ou wpa_supplicant, voici les commandes de diagnostic qui marchent partout :
ip addr show wlan0 # ai-je une adresse IP sur le Wi-Fi ?
ping -I wlan0 8.8.8.8 # le Wi-Fi route-t-il réellement le trafic ?
iw dev wlan0 link # à quel point d'accès suis-je associé, et avec quel signal ?
La séquence logique en dépannage : interface up → associée au SSID → adresse IP attribuée → Internet accessible. Quand ça ne marche pas, identifier à quelle étape ça coince fait gagner un temps considérable plutôt que de tout redémarrer au hasard.
Après ces étapes, votre Raspberry Pi se connecte au nouveau réseau, et le profil est mémorisé pour les prochains démarrages.