Anleitungen

Freifunk-WLAN zeitgesteuert verfügbar machen

Schlagwörter: config wlan zeitsteuerung cronjob

Ich gehe davon aus, dass du deinen Router bereits zum Freifunk-Router aufgewertet hast indem du die aktuelle Freifunk-Firmware deiner Community aufgespielt hast. Des Weiteren nutze ich in dieser Anleitung den Zugang per ssh (der Link beschreibt dies unter Windows, unter Linux oder OSX ist das ganze etwas einfacher), den du ebenfalls auf dem Router eingerichtet haben musst. Dieser ist nötig, da nur die wenigsten Einstellungen und Möglichkeiten, welche OpenWRT zur Verfügung stellt über die grafische Oberfläche erreicht werden können.

Als erstes musst du eine Verbindung zum Freifunk-Knoten mit ssh herstellen. Unter OSX  habe ich dazu eine ssh-Config eingerichtet und erreiche den Router mit ssh Routername. 

Hast du das erfolgreich hinter dich gebracht, erwartet dich der Begrüßungsbildschirm.

    BusyBox v1.22.1 (2015-11-06 11:46:31 CET) built-in shell (ash)
    Enter 'help' for a list of built-in commands.

      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     -----------------------------------------------------
     BARRIER BREAKER (Barrier Breaker, r46287)
     -----------------------------------------------------
      * 1/2 oz Galliano         Pour all ingredients into
      * 4 oz cold Coffee        an irish coffee mug filled
      * 1 1/2 oz Dark Rum       with crushed ice. Stir.
      * 2 tsp. Creme de Cacao
     -----------------------------------------------------
    root@Routername:~# 

Als ersten Schritt schalte das Client-Netzwerk ab und sichere den Wert in den Speicher des Routers. Dies erfolgt durch die Befehle:

    root@Routername:~# uci set wireless.client_radio0.disabled=1
    root@Routername:~# uci commit wireless

Dieser Schritt ist nicht unbedingt nötig, hat allerdings folgenden Effekt. Das Client-Netzwerk ist standardmäßig ausgeschalten. Das bedeutet, wenn jemand Zugriff auf das Gerät bekommt (weil es bspw. in einem Gemeinschaftsbereich o.ä. aufgestellt ist) und den Router neu startet bleibt das WLAN aus. Ohne diese Eingabe reagiert das Gerät bei einem Neustart mit dem anschalten des WLANs.

Die Zeitsteuerung selbst kann man per Cronjob einrichten. Gib dazu folgende Zeile ein:

    root@Routername:~# crontab -e

Drücke nun die Taste 'i' um in den Bearbeitungsmodus zu wechseln. Jetzt kannst du die folgenden beiden Zeilen eingeben

    30 21 * * *  uci set wireless.client_radio0.disabled=1;wifi
    0  7 * * *   uci set wireless.client_radio0.disabled=0;wifi

Drücke die Escape-Taste (ESC) um den Bearbeitungsmodus zu verlassen. Jetzt schreibe ':wq' und bestätige mit der Eingabetaste.

Die beiden Zeilen sind wie folgt aufgebaut. (vgl https://de.wikipedia.org/wiki/Cron)

    Minute Stunde TagDesMonats Monat Wochentag Anweisungen

Die erste Zeile bedeutet also: In Minute 30 der Stunde 21Uhr zu jedem Tag jedes Monats jeden Wochentags führe das Kommando 'Client-Netzwerk ausschalten' aus. Die zweite Zeile schaltet das Client-Netz dementsprechend um 7Uhr wieder ein.

Würde man das Client-Netz lediglich Montag bis Freitag ausschalten wollen, muss die erste Zeile also wie folgt lauten:

    30 21 * * 1-5  uci set wireless.client_radio0.disabled=1;wifi

Die entsprechend muss das WLAN Dienstag bis Samstag wieder aktiviert werden, das bedeutet die zweite Zeile würde wie folgt aussehen:

    0 7 * * 2-6  uci set wireless.client_radio0.disabled=0;wifi

Sonntags ist mit 0 repräsentiert. Möchte man das WLAN bspw. Samstags und Sonntags 7 Uhr einschalten, sehe der Befehl wiefolgt aus:

    0 7 * * 6,0  uci set wireless.client_radio0.disabled=0;wifi

Die so eingerichteten Geräte bleiben weiterhin über das Mesh-Netzwerk miteinander in Verbindung bzw. erweitern das bestehende Freifunk-Netz. Lediglich die Anmeldung mit Endgeräten an diesen Punkten ist nicht möglich. Man könnte die zeitgesteuerten Anweisungen auch ausbauen - die LAN-Ports abschalten, die Bandbreite begrenzen, die Sendeleistung herunterfahren - eben alles, was man noch alles verstellen kann.

0 Anhänge
2396 Aufrufe
Durchschnitt (0 Stimmen)
Kommentare
Kommentar hinzufügen
Ich freue mich über Kommentare und versuche das auch noch weiterzuschreiben, wenn einzelne Aspekte gewünscht sind. Aktuell läuft das sehr stabil auf mehreren von mir eingerichteten Routern (0.8.2).

Man muss natürlich, wenn man so eingerichtete Router neu hinzufügt beachten, dass das WLAN erstmal aus ist. Also entweder warten oder WLAN per ssh anknipsen. Aber da sie sich sowieso vermeshen, kann man über den Meshviewer den Router ebenfalls aufrufen und guter Dinge warten ;-)
Verfasst am 26.03.16 19:58.
"letzte Zeile disabled=1; wifi " müsste doch "disabled=0; wifi" heißen oder? ;-)

wenn ich von Sonntag bis Freitag ausschalten will muss ich dann so?

30 23 * * 7-4 uci set wireless.client_radio0.disabled=1;wifi
30 4 * * 1-5 uci set wireless.client_radio0.disabled=0;wifi
Verfasst am 18.04.16 00:25 als Antwort auf Mario.
Natürlich hast du recht. Ich habe es korrigiert. Danke für den Hinweis.
Verfasst am 18.04.16 10:10.

Wiki-Navigation Wiki-Navigation