🛠 Se connecter au Wi-Fi (et comprendre les limites 2,4 GHz / WPA2)
Objectifs
Configurer et diagnostiquer la connexion Wi-Fi de la Zero 2 W : le combo radio embarqué (puce Cypress/Infineon classe 43430) est limité au 2,4 GHz 802.11n (35 Mb/s max) et au WPA2 — pas de 5 GHz, pas de WPA3 (bug amont ouvert depuis 2021, raspberrypi/linux#4718). Savoir lire la qualité du lien est la base de tout projet IoT fiable.
Matériel
- 1 Raspberry Pi Zero 2 W déjà démarrée en headless (voir le tuto installation)
- Un point d'accès 2,4 GHz en WPA2 (si votre box est en WPA3-only, créez un réseau invité WPA2/2.4 GHz — la Zero 2 W ne pourra pas rejoindre le réseau principal)
- Antenne embarquée sous le blindage métal : pas de connecteur d'antenne externe (l'empreinte u.FL sur la carte n'est que pour la certification) — l'emplacement de la carte compte donc beaucoup.
Code complet
# Avec wpa_cli (Raspberry Pi OS Lite) :
sudo wpa_cli -i wlan0 scan
sudo wpa_cli -i wlan0 scan_results | grep -i "mon_reseau"
sudo wpa_cli -i wlan0 add_network
sudo wpa_cli -i wlan0 set_network 0 ssid '"mon_reseau"'
sudo wpa_cli -i wlan0 set_network 0 psk '"motdepassewifi"'
sudo wpa_cli -i wlan0 select_network 0
# Diagnostic du lien :
iw dev wlan0 link # état + signal en dBm
iw dev wlan0 info # canal, bitrate
ip -4 addr show wlan0 # adresse IP obtenue (DHCP ?)
ping -c 4 1.1.1.1 # connectivité hors DNS
Vérification attendue
« iw dev wlan0 link » affiche « Connected to » avec un signal : au-delà de -70 dBm c'est confortable, en dessous de -85 dBm c'est marginal sur du 2,4 GHz. Le ping 1.1.1.1 passe. Si le réseau cible est en WPA3, le scan le voit mais l'association échoue éternellement — c'est la limite matérielle documentée, pas votre mot de passe.
Erreurs fréquentes
- Box en mode WPA3-only : la puce ne sait pas faire ; rester en WPA2 ou WPA2/WPA3 mixte.
- Réseau d'entreprise 802.1X : wpa_cli en PSK ne suffit pas, il faut un fichier wpa_supplicant dédié (EAP-PEAP + identifiant).
- Ne connecter que le 5 GHz : la Zero 2 W est aveugle au 5 GHz ; si la box ne diffuse qu'un SSID 5 GHz, elle ne le verra jamais.
- Brouillage 2,4 GHz (voisins, micro-ondes) : débits et latence s'écroulent sans déconnexion visible — comparer le bitrate avec « iw dev wlan0 info ».
- Erreurs « brcmfmac ... failed: -5 » et coupures après upgrade Bookworm : bug connu (raspberrypi/firmware#1962) ; tester un noyau/firmware antérieur ou consigner le log avec dmesg avant de suspecter l'antenne.
Autres tutoriels pour cette carte
- Premier démarrage de la Zero 2 W sans écran (headless)
- Surveiller la température et la fréquence de la Zero 2 W
- GPIO en Python : LED et bouton avec gpiozero
- Le tour de passe-passe « clé USB Linux » : Ethernet sur USB (g_ether)
- Serveur de blocage de pub réseau avec Pi-hole
- Remettre une Zero 2 W en état de boot : usbboot et boot files
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash