Un vieux tutoriel utilise wpa-roam dans /etc/network/interfaces, d'autres disent wpa-conf. Lequel ?
Traduit de English par IA ·
Encore une question réseau de ma part, désolé. Notre groupe de recherche possède un nœud capteur Pi 3 (humidité du sol + température de l’air) qui est transporté entre le labo et une parcelle de terrain. Il doit rejoindre « LAB-WIFI » au labo et un hotspot 4G (« FIELD-AP ») sur la parcelle, tout en continuant à transmettre à Hermetry où qu’il se trouve.
L’image est ancienne (Buster, héritée d’un ancien étudiant) et utilise ifupdown. La moitié des tutoriels contiennent :
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
L’autre moitié ont iface wlan0 inet dhcp avec wpa-conf. Le fichier actuel contient wpa-roam, et le nœud reste parfois connecté au FIELD-AP sans aucune adresse IP jusqu’à ce qu’on le redémarre. Quelle est la différence réelle entre les deux, et lequel devrais-je utiliser pour deux réseaux ?
Another networking one from me, sorry. Our research group has a Pi 3 sensor node (soil moisture + air temp) that gets carried between the lab and a field plot. It needs to join « LAB-WIFI » in the lab and a 4G hotspot (« FIELD-AP ») at the plot, and keep reporting to Hermetry wherever it is.
The image is old (Buster, inherited from a previous student) and uses ifupdown. Half the tutorials have
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
and the other half have iface wlan0 inet dhcp with wpa-conf. The current file has wpa-roam and the node sometimes sits on the field AP with no IP address at all until someone power-cycles it. What is the actual difference between the two, and which should I use for two networks?
Traduit de English par IA ·
Avant toute chose : passer à Bookworm est-il une option ? NetworkManager fait disparaître toute cette question.
Before anything: is moving it to Bookworm an option? NetworkManager makes this whole question go away.
Traduit de English par IA ·
Pas ce terme, le pilote du capteur de sol ne se compile apparemment que sur l’ancien noyau.
Not this term, the soil sensor driver only builds on the old kernel apparently.
Traduit de English par IA ·
Nous en avons encore quelques-uns sur le terrain. La différence tient à qui pilote le DHCP.Avec wpa-conf, ifupdown démarre wpa_supplicant avec votre configuration, puis exécute dhclient sur wlan0 lui-même. wpa_supplicant choisit un réseau parmi les blocs du fichier, ifupdown ne se soucie pas de lequel. C’est simple, et suffisant pour « se connecter à celui des deux qui est à portée ».Avec wpa-roam, wpa_supplicant fonctionne en mode itinérance et appelle wpa_action à chaque connexion et déconnexion, lequel active alors une interface logique. Chaque bloc réseau peut porter un id_str qui désigne l’interface logique à utiliser ; ceux qui n’en ont pas utilisent iface default. Cela sert à avoir des paramètres IP différents selon le réseau. Le piège : wpa_action doit voir la déconnexion pour libérer l’ancien bail. Lorsque le nœud est emporté et que le point d’accès disparaît dans un ordre inattendu, vous restez associé sans bail. C’est votre symptôme sur le terrain.Pour deux réseaux DHCP, utilisez wpa-conf et des priorités :
# /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="LAB-WIFI"
psk="..."
priority=10
}
network={
ssid="FIELD-AP"
psk="..."
priority=5
}
Côté Hermetry, chaque changement de réseau interrompt la session MQTT ; faites donc en sorte que votre client se reconnecte avec un délai progressif (backoff) et se réabonne. Si le nœud dispose d’une alarme hors ligne, réglez son délai d’ouverture (open-after) au-delà du temps de trajet entre le laboratoire et la parcelle, sinon vous en recevrez une à chaque déplacement.
We still have a few of these in the field. The difference is who drives DHCP.
With wpa-conf, ifupdown starts wpa_supplicant with your config and then runs dhclient on wlan0 itself. wpa_supplicant picks a network from the blocks in the file, ifupdown doesn’t care which one. Simple, and enough for « connect to whichever of these two is around ».
With wpa-roam, wpa_supplicant runs in roaming mode and calls wpa_action on every connect and disconnect, which then brings up a logical interface. Each network block can carry an id_str that names the logical interface to use, and anything without one falls to iface default. It’s meant for different IP settings per network. The catch is that wpa_action must see the disconnect to take the old lease down; when the node is carried away and the AP disappears in a funny order, you end up associated with no lease. That’s your field symptom.
For two DHCP networks use wpa-conf and priorities:
# /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="LAB-WIFI"
psk="..."
priority=10
}
network={
ssid="FIELD-AP"
psk="..."
priority=5
}
On the Hermetry side, each move between networks drops the MQTT session, so make your client reconnect with backoff and resubscribe. If the node has an offline alarm, set its open-after time longer than a walk from the lab to the plot or you’ll get one every trip.
Traduit de English par IA ·
Ajoutez aussi, en filet de sécurité, un cron avec ip addr show wlan0 | grep -q inet || systemctl restart networking. Ça nous a évité plus d’un déplacement.
Also put a cron’d ip addr show wlan0 | grep -q inet || systemctl restart networking in as a belt-and-braces. Saved us more than one trip.
Traduit de English par IA ·
Passé à wpa-conf avec des priorités comme ci-dessus et effectué l’aller-retour deux fois ; à chaque fois il a obtenu un bail en environ 20 s, Hermetry a affiché le trou puis de nouvelles mesures. J’ai aussi porté l’alarme hors ligne à 30 minutes, le trajet dure 15. Merci !
Swapped to wpa-conf with priorities like above and carried it out and back twice, it picked up a lease each time within about 20 s and Hermetry showed the gap and then fresh readings. Raised the offline alarm to 30 minutes too, the walk is 15. Thanks!
- Vous devez être connecté pour répondre à ce sujet.
Rejoignez la discussion
Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

