UCI ist das Kommandozeilentool, welches in OpenWRT genutzt wird, um Einstellungen auszulesen oder zu ändern. Über das UCI lassen sich alle Einstellungen, die auch über die Konfigurationsoberfläche möglich sind, sowie einige weitere Einstellungen vornehmen.
Weitere Infos finden sich auch im freifunk.net Wiki – vollständige Information zum uci → https://openwrt.org/docs/guide-user/base-system/uci
Grundbefehle
Einstellungen anzeigen
Alle gesetzten Einstellungen auflisten:
uci show
Eine bestimmte Einstellung anzeigen:
uci show [Einstellung]
Beispiel:
uci show autoupdater.settings.enabled
Oder für eine Einstellungsgruppe:
uci show autoupdater.settings
Einstellungen setzen
uci set [Einstellung]=[Wert]
Beispiel:
uci set autoupdater.settings.enabled=1
Wichtig: Wenn du Einstellungen via UCI gesetzt hast, müssen diese via uci commit
am Ende aktiviert werden!
Einstellungen sichern
Bevor man an Einstellungen herum fummelt kann es sinnvoll sein, diese zunächst zu sichern um sie problemlos wieder herzustellen.
Dies lässt sich für alle Einstellungen via uci export
oder auch nur für einen Abschnitt machen, wie im folgenden Beispiel:
uci export network > network.uci
Und der Import geht dann so:
cat network.uci | uci import
Konfigurationsbeispiele
Grundsätzlich ist nach dem uci commit
ein Reboot des Router nötig, um die Änderungen zu aktivieren.
Meshing über WAN-Schnittstelle aktivieren
Wenn du die WAN-Schnittstelle nicht nur für einen Internetzugang verwenden möchtest, sondern über diese auch das Meshing-Protokoll aktivieren willst, um z.B. andere, evtl. langsamere Freifunk-Router mit dem Freifunk-Netz zu versorgen, gehst du wie folgt vor:
uci set network.mesh_wan=interface uci set network.mesh_wan.ifname=br-wan uci set network.mesh_wan.proto=batadv uci set network.mesh_wan.mesh=bat0 uci set network.mesh_wan.auto=1 uci commit
Meshing über WAN-Schnittstelle deaktivieren
uci set network.mesh_wan.auto=0 uci commit
LAN-Ports mit WAN überbrücken
Wenn du möchtest, dass auf den LAN-Ports das Netzwerk raus fällt, das über WAN angeschlossen ist, kannst du folgende UCI-Befehle ausführen:
uci set network.client.ifname=bat0 uci set network.wan.ifname='eth0 eth1' uci commit
LAN- und WAN-Ports tauschen
Wenn Du an Deinem Internetrouter zuwenig freie Anschlüsse hast, kannst Du die Funktion des WAN-Ports und der LAN-Ports tauschen. Das Bedeutet, das dann einer der Gelben Anschlüsse mit dem Internet verbunden werden muss. Die gelben Anschlüsse sind per Switch untereinander verbunden und Du kannst sie benutzen, um weitere Geräte mit Deinem internen Netz zu verbinden. Der blaue Anschluss ist dann der Mesh-Port zur Vermaschung mit weiteren Freifunk-Routern.
Umgesetzt wird das wie folgt:
uci set network.wan.ifname='eth0' uci set network.mesh_lan.ifname='eth1' uci set network.client_lan.ifname='eth1' uci set simple-tc.example.ifname='eth1' uci set system.led_wan.dev='eth0' uci commit reboot
Das Tauschen von eth0 und eth1 ist leider nicht upatefest!
Eigenes WLAN ausstrahlen
Wenn du zusätzlich zu dem Freifunk-Netz auch dein eigenes WLAN ausstrahlen möchtest, kannst du dies durch folgende UCI-Befehle erreichen:
- $SSID und $KEY sind entsprechend gegen deine SSID und deinen WLAN-Schlüssel zu ersetzen. (Ja, dein WLAN-Schlüssel steht Plaintext in der Config. Das tut er aber bei allen Routern, nicht nur bei denen mit OpenWRT / Gluon).
- Wenn du 2 Radios hast. Also z.B. 2,4 und 5 GHz, dann musst du dieses auch für radio1 machen.
uci set wireless.wan_radio0=wifi-iface uci set wireless.wan_radio0.device=radio0 uci set wireless.wan_radio0.network=wan uci set wireless.wan_radio0.mode=ap uci set wireless.wan_radio0.encryption=psk2 uci set wireless.wan_radio0.ssid="$SSID" uci set wireless.wan_radio0.key="$KEY" uci set wireless.wan_radio0.disabled=0 uci commit
WLAN Kanal ändern
Beim ändern des WLAN Kanals können in Deutschland die Kanäle 1 bis 13 genutzt werden.
Bei den Kanälen 12 und 13 kann es Probleme mit Geräten aus dem Auslad geben da diese Kanäle nicht in jedem Land erlaubt sind.
Beispiel für Kanal 11:
wireless.radio0.channel='11'
WLAN Router in Reichweite des eigenen Routers anzeigen
client0 ist hier das jeweilige WLAN interface.
iwinfo client0 scan
Koordinaten des Routers per SSH anpassen
Die Koordinaten lassen sich mit unserer Karte bestimmen: https://karte.freifunk-muensterland.de/map/
Dazu muss auf der Karte mit dem Reißnagel auf den Routerstandort geklickt werden um die Geodaten zu sehen.
:nodes:ucibasics:geodaten1.jpg?direct&200|
Es erscheint ein Fenster mit den Daten 51.956194, 7.614577
:nodes:ucibasics:geodaten2.jpg?direct&200|
Diese Geodaten werden in den Folgenden Code eingefügt:
uci set gluon-node-info.@location[0]='location' uci set gluon-node-info.@location[0].share_location='1' uci set gluon-node-info.@location[0].latitude='51.956194' uci set gluon-node-info.@location[0].longitude='7.614577' uci commit gluon-node-info
Weitere Systeminformationen
- Firmware Versionsnummer: {{cat /lib/gluon/release}}
- Hardware Model: {{cat /tmp/sysinfo/model}}
- Systemlog
logread