Zeitgesteuertes WLAN

Aus Freifunk Franken
Version vom 13. Juni 2020, 13:45 Uhr von Fblaese (Diskussion | Beiträge) (Seite angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Zwar nicht schön, aber manchmal aufgrund äußerer Umstände zwingend nötig: Uhrzeitgesteuertes WLAN.

Mit der Freifunk Firmware lässt sich das über einen Cron realisieren, der die WiFi Interfaces oder ganze Radios ein und ausschaltet. Dafür muss ein passender Cron angelegt werden, der zunächst den "neuen" Zustand des WLANs konfiguriert und dann die WiFi Settings neu lädt:

root@node:~# cat /usr/lib/micron.d/wifi-timer 
0 7 * * * uci set wireless.radio0.disabled=0; uci set wireless.radio1.disabled=0; wifi
0 20 * * 1-5 uci set wireless.radio0.disabled=1; uci set wireless.radio1.disabled=1; wifi
0 14 * * 6-7 uci set wireless.radio0.disabled=1; uci set wireless.radio1.disabled=1; wifi

Es können entweder einzelne WiFi Interfaces (z.B. wXmesh, wXap) ein und ausgeschaltet werden, oder aber ganze Radios (z.B. 2,4 GHz, 5 GHz). Die konkreten Namen der Interfaces können aus /etc/config/wireless entnommen werden.

Die Syntax für die Uhrzeit ist Standard-Cron-Syntax. Die Werte bedeuten in dieser Reihenfolge: Minute, Stunde, Tag, Monat, Wochentag, Kommando. Der Cron löst immer dann aus, wenn alle Werte zur aktuellen Uhrzeit passen.

Die Änderungen wie oben beschrieben werden nicht im Flash gespeichert, sondern nur im RAM gehalten. Das spart Schreibzyklen. Nach einem Reboot oder Rekonfiguration durch den KeyXchange, etc. hat das WiFi also wieder den alten Zustand, bis der nächste Cron auslöst.