Gateway-Firmware mit Babel über Mesh: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(→‎/etc/config/configuregateway: => gateway ohne configure)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
=Privater experimenteller Firmware-Fork!=
=Privater experimenteller Firmware-Fork!=


Dies ist die Beschreibung einer Firmware-Modifikation von [[Benutzer:Miki|Miki]]. Ursprung ist die Freifunk-Franken-Firmware und deren verschiedene Varianten für dezentrale Gateways.
Dies ist die Beschreibung einer Firmware-Modifikation von [[Benutzer:Miki|Miki]]. Ursprung sind inzwischen veraltete Stände der Freifunk-Franken-Firmware und deren verschiedene Varianten für dezentrale Gateways.


Der [https://github.com/MaretaDagostino/fff-firmware Quellcode ist in Github] zu finden. (Ihr dortiger Accountname: MaretaDagostino)
Der [https://github.com/MaretaDagostino/fff-firmware Quellcode ist in Github] zu finden. (Ihr dortiger Accountname: MaretaDagostino). Commit '''b9bbdac''' vom '''9.2.2019''' mit dem Tag '''"20190209-beta"''', auf diesen Stand bezieht sich die folgende Auflistung.
 
==Aktuell empfohlener Softwarestand==
 
Commit '''b9bbdac''' vom '''9.2.2019''' mit dem Tag '''"20190209-beta"'''.
 
Auf diesen Stand bezieht sich die folgende Auflistung.


==Besondere Features, implementiert==
==Besondere Features, implementiert==
Zeile 16: Zeile 10:
* Verschlüsselte Babel-Verbindungen über Mesh möglich.
* Verschlüsselte Babel-Verbindungen über Mesh möglich.
* Webinterface angepasst.
* Webinterface angepasst.
* Software-Struktur gemeinsamer Pakete nahe an der Original-Firmware, um längerfristige Pflege zu erleichtern.
* Unterstützung zusätzlicher Routermodelle aus den Entwicklerbranches von Adrian oder Fabian (hier ungetestet, reiner Code-Import).
==Geplante Features, in der Warteliste==
* Zuverlässige Update-Möglichkeit auf dem ''Ubiquiti Unifi AC-Mesh'' Router.
* Hochladen der Konfigurationsdateien über das Webinterface.
* Konfigurationslauf übers Webinterface anstoßen können.
* Einzelne Funkbereiche (2,4 GHz und/oder 5 GHz) einzeln übers Webinterface deaktivieren können.


==Bekannte Fehler==
==Bekannte Fehler==
Zeile 42: Zeile 27:


* Commit b9bbdac vom 9.2.2019, Tag "20190209-beta":<br>
* Commit b9bbdac vom 9.2.2019, Tag "20190209-beta":<br>
Wechsel der Quelle auf Freifunk Franken Original-Firmware mit Gateway-Paketen nach Fabians Methode. Das Hoodfile muss jetzt nach /etc/hoodfile kopiert werden. In der GW-Firmware funktionslose Bedienelemente wurden aus dem Webinterface entfernt. Diverse Pakete für zentrale V2 Hoods wurden entfernt, da in Gateways obsolet. Code-Import zur Unterstützung der Router Ubiquiti Edge X und Archer C60 v1/v2.
Wechsel der Quelle auf Freifunk Franken Original-Firmware mit Gateway-Paketen nach Fabians Methode. Das Hoodfile muss jetzt nach /etc/hoodfile kopiert werden. In der GW-Firmware funktionslose Bedienelemente wurden aus dem Webinterface entfernt. Diverse Pakete für zentrale V2 Hoods wurden entfernt, da in Gateways obsolet.
 
* ToDo: Anpassen an die aktuelle Release der Freifunk Franken Original-Firmware, vermutlich ist der Fork inzwischen obsolet! Es wird genügen, vor dem Bauen der Original-Firmware ein zusätzliches OpenWrt Paket zu selektieren.


==Konfiguration==
==Konfiguration==

Version vom 14. Juli 2020, 22:19 Uhr

Privater experimenteller Firmware-Fork!

Dies ist die Beschreibung einer Firmware-Modifikation von Miki. Ursprung sind inzwischen veraltete Stände der Freifunk-Franken-Firmware und deren verschiedene Varianten für dezentrale Gateways.

Der Quellcode ist in Github zu finden. (Ihr dortiger Accountname: MaretaDagostino). Commit b9bbdac vom 9.2.2019 mit dem Tag "20190209-beta", auf diesen Stand bezieht sich die folgende Auflistung.

Besondere Features, implementiert

  • Verschlüsselte Babel-Verbindungen über Mesh möglich.
  • Webinterface angepasst.

Bekannte Fehler

  • Updates funktionieren nur auf Routern mit Hardware-Bridge zuverlässig, das sind meistens Geräte mit 5 Ports (z.B. WR1043).

Ungetestet

  • Fast alle Routermodelle.
  • Funktionsweise und Wirksamkeit der Bandbreitenbegrenzung.
  • ...sicherlich vieles andere mehr...

Historie

  • Commit 1d301d0dd vom 28.10.2018, Tag "20181028-beta":

Erste real eingesetzte Version. Codebasis ist hier die Firmware von Adrian, das Hoodfile muss nach /www/hood/keyxchangev2data kopiert werden.

  • Commit b9bbdac vom 9.2.2019, Tag "20190209-beta":

Wechsel der Quelle auf Freifunk Franken Original-Firmware mit Gateway-Paketen nach Fabians Methode. Das Hoodfile muss jetzt nach /etc/hoodfile kopiert werden. In der GW-Firmware funktionslose Bedienelemente wurden aus dem Webinterface entfernt. Diverse Pakete für zentrale V2 Hoods wurden entfernt, da in Gateways obsolet.

  • ToDo: Anpassen an die aktuelle Release der Freifunk Franken Original-Firmware, vermutlich ist der Fork inzwischen obsolet! Es wird genügen, vor dem Bauen der Original-Firmware ein zusätzliches OpenWrt Paket zu selektieren.

Konfiguration

Achtung: Auf dem Ubiquiti Unifi AC-Mesh und vermutlich auch anderen Routern mit nur einer oder zwei Ethernetschnittstellen ist ein Firmware-Upgrade unzuverlässig. Miki hat bei ihren Tests auf dem AC-Mesh schließlich immer mit TFTP die Originalfirmware des Herstellers aufgespielt und dann die Gateway-Firmware als erneute "Erstinstallation".

Anleitungen im Wiki:

Richtwerte für Babel Penalty (rxcost) in dezentralen Hoods

Es wird empfohlen, die "rxcost" jeweils zur Hälfte auf beide Seiten des Peerings zu verteilen. Pro Link sollte maximal 16384 verwendet werden, damit auch bei vielen Hops das Maximum von 65535 nicht erreicht wird.

  • Ethernet: 96
  • Richtfunk
    • >100Mbit: 256
    • 30-100Mbit: 512
    • 10-30Mbit: 1024
    • bis 10Mbit: 4096
    • VPN: 4096 - 16384

Konfiguration des Extra-Features "Babel über Mesh"

Ein besonderes Feature dieser Software-Modifikation ist die Möglichkeit, mit verschlüsselten Babel-Verbindungen über Mesh zu peeren. Da solltet ihr aber keine zu großen Illusionen haben! Den eh schon stark ausgelasteten 2,4 GHz Funkraum teilt ihr euch mit allen Clients. Die Performance entspricht also in etwa dem, was eine Batman-Verbindung in einer V2 Hood hergibt.

/etc/config/gateway

Am Ende der Datei wird folgender Block angefügt, der Name des Interfaces kann nach Bedarf angepasst werden.

Nach der Konfiguration

Die folgenden Änderungen müssen gemacht werden, nachdem das Script "configuregateway" erfolgreich ausgeführt wurde. Sie sind nicht updatefest und gehen bei jedem erneuten Aufruf von configuregateway verloren!

Am Ende der Datei "/etc/config/wireless" wird folgender Block eingetragen. Dabei muss der Name des Interfaces und das Device (radio0 oder radio1) angepasst werden. Die Mesh-ID sollte einen Namen bekommen, der nicht das Wort "Freifunk" enthält, damit keine Clients versuchen sich darauf zu verbinden. Der Key muss mit dem Peering-Partner abgesprochen werden.

In der Datei "/etc/config/network" kommen für das neue Interface zwei Blöcke mit Rules vor. Miki hat bei ihren Tests festgestellt, dass die Verbindung instabil war, wenn der Wert der Option "priority" genauso wie bei den anderen Babel Interfaces war. Sie hatte Erfolg damit, statt des Defaultwertes 31 den Wert 28 einzutragen. (Eine Erklärung für das Phänomen kennt Miki nicht.)

5 GHz Warnung

Ein Peering über Mesh wird in den meisten Fällen außerhalb geschlossener Gebäude stattfinden. Falls das Gerät 5 GHz unterstützt (z.B. AC-Mesh), muss daher normalerweise der 5 GHz Funkbereich deaktiviert werden! Die Freifunk-Firmware ist nicht zertifiziert und darf auf 5 GHz generell nicht im Freien verwendet werden.