Firmware installieren: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
 
(93 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:


<div style="margin-bottom:1em; padding:1em 1em 0.5em 1em; border:2px solid #dc0067;color:#000;">
<div style="margin-bottom:1em; padding:1em 1em 0.5em 1em; border:2px solid #dc0067;color:#000;">
Einen Freifunk-Router stellt man nicht einfach hin und überlässt ihn sich selbst (Wie es eigentlich für sämtliche am Internet angeschlossene Geräte gilt, wenn es auch oft genug nicht beachtet wird). Sondern man übernimmt langfristig Verantwortung, v.a. was regelmäßige Updates und Übernahme größerer Änderungen im Netzwerk angeht. Diese werden mit hinreichend großem Vorlauf angekündigt. Wenn diese trotzdem nicht beachtet werden läuft man Gefahr, dass der Router irgendwann nicht mehr funktioniert oder, wenn er Störungen im Netz produziert, gesperrt wird. Das gilt gerade auch für Freifunk-Router, wo eigene Modifikationen (die wir explizit unterstützen, solange sie das Netz nicht stören und kompatibel zu unseren Netz sind) vorgenommen wurden.
Einen Freifunkrouter stellt man nicht einfach hin und überlässt ihn sich selbst – wie es eigentlich für sämtliche am Internet angeschlossene Geräte gilt, wenn es auch oft genug nicht beachtet wird –, sondern man übernimmt langfristig Verantwortung, <abbr title="vor allem">v.&nbsp;a.</abbr> was regelmäßige Updates und Übernahme größerer Änderungen im Netzwerk angeht. Diese werden mit hinreichend großem Vorlauf angekündigt. Wenn diese trotzdem nicht beachtet werden, läuft man Gefahr, dass der Router irgendwann nicht mehr funktioniert oder, wenn er Störungen im Netz produziert, gesperrt wird. Das gilt gerade auch für Freifunkrouter, wo eigene Modifikationen die wir explizit unterstützen, solange sie das Netz nicht stören und kompatibel zu unseren Netz sind vorgenommen wurden.


'''Der Routeraufsteller/Betreiber ist für seinen Router verantwortlich. Dies gilt auch für die Einstellungen wie z.b. Sendeleistung.'''
'''Der Routeraufsteller/Betreiber ist für seinen Router verantwortlich. Dies gilt auch für die Einstellungen wie <abbr title="zum Beispiel">z.&nbsp;B.</abbr> Sendeleistung.'''


Auch sollte man zumindest grundlegendes Interesse an der Technik mitbringen. Aber keine Panik: Freifunk-Router sind im Allgemeinen sehr pflegeleicht.
Auch sollte man Netzwerkkenntnisse mitbringen. Aber keine Panik: Freifunkrouter sind im Allgemeinen nicht pflegeintensiv.


Durch das Betreiben eines Freifunkrouters stimmt man dem [https://wiki.freifunk-franken.de/w/PicoPeeringAgreement PicoPeeringAgreement] zu.
Durch das Betreiben eines Freifunkrouters stimmt man dem [[PicoPeeringAgreement | Pico Peering Agreement]] (PPA) zu.
</div>
</div>


= Die richtige Hardware auswählen =
= Die richtige Hardware auswählen =


[[Portal:Hardware]] enthält eine Liste aktuell unterstützter Geräte.
Das [[Portal:Hardware#Empfehlung_bei_Neukauf | Portal Hardware]] enthält eine Liste unserer unterstützten Geräte.


Für den Einstieg und einfache Anwendungen bietet sich momentan z. B. ein [[Portal:Hardware/Anleitung:GL-Inet_AR-150|GL-iNet AR-150]] an, da der Router relativ günstig zu haben ist (05/2019: unter 30 €), über ordentliche Hardware verfügt und die Installation der Freifunk-Firmware sehr einfach ist.
Im Zweifel nimm [[Portal:Kommunikation|Kontakt]] mit der Community auf, hier wird dir weitergeholfen wenn du Probleme hast.


Auch einen älteren (gebrauchten) TP-Link WR1043ND (wo die Firmwareinstallation analog zu der folgenden Anleitung erfolgt) bekommt man recht günstig.
== Die richtige Firmware Variante auswählen ==
Seit dem Release im Dezember 2019 gibt es zwei verschiedene Varianten der Firmware:
* die Node Firmware, die mit dem zentralen [[KeyXchangeV2|KeyXchange-V2]] laufen. (Empfohlen für Anfänger mit dem ersten Freifunk-Router.)
* die neue Layer3-Firmware für ein dezentrales Netz. Mehr unter [[Layer3Firmware]] und [[Layer_3_Firmware]]. (Aufwändiger, dafür dezentral.)


Der unten genannte TP-Link WR841 sollte '''nicht mehr verwendet werden''', da die aktuelle Hardware-Revision nicht mehr unterstützt wird, und der Speicherplatz von nur 4 MB recht knapp bemessen ist (in absehbarer Zeit wird die Firmware dafür zu groß werden). Wenn man einen WR841 mit passender Hardware-Revision bereits hat, ist es aber natürlich nach wie vor möglich, den Router für Freifunk zu verwenden, solang es noch geht.
Der Vorteil der "dezentralen Firmware" wird unter [[Layer_3_Firmware#Redundanz|Layer_3_Firmware -> Redundanz]] beschrieben.
 
== Anschlüsse der Router und deren Aufgabe ==
 
Den LAN-Buchsen an einem mit der Freifunk-Firmware geflashten Router kommen verschiedene Aufgaben zu. Vor der Installation ist es sinnvoll, sich kurz damit auseinanderzusetzen, damit es später keine Probleme gibt.
 
Es werden drei verschiedene Funktionen unterschieden:
 
* '''WAN''': Über diesen Anschluss („Wide Area Network“) bekommt der Router seine Internetverbindung. Oft ist dieser Port extra beschriftet, abgesetzt und/oder hat eine andere Farbe als die anderen. Dieser Port muss z. B. an dem Router angeschlossen werden, der die Internetverbindung zur Verfügung stellt.
 
* '''Client''': An einem Client-Port kann ein Gerät per LAN-Kabel angeschlossen werden, was das Freifunk-Netz benutzen will.
 
* '''B.A.T.M.A.N.''': Andere Freifunk-Router können, wenn sie mittels [[B.A.T.M.A.N.]]-Ports miteinander verbunden sind, per LAN statt WLAN miteinander kommunizieren und das Mesh-Netzwerk aufbauen (was immer einer kabellosen Verbindung vorzuziehen ist).
 
Die Freifunk-fähigen Router haben verschieden viele Netzwerkanschlüsse, die unterschiedlich belegt und genutzt werden können. Normalerweise gibt es fünf, zwei oder einen LAN-Port.
 
=== Beispiele ===
 
Als Beispiele seien folgende Modelle genannt:
 
'''TP-Link WR1043ND V1'''
[[File:TP-Link_WR1043ND_V1_ports.jpg|thumb|none]]
Hier gibt es fünf LAN-Anschlüsse. Der blaue ist für den WAN-Uplink verantwortlich. Die beiden gelben daneben sind per Voreinstellung auf „B.A.T.M.A.N.“ gesetzt und die beiden am weitesten vom WAN-Port entfernten auf „Client“.
 
'''GL-iNet AR150'''
[[File:GL-iNet_AR150_ports.jpg|thumb|none]]
Hier gibt es zwei LAN-Anschlüsse. Der mit „WAN“ beschriftete ist der WAN-Uplink, der mit „LAN“ beschriftete ist per Voreinstellung ein „Client“-Port.
 
'''Ubiquiti Picostation M2HP'''
[[File:Ubiquiti_Picostation_M2HP_ports.jpg|thumb|none]]
Eine Ubiquiti Picostation hat, genau wie z. B. eine Nanostation, nur einen LAN-Port. Dieser ist per Voreinstellung ein „Client“-Port.
 
=== Einstellen der Funktion der LAN-Anschlüsse ===
 
Je nach Modell kann (per Webinterface oder mittels SSH direkt auf der Konsole) die Funktion der LAN-Anschlüsse eingestellt werden. Bei manchen Routern (wie z. B. dem TP-Link WR1043ND) kann man die Funktion der Ports beliebig aufteilen (z. B. einen B.A.T.M.A.N.-Port und drei Client-Ports), bei anderen (z. B. der Fritz-Box 4040) ist nur das Festlegen einer Funktion für alle Ports möglich.
 
'''Vorsicht:''' Wenn es keinen Client-Port gibt, dann ist der Zugriff auf den Router nur per WLAN möglich! So ist z. B. eine Picostation mit eigenem WAN-Uplink nicht per LAN zu erreichen! Da selbe würde für einen AR150 gelten, wenn man die Funktion des Ports auf B.A.T.M.A.N. stellt.


= Firmware-Installation =
= Firmware-Installation =
Aktuell ist die Version 20181202: https://dev.freifunk-franken.de/firmware/current/
== Firmware-Download ==
 
Die aktuelle Version findet man hier:
Adrian Schmutzler stellt verschiedene alternative Firmwares auf seiner Seite zur Verfügung: https://freifunk.jubt.org/fff-firmware.php
* Node: https://dev.freifunk-franken.de/node/
 
* Layer-3: https://dev.freifunk-franken.de/layer3/
Fabian Bläse stellt alternative dezentrale Gateway Firmwares auf seiner Seite zur Verfügung: https://fw.sgstbr.de/gateway/
 


Eine Anleitung, wie die aktuelle Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann, gibt es [[FirmwareEntwicklung|hier]].
Adrian Schmutzler stellte bis 2020 verschiedene alternative Firmwares auf seiner Seite zur Verfügung: https://freifunk.jubt.org/fff-firmware.php


Mehr Infos zu den Dateinamen der Firmware sind zu finden unter: [[Anleitungen#Aufbau_des_Dateinamens_der_Firmware|Anleitungen -> Aufbau_des_Dateinamens_der_Firmware]]


=== Checksumme prüfen ===
Für jede Firmware-Datei gibt es eine Datei mit der SHA256-Prüfsumme, um den korrekten Download zu überprüfen. Früher gab es zusätzlich MD5-Prüfsummen.


== Installationsanleitung für Erstinstallation ==
==== Linux ====
christiand@christianpc:/tmp/fw$ ls
fff-layer3-20200118-archer-c25-v1-factory.bin  fff-layer3-20200118-archer-c25-v1-factory.bin.sha256
christiand@christianpc:/tmp/fw$ sha256sum -c fff-layer3-20200118-archer-c25-v1-factory.bin.sha256
fff-layer3-20200118-archer-c25-v1-factory.bin: OK


[[Datei:dein_router.jpg|400px|thumb|Lieferinhalt (WR841ND)]]
Sollte beim Download was fehlgeschlagen sein (hier wurde zum Test händisch die *.bin manipuliert) kommt es zu folgender Ausgabe, die Firmware sollte dann keinesfalls geflasht werden:


am Beispiel TP-Link WR841N(D) und TP-Link WR1043N(D)
christiand@christianpc:/tmp/fw$ sha256sum -c fff-layer3-20200118-archer-c25-v1-factory.bin.sha256
fff-layer3-20200118-archer-c25-v1-factory.bin: FEHLSCHLAG
sha256sum: WARNUNG: die 1 berechnete Prüfsumme passte NICHT


'''Bitte beachte die Reihenfolge'''
==== Windows ====
Unter Windows 10 und 11 kann über PowerShell mit dem Befehl <code>Get-FileHash</code> der Hash erzeugt und dann manuell mit dem Inhalt der .md5- und .sha256-Datei verglichen werden.


# Melde dich für Informationen, Hilfe und Kontakt zur Community bei unserer [[Mailinglisten#franken-freifunk|Mailingliste]] an.
<pre>
# Router flashen (= Firmware installieren).
PS C:\> Get-FileHash -Path C:\Temp\fff-node-20230330-tplink_c2600-factory.bin -Algorithm MD5
# Router konfigurieren.


=== Auspacken ===
Algorithm      Hash                                                                  Path
---------      ----                                                                  ----
MD5            F1D1F031B5EC7982648179D12D9915CB                                      C:\Temp\fff-node-20230330-tplink_c2600-factory.bin


* Router (1) auspacken, Teile auf Vollständigkeit überprüfen.
* Falls die Antenne (2) noch nicht angeschlossen ist, schraubt man diese jetzt an.
* Das Netzteil (3) für die Stromversorgung des Routers und das LAN-Kabel (4) braucht man später.
** Es sollte immer das original Netzteil verwendet werden, um Probleme während dem Flashen zu vermeiden.


=== Firmware (Erst-)Installation ===
PS C:\> Get-FileHash -Path C:\Temp\fff-node-20230330-tplink_c2600-factory.bin -Algorithm SHA256
[[Datei:TP_link_version.jpg|400px|thumb|Router Rückseite]]


* Hier eine [[Portal:Hardware|Liste der Routertypen]], welche für die Freifunk-Franken-Firmware geeignet sind.
Algorithm      Hash                                                                  Path
* Herauszufinden, welche Firmware man braucht, ist ganz einfach: der Routertyp (1) und die Hardwareversion (2) stehen auf der Unterseite des Routers. Dabei unbedingt den richtigen Typ und die '''richtige Hardware-Version''' wählen!
---------      ----                                                                  ----
* Die [https://dev.freifunk-franken.de/firmware/current/ passende aktuelle Firmware] herunterladen.  
SHA256          C6B9AEFA786E0BEE4B7CC065AE86DF9C3818E1DB33C3AA9D0F94B212F16B79A3      C:\Temp\fff-node-20230330-tplink_c2600-factory.bin
<b>Ggf. muss der Dateiname gekürzt werden!</b> Manche Router verweigern das Flashen der Firmware aus der Herstellersoftware, wenn der Dateiname zu lang ist.
</pre>
Dafür einfach den Namen der Datei anpassen und nur 8 Zeichen stehen lassen.
** Die '''Factory'''-Version ist zu verwenden, wenn von der Herstellersoftware geflasht wird.
** Die '''Sysupgrade'''-Version braucht man, wenn von einem bereits installierten OpenWRT (bzw. Freifunk-Firwmare) geflasht wird.


[[Datei:gelbe_buchse.jpg|400px|thumb|gelbe Buchse]]
==== macOS ====
* Den Computer mit einem LAN-Kabel mit einem der <span style="background-color:yellow">gelben LAN-Anschüsse</span> des neuen Routers verbinden. <b>Darauf achten, dass einer der beiden vom blauen Port am weitesten entfernten Ports verwendet wird.</b>
;Öffne das Terminal
* Den Router an Strom anschließen und einschalten.
;um einen MD5 Hash zu generieren gebe
* Warten, bis der eigene Computer eine gültige IP-Adresse bekommen hat. (Falls dies nicht klappt, den Rechner neu starten und prüfen, ob die IP-Adresse automatisch vom Router bezogen wurde.)
: <code>md5</code> und den Dateipfad ein. (Einfach der Drag & Drop aus dem Finder)<br />
* Mit dem Browser im Webinterface des Routers einloggen. Nutzername und Passwort stehen auf der Unterseite des Routers; normalerweise funktioniert: http://admin:admin@192.168.0.1
;um einen SHA256 Hash zu generieren gebe
: <code>shasum -a 256</code> und den Dateipfad ein. (Einfach der Drag & Drop aus dem Finder)


[[Datei:TP_link_firmware.jpg|400px|thumb|Firmware-Update]]
== Firmware-Installation ==
* Unter dem Menüpunkt "System Tools" –> "Firmware Upgrade" die vorher heruntergeladene Firmware zum Gerät schicken.
* Geduldig warten, bis der Router neu startet (max. 4 Minuten) '''Während die Installation läuft, darf der Stecker und das Netzwerk-Kabel nicht abgezogen werden.'''
* Jetzt muss man sich neu mit dem Router verbinden. Dafür müssen die beiden am weitesten vom blauen Anschluss entfernten Ports verwendet werden! Der WAN Anschluss (blau) sollte dabei noch nicht mit dem Internet verbunden sein, damit man zuerst ein Passwort setzen kann!
* Über die Adresse [https://[fdff::1] https://[fdff::1]] auf den frisch geflashten Freifunkrouter gehen und die Sicherheitswarnung ignorieren: "Diese Verbindung ist nicht sicher" SEC_ERROR_UNKNOWN_ISSUER
** '''Achtung:''' Sicherheitswarnungen dürfen nur ignoriert werden, wenn man genau weiß, was man tut. In diesem Fall hat der Router kein von einer CA signiertes Zertifikat für die Adresse, daher wird ein selbstsigniertes Zertifikat verwendet.
* Falls die Seite nicht aufgerufen werden kann, gibt es [[Anleitungen#Zugriff_auf_das_Webinterface_zum_Konfigurieren_des_Routers|noch mehr Möglichkeiten]].
* Es kommt das Login der Weboberfläche. Benutzer: '''root''' Passwort: '''ffol'''
* Das Standardpasswort des Routers gleich ändern und aufschreiben z.B. mit einem Stift auf dem Router. Siehe auch: [[Anleitungen#Neues_Passwort_setzen|Neues Passwort setzen]].
* Unter Einstellungen den ''Standort'' eingeben. Der Standort sollte möglichst genau angegeben werden
* Eine Kontaktmöglichkeit ist nach dem [http://www.picopeer.net/PPA-de.shtml PPA] Pflicht um ein Freifunknetz zu betreiben. Im Router kann dazu eine E-Mail Adresse hinterlegt werden.
Somit kann so im [https://monitoring.freifunk-franken.de FFF Monitoring] der Router deinem Account zugeordnet werden. Dazu dort mit der gleichen Mailadresse registrieren.
* Den Router neustarten.
* Fertig!


=== Konfigurieren über das Webinterface ===
Die Installation ist je nach Modell sehr unterschiedlich, hier eine Liste diverser Modelle:


Folge der [[Anleitung_ab_20160213-beta#Zugriff_auf_das_Webinterface_zum_Konfigurieren_des_Routers|Anleitung für Zugriff auf das Webinterface]]. Alternativ ist (wohl eher für Fortgeschrittene) auch die Konfiguration per SSH und Konfigurationsdateien möglich.
* [[Firmwareinstallation/edgerouterx|ER-X / ER-X-SFP / EP-R6]]
* [[Firmwareinstallation/Xiaomi Mi Router 4A|Xiaomi Mi Router 4A]]
* [[Firmwareinstallation/Fritzbox_4040|Fritzbox 4040]]
* [[Firmwareinstallation/edgerouter4|Edgerouter 4]]
* [[Firmwareinstallation/Ubiquiti|Ubiquiti (diverse Geräte)]]
* [[Firmwareinstallation/GL-Inet_AR-150|GL AR150]]
* [[Firmwareinstallation/UbiquitiUnifiACMesh|Ubiquiti AC Mesh]]
* [[Firmwareinstallation/wr841|TP-Link WR841 und WR1043]] (gilt für viele TP-Link Geräte)
* [[Firmwareinstallation/x86|x86 PC und VM]]


<div style="margin-bottom:1em; padding:1em 1em 0.5em 1em; border:2px solid #dc0067;color:#000;">
Die Liste ist nicht abschließend und darf gerne erweitert werden. Allgemein ist es sehr hilfreich im [[OpenWrt]]-Wiki zu gucken, dort wird eigentlich für jedes Gerät eine Installationsanleitung angeboten. Da unsere Firmware auf OpenWrt basiert, ist ein Flashen nach dieser Anleitung immer möglich, erst ab der Einrichtung/Konfiguration unterscheidet sich die Freifunk Franken Firmware deutlich von OpenWrt.
<b>Wichtig:</b><br/>
Der <u>Ortseintrag</u> im Webinterface ist für die korrekte Funktion des Freifunknetzes von hoher Bedeutung.
Das Freifunk-Franken-Netz ist in verschiedene Hoods segmentiert (Vgl. [[Portal:Netz]]). Ein in die '''falsche''' Hood oder ein '''nicht''' eingetragener Router, der mit anderen Routern mesht, umgeht die beabsichtigte Segmentierung und verbindet die jeweiligen Hoods auf Level-2-Ebene miteinander, wo lediglich ein Level-3-Routing stattfinden sollte.
Dies ist die momentan häufigste Ursache für Schwierigkeiten und Performance-Defizite im Freifunk-Netz.


Wer seinen Standort nicht bekannt geben möchte, möge ihn im Webinterface in der gleichen Hood, in welcher der Router seinen tatsächlichen Standort hat, an einem beliebigen anderen Ort platzieren. Die richtige Angabe des tatsächlichen Standorts ist selbstverständlich immer zu bevorzugen, u. a. weil dies das Finden von Mesh-Partnern erleichtert.
== Firmware-Konfiguration ==
=== Node Firmware ===
* [[Anleitungen/Node_Firmware|Node Firmware]]


Die Aufteilung der Hoods kann man in der [https://monitoring.freifunk-franken.de/map Monitoring-Map] sehen, indem man im Overlay (rechte obere Ecke) die Checkbox „Hoods“ aktiviert.
=== Layer-3 ===
</div>
Dies ist aktuell hier beschrieben:
* [[Layer3Firmware#Typischer_Ablauf_einer_Installation|Ablauf einer Installation]]
* [[Anbindung#Anbindung_an_das_Layer-3_Netz|Schritt für Schritt Anleitung]]
Zur Konfiguration gibt es hier eine Hilfe:
* [[Layer3Firmware Config|Layer-3 Firmware Konfiguration]]


=== Inbetriebname ===
== Probleme bei der Installation ==
Melde dich auf unserer Mailingliste! Die Infos dazu gibt es unter [[Portal:Kommunikation|Kommunikation]]. Dort gibt es auch Hilfe und Support bei der Installation.


==== Meshverbindung ====
== Nach der Installation ==
Kann der Router einen Nachbar-Freifunk-Router sehen und baut eine Mesh-Verbindung zu ihm auf, ist er direkt in Betrieb und vergrößert von nun an das Freifunknetz.
Lerne das Freifunknetz kennen. Beschäftige dich mit dem Netz und verbessere dein Setup laufend. Versuche dich mit Nachbarn zu verbinden, baue dazu [[Richtfunk|Richtfunkstrecken]] auf oder wirf einfach ein Kabel über den Gartenzaun zum Nachbarn


==== VPN-Verbindung ====
= Firmware-Update =
Ist kein weiterer Freifunk-Router in Reichweite, muss der Router über einen WAN-Uplink mit dem Internet verbunden werden (prinzipiell sind natürlich viele Uplinks immer wünschenswert, auch wenn es Mesh-Router gibt!). Es wird dann eine VPN-Verbindung zu unseren Gatewayservern über das Internet aufgebaut, und der Router ist nach einiger Zeit (5–30 Minuten) per VPN mit dem Freifunknetz verbunden.


Es sollte pro Internet-Uplink nur ein Router eine VPN-Verbindung aufbauen. Werden an einen Standort mit einen Internet-Uplink mehrere Router betrieben, so sollten alle weiteren Router per [[B.A.T.M.A.N.]] miteinander verbunden werden (entweder per LAN via B.A.T.M.A.N.-Ports, was die zu bevorzugende Verbindung ist, oder WLAN). Der stärkste Router sollte an den Internet-Uplink angebunden werden.
Bitte haltet eure Router immer auf den aktuellsten Stand. Ein altes System kann Probleme verursachen und enthält u.U. Sicherheitslücken. Allgemein sollten alle Geräte die an das Internet angeschlossen sind (dazu zählen natürlich auch Freifunk Router) immer mit der aktuellsten Software betrieben werden.
 
==== B.A.T.M.A.N.-Ports ====
Die [[B.A.T.M.A.N.]]-Ports dürfen auch an einen Switch sternförmig zusammen geschlossen werden. Es sollte allerdings vermieden werden, an einen Switch ein normales Netzwerk und B.A.T.M.A.N. gleichzeitig zu betreiben, da dies zu unvorhersehbaren Ereignissen führen kann. Sollte dennoch gewünscht werden, über ein Kabel oder an einen Switch mehrere Netzwerke mit B.A.T.M.A.N. zu verwenden, so sollten die Netze in getrennte VLANs geführt werden. Eine Grundlegende Anleitung zu VLANs ist [[Batman_Funkbr%C3%BCcke|hier]] zu finden, allerdings in einem anderen Zusammenhang.
 
Natürlich verbinden sich die Router auch per Funk miteinander, doch wo immer es möglich ist, sollte aber aus Geschwindigkeits- und Stabilitäsgründen ein Kabel verwendet werden. Für weitere Strecken sollten 5GHz Richtfunkverbindungen verwendet werden, Infos dazu [[Batman_Funkbr%C3%BCcke|hier]].
 
== Firmware-Update ==


* [[Anleitung:FirmwareUpdate]]
* [[Anleitung:FirmwareUpdate]]
* [[KeyXchangeV2#Gefahren_eines_Updates_vom_alten_System|Gefahren beim Update von V1 auf V2]]
* [[KeyXchangeV2#Gefahren_eines_Updates_vom_alten_System|Gefahren beim Update von V1 auf V2]]


== Versionierung ==
Freifunk Franken hat keinen Autoupdater. Wir erwarten von jeden Freifunker der Freifunkrouter betreibt, dass er sich selbst um seine Router kümmert. Du bist für deine Router selbst verantwortlich.
Beim Techniktreffen vom [[Protokolle/20160206|06.02.2016]] wurde ein neues Versionierungsschema beschlossen. Am [[Protokolle/20160210|10.02.2016]] wurden noch einige Details geklärt.
 
=== Begründung ===
Wir haben leider nicht die Men-Power um immer sicherzustellen, dass die Kompatibilität nach einem Release noch oder eben nicht mehr vorhanden ist.
Dadurch ist der Interpretationsspielraum bei regulären Versionsnummern sehr hoch.
Um diesen Spielraum abzuschaffen, steigen wir auf das Datumsschema um.
 
=== Schema ===
Die Versionsnummer orientiert sich grundsätzlich am Commit-Datum des letzten Commits. Auf diesen Commit wird dann entsprechend das Git-Tag gesetzt.
Daraus ergibt sich folgendes Schema:
 
Build ohne release Tag: YYYYMMDD-[Anzahl commits seit vorherigem Release]-[Commit-ID]<br>
Alpha: YYYYMMDD-alpha <br>
Beta: YYYYMMDD-beta <br>
Release: YYYYMMDD<br>
 
=== Sonderfall ===
Für den seltenen Fall, dass es mehrere Tags an einem Tag geben muss, wird der Präfix entsprechend angepasst. Daraus ergibt sich folgendes Schema:
 
Build ohne release Tag: YYYYMMDD.[1-n]-[Anzahl commits seit vorherigem Release]-[Commit-ID]<br>
Alpha: YYYYMMDD.[1-n]-alpha<br>
Beta: YYYYMMDD.[1-n]-beta <br>
Release: YYYYMMDD.[1-n] <br>
 
=== Beispiele ===
Folgendes Beispiel geht davon aus, dass es eine Alpha und eine Beta Version auf dem selben Commit gegeben hat.
In der Beta wurde am selben Tag ein massives Problem festgestellt, deshalb gab es eine neue Beta. Diese basiert auf einem neueren Commit und wird später auch so released.
 
20160130-alpha<br>
20160130-beta<br>
20160130.1-beta<br>
20160130.1<br>
 
Das nächste Beispiel geht davon aus, dass es auf dem selben Commit eine Alpha, Beta und Stable gibt:
 
20160130-alpha<br>
20160130-beta<br>
20160130<br>
 
== Noch eine Bitte ==
Bitte melde dich bei unserer Mailingliste an! Die Infos dazu gibt es unter [[Portal:Kommunikation|Kommunikation]]. Dort gibt es auch Hilfe und Support bei der Installation. Danke!
 
== Siehe auch ==
[http://wiki.freifunk.net/Kommandos Kommandoliste auf den Freifunk-Routern]
 
= Auf dem Router läuft DD-WRT =
 
Mitunter bekommt man einen gebrauchten Router, auf dem nicht die Original-Firmware, sondern DD-WRT läuft. Dann ist ein Flashen der Freifunk-Firmware via Webinterface nicht möglich, da DD-WRT nur DD-WRT-Firmware flasht.
 
Mit folgendem Vorgehen habe ich mehrere TP-Link TL-1043ND mit DD-WRT darauf geflasht (von Linux aus):
 
Zunächst muss Telnet aktiviert werden. Hierzu per Webinterface anmelden, und unter „Administration“ den Telnet-Zugriff aktivieren.
 
Dann wird die Firmware auf den Router kopiert. Es wird die „sysupgrade“-Variante benötigt, in meinem Fall „fff-20181202-ar71xx-g-tl-wr1043nd-v1-squashfs-sysupgrade.bin“.
 
Die einfachste Variante, die Firmware auf den Router zu bekommen, ist, sie von da aus per wget von einem Webserver abzuholen. Entweder verwendet man einen richtigen HTTP-Server, oder behilft sich – wie im folgenden beschrieben – mit dem Mini-Webserver, den Python mitbringt:
 
Der Einfachheit halber macht man zunächst eine Kopie mit einem griffigeren Namen:
 
:<code>cp fff-20181202-ar71xx-g-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware.bin</code>
 
Dann startet man im selben Verzeichnis den Mini-Python-Webserver:
 
:<code>python -m http.server</code>
 
Der Server lauscht auf 0.0.0.0 (also allen verfügbaren Netzwerkinterfaces) auf dem Port 8000. Wenn man in einem Webbrowser die Adresse [http://127.0.0.1:8000/ 127.0.0.1:8000] öffnet, sieht man ein Directory Listing (incl. der Datei „firmware.bin“).
 
Dann auf dem Router einoggen (der Router hatte hier die IP-Adresse 192.168.11.1):
 
:<code>telnet 192.168.11.1</code>
 
Dann die Firmware nach /tmp kopieren (der Client hatte hier die IP-Adresse 192.168.11.147):
 
:<code>cd /tmp<br/>wget http://192.168.11.147:8000/firmware.bin</code>
 
und schließlich die Firmware flashen mit
 
:<code>mtd -r write /tmp/firmware.bin linux</code>
 
Der Router startet neu und begrüßt einen dann mit der Freifunk-Firmware.
 
= FF-Router mit Original-Firmware flashen =
Manchmal will man einen FF-Router wieder mit der Original-FW des Herstellers flashen. Hier folgen die Anleitungen:
 
== TP-Link WR 841 ==
 
Erfolgreich durchgeführt wurde folgendes Vorgehen für die Version 11 des Routers. bei anderen funktioniert es vermutlich genauso, bitte ergänzen!
 
Zunächst braucht man die Original-Firmware, erhältlich von der [https://www.tp-link.com/de/support/download/ Hersteller-Seite]. In meinem Fall war es ein Zip-Archiv, das zunächst noch entpackt werden musste und neben der Firmware noch die GPL und eine Anleitung enthielt.
 
'''So geht man unter Linux vor:'''
 
Wenn das Firmware-Image „boot“ enthält, muss zunächst der Boot-Part entfernt werden. Das geht sehr einfach mittels ''dd''. In meinem Fall hieß die Firmware-Datei ''wr841ndv11_en_3_16_9_up_boot(150616).bin''.
 
:<code> dd if=wr841ndv11_en_3_16_9_up_boot(150616).bin of=tl-wr841n_v11-orig.bin skip=257 bs=512</code>
 
Die Ausgabedatei (in diesem Fall ''tl-wr841n_v11-orig.bin'') muss dann auf den Router. Das geht am einfachsten per ''scp'' und direkter LAN-Verbindung. Also eine LAN-Verbindung zum Router herstellen, am einfachsten per DHCP. Der Router ist dann unter ''fdff::1'' zu erreichen.
 
Folgendermaßen kann man dann das Image auf den Router kopieren (bei scp über IPV6 muss man die eckigen Klammern um die IP-Adresse mit einem
Backslash escapen):
 
:<code> scp -6 tl-wr841n_v11-orig.bin root@\[fdff::1\]:/tmp/ </code>
 
Dann per ''ssh'' auf dem Router einloggen:
 
:<code> ssh root@fdff::1 </code>
 
und schließlich das draufkopierte Image flashen (der Befehl muss natürlich auf der Konsole des Routers ausgeführt werden):
 
:<code> mtd -r write /tmp/tl-wr841n_v11-orig.bin firmware </code>
 
Das war’s schon! Es kommen noch ein paar Sekunden Schreib-Meldungen, dann schmeißt einen der Router raus und startet neu — und begrüßt einen nach dem Reboot mit der Original-Firmware.
 


= Firmware selbst entwickeln =


[[Kategorie:Technik]]
Eine Anleitung, wie die aktuelle Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann, gibt es auf der Seite [[FirmwareEntwicklung]].
[[Kategorie:Firmware]]

Aktuelle Version vom 6. April 2024, 10:31 Uhr

Der wichtigste Hinweis zuerst

Einen Freifunkrouter stellt man nicht einfach hin und überlässt ihn sich selbst – wie es eigentlich für sämtliche am Internet angeschlossene Geräte gilt, wenn es auch oft genug nicht beachtet wird –, sondern man übernimmt langfristig Verantwortung, v. a. was regelmäßige Updates und Übernahme größerer Änderungen im Netzwerk angeht. Diese werden mit hinreichend großem Vorlauf angekündigt. Wenn diese trotzdem nicht beachtet werden, läuft man Gefahr, dass der Router irgendwann nicht mehr funktioniert oder, wenn er Störungen im Netz produziert, gesperrt wird. Das gilt gerade auch für Freifunkrouter, wo eigene Modifikationen – die wir explizit unterstützen, solange sie das Netz nicht stören und kompatibel zu unseren Netz sind – vorgenommen wurden.

Der Routeraufsteller/Betreiber ist für seinen Router verantwortlich. Dies gilt auch für die Einstellungen wie z. B. Sendeleistung.

Auch sollte man Netzwerkkenntnisse mitbringen. Aber keine Panik: Freifunkrouter sind im Allgemeinen nicht pflegeintensiv.

Durch das Betreiben eines Freifunkrouters stimmt man dem Pico Peering Agreement (PPA) zu.

Die richtige Hardware auswählen

Das Portal Hardware enthält eine Liste unserer unterstützten Geräte.

Im Zweifel nimm Kontakt mit der Community auf, hier wird dir weitergeholfen wenn du Probleme hast.

Die richtige Firmware Variante auswählen

Seit dem Release im Dezember 2019 gibt es zwei verschiedene Varianten der Firmware:

  • die Node Firmware, die mit dem zentralen KeyXchange-V2 laufen. (Empfohlen für Anfänger mit dem ersten Freifunk-Router.)
  • die neue Layer3-Firmware für ein dezentrales Netz. Mehr unter Layer3Firmware und Layer_3_Firmware. (Aufwändiger, dafür dezentral.)

Der Vorteil der "dezentralen Firmware" wird unter Layer_3_Firmware -> Redundanz beschrieben.

Firmware-Installation

Firmware-Download

Die aktuelle Version findet man hier:

Adrian Schmutzler stellte bis 2020 verschiedene alternative Firmwares auf seiner Seite zur Verfügung: https://freifunk.jubt.org/fff-firmware.php

Mehr Infos zu den Dateinamen der Firmware sind zu finden unter: Anleitungen -> Aufbau_des_Dateinamens_der_Firmware

Checksumme prüfen

Für jede Firmware-Datei gibt es eine Datei mit der SHA256-Prüfsumme, um den korrekten Download zu überprüfen. Früher gab es zusätzlich MD5-Prüfsummen.

Linux

christiand@christianpc:/tmp/fw$ ls
fff-layer3-20200118-archer-c25-v1-factory.bin  fff-layer3-20200118-archer-c25-v1-factory.bin.sha256
christiand@christianpc:/tmp/fw$ sha256sum -c fff-layer3-20200118-archer-c25-v1-factory.bin.sha256 
fff-layer3-20200118-archer-c25-v1-factory.bin: OK

Sollte beim Download was fehlgeschlagen sein (hier wurde zum Test händisch die *.bin manipuliert) kommt es zu folgender Ausgabe, die Firmware sollte dann keinesfalls geflasht werden:

christiand@christianpc:/tmp/fw$ sha256sum -c fff-layer3-20200118-archer-c25-v1-factory.bin.sha256 
fff-layer3-20200118-archer-c25-v1-factory.bin: FEHLSCHLAG
sha256sum: WARNUNG: die 1 berechnete Prüfsumme passte NICHT

Windows

Unter Windows 10 und 11 kann über PowerShell mit dem Befehl Get-FileHash der Hash erzeugt und dann manuell mit dem Inhalt der .md5- und .sha256-Datei verglichen werden.

PS C:\> Get-FileHash -Path C:\Temp\fff-node-20230330-tplink_c2600-factory.bin -Algorithm MD5

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
MD5             F1D1F031B5EC7982648179D12D9915CB                                       C:\Temp\fff-node-20230330-tplink_c2600-factory.bin


PS C:\> Get-FileHash -Path C:\Temp\fff-node-20230330-tplink_c2600-factory.bin -Algorithm SHA256

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          C6B9AEFA786E0BEE4B7CC065AE86DF9C3818E1DB33C3AA9D0F94B212F16B79A3       C:\Temp\fff-node-20230330-tplink_c2600-factory.bin

macOS

Öffne das Terminal
um einen MD5 Hash zu generieren gebe
md5 und den Dateipfad ein. (Einfach der Drag & Drop aus dem Finder)
um einen SHA256 Hash zu generieren gebe
shasum -a 256 und den Dateipfad ein. (Einfach der Drag & Drop aus dem Finder)

Firmware-Installation

Die Installation ist je nach Modell sehr unterschiedlich, hier eine Liste diverser Modelle:

Die Liste ist nicht abschließend und darf gerne erweitert werden. Allgemein ist es sehr hilfreich im OpenWrt-Wiki zu gucken, dort wird eigentlich für jedes Gerät eine Installationsanleitung angeboten. Da unsere Firmware auf OpenWrt basiert, ist ein Flashen nach dieser Anleitung immer möglich, erst ab der Einrichtung/Konfiguration unterscheidet sich die Freifunk Franken Firmware deutlich von OpenWrt.

Firmware-Konfiguration

Node Firmware

Layer-3

Dies ist aktuell hier beschrieben:

Zur Konfiguration gibt es hier eine Hilfe:

Probleme bei der Installation

Melde dich auf unserer Mailingliste! Die Infos dazu gibt es unter Kommunikation. Dort gibt es auch Hilfe und Support bei der Installation.

Nach der Installation

Lerne das Freifunknetz kennen. Beschäftige dich mit dem Netz und verbessere dein Setup laufend. Versuche dich mit Nachbarn zu verbinden, baue dazu Richtfunkstrecken auf oder wirf einfach ein Kabel über den Gartenzaun zum Nachbarn

Firmware-Update

Bitte haltet eure Router immer auf den aktuellsten Stand. Ein altes System kann Probleme verursachen und enthält u.U. Sicherheitslücken. Allgemein sollten alle Geräte die an das Internet angeschlossen sind (dazu zählen natürlich auch Freifunk Router) immer mit der aktuellsten Software betrieben werden.

Freifunk Franken hat keinen Autoupdater. Wir erwarten von jeden Freifunker der Freifunkrouter betreibt, dass er sich selbst um seine Router kümmert. Du bist für deine Router selbst verantwortlich.

Firmware selbst entwickeln

Eine Anleitung, wie die aktuelle Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann, gibt es auf der Seite FirmwareEntwicklung.