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
  • Keine Stichwörter