Firmware aktualisieren

__TOC__
== Aktuelle Version herausfinden ==
Welche Firmware Ihr installiert habt könnt ihr auf der FFF Monitoring Seite sehen. Ihr könnt euch auch einfach via SSH auf euren Router anmelden und folgendes Kommando auf der Shell die erscheint absetzen:
cat /etc/firmware_release
Die Ausgabe des Kommandos sollte so aussehen:
FIRMWARE_VERSION="0.5.2"
FIRMWARE_COMMUNITY="franken"
BUILD_DATE="build date: Mo 7. Dez 14:02:30 CET 2015"
OPENWRT_CORE_REVISION="1cd5709e5d9d6e73eb501f1f2840379aa8d171db"
OPENWRT_FEEDS_PACKAGES_REVISION="ee0bb7b9df86cec0f1d7c27046c50b1fc45b7c4f"
== Auf den Router verbinden ==
Zuerst muss man sich im Freifunknetz befinden und sich auf den Router verbinden. 
Dazu diese Anleitung beachten:
https://wiki.freifunk-franken.de/w/Anleitungen#Zugriff_auf_den_Router
== Vor dem Update unbedingt lesen ==
Bei diversen Versionen gibt es kleine Bugs oder Gemeinheiten auf die man achten muss. Daher vorher diesen Abschnitt lesen.
=== Einstellungen behalten ===
Normalerweise werden einige Dateien beim Update behalten so das der Router nach dem Update nicht neu eingerichtet werden muss. Dazu gehören u.a.
* Alles was man im WebUI eingibt
* SSH Key
* /etc/config/gateway so das die Layer 3 Konfiguration erhalten bleibt 
** ab 20210211-beta wird configure-layer3 automatisch nach dem Update aufgerufen, wenn die /etc/config/gateway gültig ist muss nichts mehr gemacht werden. Sollte die Datei einen Fehler enthalten (z.b. alten Syntax von uralter nicht offizieller Firmware) werden keine Einstellungen gesetzt und man muss sich per SSH einwählen und configure-layer3 -c / -t / -a per Hand aufrufen nachdem man die Datei korrigiert hat
[...]
In manchen Fällen kann es notwendig sein, das der Router sich nach einem Update so verhält, als wäre er frisch eingerichtet (also alle Einstellungen vergisst). Dafür gibt es im WebUI den Haken "Konfiguration behalten" welcher entfernt werden kann. Bei der SSH Methode kann dem Befehl sysupgrade der Parameter -n mitgegeben werden. Bei der sysupgrade.sh/fff-update.sh Methode steht diese Option nicht zur Verfügung.
== Firmware-Update ==
Wenn bereits eine Freifunk-Franken-Firmware auf dem Router installiert ist, geht man zum Updaten nach einer der folgenden Methoden wie beschrieben vor.
Für Updates benötigt ihr die "sysupgrade" Version des aktuellsten Firmware-Images (nur bei Möglichkeit 2 und 3):
* bin-Datei mit der Bezeichnung "sysupgrade" im Namen 
* z.B. "openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"
=== Möglichkeit 1: sysupgrade.sh / fff-upgrade.sh ===
Dies ist die einfachste Möglichkeit und geht extrem schnell. Man muss weder etwas vorbereiten noch die Firmware zuvor erst umständlich herunterladen und auf den Router bekommen. Alle Einstellungen werden hier immer behalten.
* Man loggt sich auf dem Router per ssh ein (siehe oben)
* Und startet folgendes Skript fff-upgrade.sh, bei alten Firmwareversionen ist dieses Script u.U. noch nicht vorhanden, dann muss man /etc/sysupgrade.sh aufrufen. 
* Nach einer Rückfrage die man mit y beantwortet, downloadet der Router die neue Firmware automatisch und installiert sie selbstständig
Sollte es zu Probleme kommen, das der Filename nicht gefunden wurde, bitte mit genauen Routermodell auf der Mailingliste melden.
=== Möglichkeit 2: Webinterface ===
Ruft im Browser das Webinterface auf und loggt euch dort mit eurem Benutzernamen+Passwort ein.
Im Menüpunkt "Update" lädt man dort die neueste Firmware mit der Bezeichnung "sysupgrade" hoch.
Der Haken bei "Konfiguration behalten" bewirkt, dass alle Einstellungen (wie Passwort, Koordinaten, Beschreibung etc.) auch nach dem Flashen noch vorhanden sind.
Alle Infos zum Download der Firmware ist hier zu finden, ihr müsst nur statt die factory die sysupgrade herunterladen.
=== Möglichkeit 3: manuelles Vorgehen ===
==== unter Linux ====
* Man loggt sich per ssh auf dem Router ein: ssh root@<ipv6%iface>, siehe auch hier.
* Man wechselt mit cd /tmp in das richtige Verzeichnis. Das aktuelle Verzeichnis kann man sich mit pwd anzeigen lassen.
** Das Image wird auf den lokalen PC heruntergeladen und dann auf den Router hochgeladen, dazu gibst du auf deinem Rechner diesen Befehl in die Linux-Konsole ein: scp <imagename> root@[<ipv6%iface>]:/tmp, das sieht dann z.B. so aus: scp openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin root@[fe80::fad1:11ff:fe90:3e6e%wlan0]:/tmp
** Alternativ erfolgt der Download direkt auf dem Router cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/<version>/<image>, z.B. cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/0.5.1/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin
* Zuletzt führt man das Update aus: sysupgrade -n <imagename>. Wenn du -n mit drinnen lässt, wird der Router komplett neu geflasht und es bleiben keine Einstellungen behalten. Möchtest du die Einstellungen behalten lasse die Option -n weg.
==== unter Windows ====
* Um die Fimrware auf den Router spielen zu können muss man sich zuerst mit dem Freifunk-Netz verbinden (via WLAN oder LAN).
* Mit WinSCP kann man die Datei auf das Gerät kopieren.
** Dazu startet man WinSCP und wählt als Übertragungsprotokoll "SCP", gibt IPv6-Adresse des Routers, sowie "root" als User und das dazugehörige Passwort ein.
** Dann wechselt man im linken Explorer (eigener Rechner) in das Verzeichnis wo man das Image heruntergeladen hat und im rechten Explorer in das Verzeichnis "/tmp". Dann kann man die Datei mit Drag 'n Drop auf den Router hochladen.
* Statt WinSCP kann auch PSCP verwendet werden: pscp -scp -6 <imagename> root@[<ipv6%iface>]:/tmp
==== Updaten ====
* Danach loggt man sich via ssh (z.B. mittels PuTTY) auf dem Router ein, siehe auch hier.
* Dann wechselt mit cd /tmp in das Verzeichnis wo das Firmware-Image hochgeladen wurde.
* Zuletzt führt man das Update aus: sysupgrade <imagename>. Wenn du den Parameter -n mit nimmst, wird der Router komplett neu geflasht und es bleiben keine Einstellungen behalten.
== Besonderheiten beim Update ==
=== Update auf 20220413 oder neuer ===
* Geräte aus dem mt7621 Target müssen zuerst auf 20211224 aktualisiert werden.
** Fehlermeldung: Image version mismatch: image 1.1, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Config cannot be migrated from swconfig to DSA
** Alternativ kann bei dieser Fehlermeldung (und nur dann!) per ssh mit sysupgrade -F <image> direkt auf die neuere Firmware aktualisiert werden.
=== Update von 20211220 auf 20211224 ===
* Geräte mit mt7621 SoC können wegen verschiedener compat_version nicht direkt von 20211220 auf 20211224 aktualisiert werden. Upgrades von älteren Firmwareversionen sind nicht betroffen. Bei der nächsten Firmwareversion löst sich dieses Problem von alleine.
* Alternativ kann die Firmware über ssh mit -F (force!), aber ohne -n geupdated werden. Dies sollte nur bei entsprechender Aufforderung des sysupgrade Skripts erfolgen, damit weiterhin automatisch geprüft wird, ob es sich um das richtige Image handelt.
** Die Aufforderung sieht so aus: The device is supported, but the config is incompatible to the new image (1.1->1.0). Please upgrade without keeping config (sysupgrade -n).
** Anders als in der Aufforderung steht, kann die Freifunk Firmware auch ohne -n geupgraded werden. Downgrades hingegen müssen ohne Configübernahme (also mit -n) ausgeführt werden.
=== Update auf 20211220 ===
* Geräte mit mt7621 SoC verwenden nun den DSA Treiber. Daher ist eine andere Konfigurationssyntax nötig.
** Beim Update wird die Konfiguration automatisch migriert
** Bei frischer Installation ist die neue config_version und ggf. die neue Syntax zu beachten.
** Betrifft aktuell: Edgerouter X (SFP), EP-R6, Netgear R6220 und Xiaomi Mi 4A (Gigabit)
* Node-Variante: Port Override Feature für Geräte mit mehr als zwei Ports aus /etc/network.config entfernt. Die Ports haben nach dem Update automatisch wieder die Standardbelegung (WAN, 1-2x BATMAN, 2x Client), diese kann auch nicht mehr vom Nutzer geändert werden.
* Die CPE210/510 wurden durch die Migration zu ath79 auf zwei Images aufgeteilt. Hier muss das richtige Image manuell ausgewählt werden, fff-upgrade.sh kann dies leider nicht unterscheiden.
=== Update von 20211201-beta auf 20211220 ===
* Bei Geräten mit mt7621 SoC muss mit -F (force!), aber ohne -n geupdated werden. Dies sollte nur bei entsprechender Aufforderung des sysupgrade Skripts erfolgen, damit weiterhin automatisch geprüft wird, ob es sich um das richtige Image handelt.
** Die Aufforderung sieht so aus: The device is supported, but the config is incompatible to the new image (1.1->1.0). Please upgrade without keeping config (sysupgrade -n).
** Anders als in der Aufforderung steht, kann die Freifunk Firmware auch ohne -n geupgraded werden. Downgrades hingegen müssen ohne Configübernahme (also mit -n) ausgeführt werden.
=== Update auf 20210211-beta (oder aktueller) ===
* Wechsel von ar71xx auf ath79
* Die AC-Mesh ist in dieser Version und dem folgenden Release leider kaputt. Daher erstmal bei 20200501 bleiben, bis es dafür einen fix gibt.
* Die Unterscheidung der Ubiquiti-Geräte funktioniert nun anders, daher muss bei diesem Update unbedingt das richtige Image augewählt werden:
** bullet-m nur noch für die Bullet M verwenden
** Für Nanostation M (loco (XW)) und Picostation müssen jetzt die entsprechend gleich benannten Images verwendet werden!
** Eine Übersicht über die verfügbaren Geräte und Images gibt es hier: Firmwareinstallation/Ubiquiti
=== Update auf 20200501 (oder aktueller) ===
* Wechsel von OpenWrt 18.06 auf 19.07
* Der ubifs Treiber in 20200118 und älter war fehlerhaft, daher kann das Upgrade eines Edgerouters auf eine aktuellere Firmware in seltenen Fällen fehlschlagen
** https://mantis.freifunk-franken.de/view.php?id=140
** https://github.com/freifunk-gluon/gluon/issues/1937
** In diesem Fall muss der Edgerouter über TFTP wiederhergestellt werden
=== Update auf 20200118 (oder aktueller) ===
* Portbelegung beim Archer C7 v2 geht kaputt, wenn Einstellungen behalten werden
** Entweder ohne Behalten der Einstellungen aktualisieren oder auf nächste Version warten
** Sollte ab 20210211-beta nicht mehr auftreten
=== Update von 20181202 ===
Die aktuelle stabile Version 20181202 hat leider einen Bug im WebUI-Upgrade.
Da das Installieren über das WebUI meistens nicht klappt um im schlimmsten Fall dazu führen kann, dass der Router eine halbe Firmware flasht, sollte das Update ausschließlich über SSH/SCP installiert werden!
=== Update von 20170918 (oder älter) auf 20180802 (oder neuer) ===
* Gefahren beim Update von V1 auf V2
Archiv:
 Besonderheiten beim Update von Ubiquiti Routern von 0.5.0 auf 0.5.1 
Es ist nötig, erneut die Funktionsweise der LAN-Schnittstelle zu konfigurieren.
Sofern die Netzwerkschnittstelle des Routers als WAN konfiguriert war, wird dringend empfohlen vor dem Flashen den Router am Heimrouter vom Internet / WAN zu trennen.
 Besonderheiten beim Update auf 0.4.0 
Wenn bereits 0.4.0rc3f oder neuer installiert ist, einfach mit sysupgrade (ohne -n Schalter) updaten. Die vorherigen Versionen benötigen zum Flashen noch das sysupgrade -n (mit -n Schalter). Die alten Images (ab 0.3.999) weisen bei der Verwendung von Sysupgrade bereits auf diesen Umstand hin.
Einfache Regel: Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, versuche, ohne -n zu flashen. Sollte die Firmware dies noch nicht unterstützen, meldet sie sich mit einer Fehlermeldung. Es geht ansonsten auch nichts kaputt, wenn du mit -n flashst.
 Besonderheiten beim Update auf 0.3.999 
Durch den geänderten WLAN-Kanal 1 ist nach dem Flashen die Verbindung zu Routern mit der alten Version über Funk nicht mehr möglich. Sollen also Router aus der Ferne upgedated werden, sollte dies beachtet werden. Nach dem Update bitte im Netmon den Router-Hash zurücksetzen.
 Besonderheiten beim Update von einer Firmware vor 0.4.0rc4f 
Gilt nur, wenn auf dem Router eine Firmware vor 0.4.0rc4f installiert ist:
Beim Sysupgrade bitte mit -n flashen, damit die alte Config durch die neue überschrieben wird. Dies ist nötig, damit die Daten nicht falsch vermischt werden und am Ende das Passwort nicht mehr stimmt.
= Reflash zur Orginal TP-Link Firmware =
* Auf unserem Wiki ist es beschrieben
* Auf OpenWRT webseite Back to original auch
* Eine Anleitung für den Router TP 841 mit der Firmware 9.x geht über die Anleitung vom Freifunk Gera-Greiz.
* Eine schöne Anleitung zum Zurück-Flashen eines WR841 gibt es hier im Originalfirmware zurückflashen von Freifunk in Mainz, Wiesbaden und Umgebung.
Kategorie:Technik
Kategorie:Firmware
Kategorie:node
Kategorie:layer3