🛠 Routeur de voyage : installer OpenWrt sur la Zero 2 W
Objectifs
Sortir de Raspberry Pi OS : la Zero 2 W est officiellement supportée par OpenWrt (cible 64-bit bcm27xx/bcm2710, device « rpi-zéro-2 ») — premier Zero 64-bit de la gamme, ce qui débloque ces images aarch64. Objectif : un routeur de voyage — le laptop se connecte via le port USB gadget, la Zero 2 W fait le pont vers le Wi-Fi de l'hôtel, et le trafic sort derrière son propre NAT/pare-feu.
Matériel
- 1 Raspberry Pi Zero 2 W + microSD
- 1 PC pour flasher (dd/Etcher) et le port USB pour le mode recovery
- Le réseau Wi-Fi 2,4 GHz du lieu (la carte ne voit pas le 5 GHz — un hôtel 5 GHz-only est inutilisable comme uplink)
- L'image OpenWrt : cible bcm27xx/bcm2710, profil « rpi-3 » (sysupgrade), version 23.05.x
Code complet
# 1) Télécharger l'image bcm27xx/bcm2710 (profil rpi-3) pour OpenWrt 23.05.x,
# puis flasher la SD :
sha256sum openwrt-23.05.5-bcm27xx-bcm2710-rpi-3-squashfs-sysupgrade.zip
unzip openwrt-*.zip
sudo dd if=openwrt-*.img of=/dev/sdX bs=4M status=progress conv=fsync
# 2) Premier boot : OpenWrt écoute en 192.168.1.1 sur eth0 (ici via g_ether,
# config.txt/cmdline.txt déjà réglés comme au tuto ethernet-gadget) :
ssh root@192.168.1.1
# 3) Config minimale du mode client+AP (uci) :
uci set wireless.radio0.channel='auto'
uci commit wireless
# Interface WAN en client du réseau de l'hôtel (via l'interface Wi-Fi),
# LAN côté gadget USB — puis redémarrer le réseau :
/etc/init.d/network restart
# 4) Sur le laptop : navigateur vers 192.168.1.1 (LuCI) pour piloter le routeur.
Vérification attendue
« ubus call system board » indique « model: Raspberry Pi Zero 2 W » et l'architecture aarch64. Le laptop branché en USB obtient une IP en 192.168.1.x, « ping 1.1.1.1 » sort par l'uplink hôtel, et LuCI affiche le trafic. L'intérêt du voyage : tous les appareils derrière la Zero 2 W partagent une seule identité réseau et un pare-feu que VOUS contrôlez.
Erreurs fréquentes
- Prendre une image 32-bit « parce que c'est un Zero » : la Zero 2 W est le premier Zero ARMv8 ; la cible bcm2710 est en aarch64, les anciennes images ARMv6 (Zero/Zero W) ne bootent pas correctement.
- Uplink en 5 GHz : radio 2,4 GHz uniquement — vérifier que l'hôtel diffuse bien un SSID 2,4 GHz.
- Épuiser les 512 Mo en faisant tourner le routeur + des paquets optionnels : OpenWrt est taillé pour, mais Raspberry Pi OS + desktop, non — ne pas mélanger les tutos sur la même SD.
- Perte de config irrécupérable : pas d'EEPROM, tout est sur la SD — sauvegarder /etc/config (uci export) avant chaque changement.
- Débit amont plafonné : 35 Mb/s théoriques en 802.11n 2,4 GHz, et le port unique est partagé avec l'alimentation — prévoyez le câble en Y.
Autres tutoriels pour cette carte
- Premier démarrage de la Zero 2 W sans écran (headless)
- Se connecter au Wi-Fi (et comprendre les limites 2,4 GHz / WPA2)
- 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
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash