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

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:
[[Datei:Vorgehen-lff.png|thumb|400px|right|Vorgehen Freifunk Lübeck]]
[[Datei:Vorgehen-lff.png|thumb|400px|right|Vorgehen Freifunk Lübeck]]


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. Dabei gibt es einige technische Unterschiede zu unserer Planung
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''
* Fokus auf DIR-300 als Node-Hardware. Für andere Gerätetypen gibt es keine Firmware. ''In Planung: Images für TP-Link''
Zeile 21: Zeile 21:
** Master / AP (''falls zusätzlich möglich'')
** Master / AP (''falls zusätzlich möglich'')
*** ESSID: 'luebeck.freifunk.net'
*** ESSID: 'luebeck.freifunk.net'
*** brided mit bat0  
*** bridged mit bat0  
**  Master / AP (2) (''falls zusätzlich möglich'')
**  Master / AP (2) (''falls zusätzlich möglich'')
*** SSID: 'luebeck.freifunk.net - Info'
*** SSID: 'luebeck.freifunk.net - Info'
Zeile 27: Zeile 27:


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


Zeile 33: Zeile 33:
Der Build-Prozess ist unter: http://krtek.asta.uni-luebeck.de/meutewiki/MetaMeuteMesh/L%C3%BCbeck-Freifunk-Router/L%C3%BCbeck-Freifunk-Firmware dokumentiert.
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 3 Repositories:
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).   
* [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
** master - Quellen der Lübecker Firmware
** openwrt-backfire - Unmodifiziertes OpenWRT
** 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:
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Profiles/  LFF-Profiles] - Ablage der Node-Konfiguration. Branches:
** master - leer, uninteressant
** master - leer, uninteressant
Zeile 43: Zeile 46:
*** .config - Konfiguration für den OpenWRT-Build (aus make Menuconfig erstellt)
*** .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.
*** 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.
* [http://krtek.asta.uni-luebeck.de/repos/LFF-Info/  LFF-Info]  - Info-Web-Seite. Wird über die andere SSID verteilt.
* [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-Profiles-Repository, während LFF-Profiles das Repository LFF-Info referenziert. Somit es ein Klon des Repositories LuebeckFreifunkFirmware für die Entwicklung ausreichend.
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 =
= Entwicklungsansätze =

Version vom 4. September 2011, 14:14 Uhr

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

Vorgehen Freifunk Lübeck

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-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.