Firmware-Freifunk-Lübeck: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(35 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Archiv]]
{{:Archiv-Hinweis}}
== Einleitung ==
== Einleitung ==
In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein.
In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein. Weitere Infos: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh
 
Images der Firmware gibt es leider (Stand: 3.9. 2011) nicht zum Download - sie muss aus den Quellen kompiliert werden.


== Strategie Freifunk Lübeck ==
== Strategie Freifunk Lübeck ==
[[Datei:Vorgehen-lff.png|thumb|350px|right|Vorgehen Freifunk Lübeck]]
[[Datei:Vorgehen-lff.png|thumb|600px|right|Data Link Layer (OSI-2)]]


Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein VPN. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. Verbidungen zwischen abgelegenen Nodes sollen (werden?) teilweise per Richtfung überbrügt werden.
Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein automatisches VPN auf den Routern selber - nur an gewählten Punkten werden manuell VPNs auf PCs oder Routern mit Alix Board (und demnächst auch TP-Link TL-WR1043ND) eingerichtet. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. Verbindungen zwischen abgelegenen Nodes sollen (werden?) teilweise per Richtfunk überbrückt werden. Dabei gibt es einige technische Unterschiede zu unserer Planung


* Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. ''In Planung: Images für TP-Link''
* Präferenz für tinc als VPN (im Gegensatz zu OpenVPN).
* Kompilieren eigene Firmware aus den OpenWRT-Quellen - keine Verwendung des Image-Builders.


Die einzelnen Nodes sind (grob gesehen) wie folgt konfiguriert [http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware/Richtlinien]
* WLAN
** Ad-Hoc
*** Modus: Adhoc
*** ESSID: 'mesh.freifunk.net' - BSSID / CellID: 02:22:B0:44:94:5D
*** Modulation: (mindestens) 802.11g - Kanal: 1 (= 2.412GHz)
** Master / AP (''falls zusätzlich möglich'')
*** ESSID: 'luebeck.freifunk.net'
*** bridged mit bat0
**  Master / AP (2) (''falls zusätzlich möglich'')
*** SSID: 'luebeck.freifunk.net - Info'
*** Leitet jeden Webseitenzugriff auf einen Info-Seite um.


*Routing
**Protokoll: B.A.T.M.A.N.-Advanced, compat-Version 12 (z.B. batman-adv 2011.2.0, 2011.1.0 oder 2011.0.0)
** Protokoll Konfiguration: i.d.R. gw_mode 'client' (außer man bietet einen Internetzugang mit DHCP an, dann 'server')


= Entwicklung / Build =
Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert.


Die Quellen der Lübecker Firmware verteilen sich auf 4 Repositories:


* [http://krtek.asta.uni-luebeck.de/repos/LuebeckFreifunkFirmware/ LuebeckFreifunkFirmware] - Fork des OpenWRT-Repositories mit einigen, weniges Patches (genutzte seeds, dnsmasq). 
** master - Quellen der Lübecker Firmware
** openwrt-backfire - Unmodifiziertes OpenWRT
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Packages/  LFF-Packages] - Fork des OpenWRT-Package-Repositories mit evtl. Downgrades von Paketen zur Kompatibilität und wenigen extra Patches
** master - OpenWRT-Package-Repository + Patches
** openwrt - Unmodifiziertes OpenWRT-Package-Repository
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Profiles/  LFF-Profiles] - Ablage der Node-Konfiguration. Branches:
** master - leer, uninteressant
** lff-dlink-dir300 - Ablage der Konfiguration des DIR-300. Inhalt:
*** .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt)
*** files - Konfiguration für das Lübecker Freifunk-Netz. Einige Dateien sind geräteabhängig.
** lff-tl-wr1043nd - Ablage der Konfiguration des TP-Link WR1043ND. Inhalt: s.o.
** lff-tl-wr741nd - Ablage der Konfiguration des TP-Link WR741ND. Inhalt: s.o.
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Info/  LFF-Info]  - Info-Web-Seite. Wird über die andere SSID verteilt.


Hierbei refrenziert LuebeckFreifunkFirmware das LFF-Packages-Repository und LFF-Profiles-Repository, während LFF-Profiles das Repository LFF-Info referenziert. Somit es ein Klon des Repositories LuebeckFreifunkFirmware für die Entwicklung ausreichend.


 
= Entwicklungsansätze =
 
Zur Nutzung mit Freifunk-KBU sind diese Ansätze denkbar:
 
* Trennung zwischen OpenWRT-Config (.config) und Paket-Konfigurationen (/etc/config) - Ziel: Vereinfachung der Distributierung, Unterstützung weiterer Plattformen.
 
* Paketierung der Konfiguration
<br />
** Es gibt ein plattformunabhängiges Konfigurationspaket dies zieht alle benötigten Pakete nach.
 
** Für die Konfiguration gibt es template Dateien. Beispiel: /etc/config/network -> /etc/config/network.template und rsetzen der plattform-abhängigen Interface-Namen durch ein postinst-Scribt des Pakets(z.B. ''sed s/%wlan_if%/$REAL_WLAN_IF/g < /etc/config/network.template > /etc/config/network'')
== Technische Details / Unterschiede ==
* Nutzung des Image-Builders statt eigener Builds
* Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. In Planung: Images für TP-Link
* Aufname von tinc / OpenVPN. Download zugh. config per http.
* Präferenz für tinc als VPN (im Gegensatz zu OpenVPN).
* Kompilieren eigene Firmware aus den OpenWRT-Quellen - keine Verwendung des Image-Builders.

Aktuelle Version vom 28. August 2019, 11:18 Uhr

Hinweis: Diese Seite wurde in das Archiv verschoben. Die Informationen sind größtenteils veraltet und nur für Spezialfälle relevant.

Einleitung

In Lübeck gibt es ein Freifunk-Netz, das mit unseren Ideen vergleichbar ist. Ihre Firmware kann Input oder Ausgangsbasis für unsere Firmware sein. Weitere Infos: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh

Images der Firmware gibt es leider (Stand: 3.9. 2011) nicht zum Download - sie muss aus den Quellen kompiliert werden.

Strategie Freifunk Lübeck

Data Link Layer (OSI-2)

Anders als zunächst diskutiert, verwendet Freifunk Lübeck kein automatisches VPN auf den Routern selber - nur an gewählten Punkten werden manuell VPNs auf PCs oder Routern mit Alix Board (und demnächst auch TP-Link TL-WR1043ND) eingerichtet. Alle Nodes bilden über batman-adv eine große (OSI-2/3) Kollisionsdomäne. Verbindungen zwischen abgelegenen Nodes sollen (werden?) teilweise per Richtfunk überbrückt werden. Dabei gibt es einige technische Unterschiede zu unserer Planung

  • Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. In Planung: Images für TP-Link
  • Präferenz für tinc als VPN (im Gegensatz zu OpenVPN).
  • Kompilieren eigene Firmware aus den OpenWRT-Quellen - keine Verwendung des Image-Builders.

Die einzelnen Nodes sind (grob gesehen) wie folgt konfiguriert [1]

  • WLAN
    • Ad-Hoc
      • Modus: Adhoc
      • ESSID: 'mesh.freifunk.net' - BSSID / CellID: 02:22:B0:44:94:5D
      • Modulation: (mindestens) 802.11g - Kanal: 1 (= 2.412GHz)
    • Master / AP (falls zusätzlich möglich)
      • ESSID: 'luebeck.freifunk.net'
      • bridged mit bat0
    • Master / AP (2) (falls zusätzlich möglich)
      • SSID: 'luebeck.freifunk.net - Info'
      • Leitet jeden Webseitenzugriff auf einen Info-Seite um.
  • Routing
    • Protokoll: B.A.T.M.A.N.-Advanced, compat-Version 12 (z.B. batman-adv 2011.2.0, 2011.1.0 oder 2011.0.0)
    • Protokoll Konfiguration: i.d.R. gw_mode 'client' (außer man bietet einen Internetzugang mit DHCP an, dann 'server')

Entwicklung / Build

Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert.

Die Quellen der Lübecker Firmware verteilen sich auf 4 Repositories:

  • LuebeckFreifunkFirmware - Fork des OpenWRT-Repositories mit einigen, weniges Patches (genutzte seeds, dnsmasq).
    • master - Quellen der Lübecker Firmware
    • openwrt-backfire - Unmodifiziertes OpenWRT
  • LFF-Packages - Fork des OpenWRT-Package-Repositories mit evtl. Downgrades von Paketen zur Kompatibilität und wenigen extra Patches
    • master - OpenWRT-Package-Repository + Patches
    • openwrt - Unmodifiziertes OpenWRT-Package-Repository
  • LFF-Profiles - Ablage der Node-Konfiguration. Branches:
    • master - leer, uninteressant
    • lff-dlink-dir300 - Ablage der Konfiguration des DIR-300. Inhalt:
      • .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt)
      • files - Konfiguration für das Lübecker Freifunk-Netz. Einige Dateien sind geräteabhängig.
    • lff-tl-wr1043nd - Ablage der Konfiguration des TP-Link WR1043ND. Inhalt: s.o.
    • lff-tl-wr741nd - Ablage der Konfiguration des TP-Link WR741ND. Inhalt: s.o.
  • LFF-Info - Info-Web-Seite. Wird über die andere SSID verteilt.

Hierbei refrenziert LuebeckFreifunkFirmware das LFF-Packages-Repository und LFF-Profiles-Repository, während LFF-Profiles das Repository LFF-Info referenziert. Somit es ein Klon des Repositories LuebeckFreifunkFirmware für die Entwicklung ausreichend.

Entwicklungsansätze

Zur Nutzung mit Freifunk-KBU sind diese Ansätze denkbar:

  • Trennung zwischen OpenWRT-Config (.config) und Paket-Konfigurationen (/etc/config) - Ziel: Vereinfachung der Distributierung, Unterstützung weiterer Plattformen.
  • Paketierung der Konfiguration
    • Es gibt ein plattformunabhängiges Konfigurationspaket dies zieht alle benötigten Pakete nach.
    • Für die Konfiguration gibt es template Dateien. Beispiel: /etc/config/network -> /etc/config/network.template und rsetzen der plattform-abhängigen Interface-Namen durch ein postinst-Scribt des Pakets(z.B. sed s/%wlan_if%/$REAL_WLAN_IF/g < /etc/config/network.template > /etc/config/network)
  • Nutzung des Image-Builders statt eigener Builds
  • Aufname von tinc / OpenVPN. Download zugh. config per http.