Zeitgesteuertes WLAN
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 Uhrzeit und Datun, oder Uhrzeit und Wochentag zur aktuellen Uhrzeit passen. Auf dieser Seite können die Werte in menschenlesbare Textform gebracht werden: https://crontab.guru
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.
Vorsicht: Eine Rekonfiguration durch den KeyXchange schreibt die im RAM gehaltenen Einstellungen möglicherweise in den Flash.
Vorsicht: Dieser Cron ist nicht Updatesicher, bei einem Update werden alle Dateien entfernt.