Firmware installieren: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(verschoben nach -> https://wiki.freifunk-franken.de/w/Firmwareinstallation/wr841)
Zeile 34: Zeile 34:


Eine Anleitung, wie die aktuelle Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann, gibt es [[FirmwareEntwicklung|hier]].
Eine Anleitung, wie die aktuelle Firmware gebaut wird oder an der Entwicklung teilgenommen werden kann, gibt es [[FirmwareEntwicklung|hier]].
== Firmware-Installatiom ==
Dies ist je nach Modell sehr unterschiedlich, hier eine Liste div. Modelle:
* wr841 https://wiki.freifunk-franken.de/w/Firmwareinstallation/wr841


== Firmware-Update ==
== Firmware-Update ==

Version vom 5. Januar 2020, 13:59 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 zumindest grundlegendes Interesse an der Technik mitbringen. Aber keine Panik: Freifunkrouter sind im Allgemeinen sehr pflegeleicht.

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.

Auch finden sich dort Empfehlungen für Einsteigergeräte.

Die richtige Firmware Variante auswählen

Seit dem Release 20192412 gibt es nun 2 verschiedene Firmwareversionen. Die ganz normale Node Firmware für zentrale Nodes sowie die Layer 3 Firmware für dezentrale Router. Mehr Infos zur Layer 3 Variante findet man hier:

Da Freifunk den Charakter hat dezentral zu arbeiten und nicht von zentralen Instanzen abhängig zu sein, empfielt es sich die Layer 3 Variante zu nehmen.

Firmware-Installation

Firmware-Download

Die aktuelle Version findet man hier: https://dev.freifunk-franken.de/node/current/

Für den er-x(-sfp) fehlt in der offiziellen Firmware noch das initramfs. Dieses kann zum aktuellen Zeitpunkt von Fabian bezogen werden: https://fw.sgstbr.de/tools/ (inoffizieller build!)

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

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


Firmware-Installatiom

Dies ist je nach Modell sehr unterschiedlich, hier eine Liste div. Modelle:

Firmware-Update

Versionierung

Beim Techniktreffen vom 06.02.2016 wurde ein neues Versionierungsschema beschlossen. Am 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]
Alpha: YYYYMMDD-alpha
Beta: YYYYMMDD-beta
Release: YYYYMMDD

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]
Alpha: YYYYMMDD.[1-n]-alpha
Beta: YYYYMMDD.[1-n]-beta
Release: YYYYMMDD.[1-n]

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
20160130-beta
20160130.1-beta
20160130.1

Das nächste Beispiel geht davon aus, dass es auf dem selben Commit eine Alpha, Beta und Stable gibt:

20160130-alpha
20160130-beta
20160130

Noch eine Bitte

Bitte melde dich bei unserer Mailingliste an! Die Infos dazu gibt es unter Kommunikation. Dort gibt es auch Hilfe und Support bei der Installation. Danke!

Siehe auch

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:

cp fff-20181202-ar71xx-g-tl-wr1043nd-v1-squashfs-sysupgrade.bin firmware.bin

Dann startet man im selben Verzeichnis den Mini-Python-Webserver:

python -m http.server

Der Server lauscht auf 0.0.0.0 (also allen verfügbaren Netzwerkinterfaces) auf dem Port 8000. Wenn man in einem Webbrowser die Adresse 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):

telnet 192.168.11.1

Dann die Firmware nach /tmp kopieren (der Client hatte hier die IP-Adresse 192.168.11.147):

cd /tmp
wget http://192.168.11.147:8000/firmware.bin

und schließlich die Firmware flashen mit

mtd -r write /tmp/firmware.bin linux

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

dd if=wr841ndv11_en_3_16_9_up_boot(150616).bin of=tl-wr841n_v11-orig.bin skip=257 bs=512

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):

scp -6 tl-wr841n_v11-orig.bin root@\[fdff::1\]:/tmp/

Dann per ssh auf dem Router einloggen:

ssh root@fdff::1

und schließlich das draufkopierte Image flashen (der Befehl muss natürlich auf der Konsole des Routers ausgeführt werden):

mtd -r write /tmp/tl-wr841n_v11-orig.bin firmware

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.