Firmware aktualisieren: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
 
(84 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
__TOC__
__TOC__


== Wege den eigenen Router zu erreichen ==
== Aktuelle Version herausfinden ==


Man kann seine Router über SSH oder das grafische Web-UI via Browser aus dem gesamten Freifunknetz remote erreichen.
Welche Firmware Ihr installiert habt könnt ihr auf der [https://monitoring.freifunk-franken.de/ FFF Monitoring Seite] sehen. Ihr könnt euch auch einfach [[Anleitungen#SSH|via SSH]] auf euren Router anmelden und folgendes Kommando auf der Shell die erscheint absetzen:
<pre>
cat /etc/firmware_release
</pre>
Die Ausgabe des Kommandos sollte so aussehen:
<pre>
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"
</pre>


Dazu verbindet ihr euch mit dem Freifunknetz, über WLAN oder via Kabel direkt zum Router. <br />
== Auf den Router verbinden ==
Seit dem Umstieg auf unser v2-Netz ist es auch egal, in welcher Hood ihr euch befindet.


=== Webinterface ===
Zuerst muss man sich im Freifunknetz befinden und sich auf den Router verbinden.  
[[Datei:BrmeshImMonitoring.PNG|right|thumb|300px|Die IPv6 Adresse eines Beispielrouters im Monitoring]]
Gebt in euren Browser die [fd43:xxx] IPv6 Adresse inklusive der eckigen Klammern ein. <br />
Diese findet ihr im [https://monitoring.freifunk-franken.de/ Monitoring] unter "br-mesh".


Wenn ihr direkt mit dem Zielrouter verbunden seit könnt ihr immer die [fdff::1] IPv6 Adresse inklusive der eckigen Klammern benutzen.
Dazu diese Anleitung beachten:


Wenn ein Router nicht im Freifunknetz hängt sondern isoliert steht, gehen nur die fdff:: Adressen. fd43 Adressen funktionieren in diesem Fall nicht.
https://wiki.freifunk-franken.de/w/Anleitungen#Zugriff_auf_den_Router


Auch könnt ihr im [https://monitoring.freifunk-franken.de/ Monitoring]  euren Router auswählen und den Link "Web-UI" benutzen.
== Vor dem Update unbedingt lesen ==
[[Datei:WebUIimMonitoring.PNG|Die IPv6 Adresse eines Beispielrouters im Monitoring]]


=== SSH ===
'''Bei diversen Versionen gibt es kleine Bugs oder Gemeinheiten auf die man achten muss. Daher vorher [[Anleitung:FirmwareUpdate#Besonderheiten_beim_Update|diesen Abschnitt]] lesen.'''


Verbindet euch über die fd43:xxx IPv6 Adresse mit dem Zielrouter (unter Linux keine [] verwenden). <br />
=== Einstellungen behalten ===
Diese findet ihr im [https://monitoring.freifunk-franken.de/ Monitoring] unter "br-mesh".
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
[...]


Wenn ihr direkt mit dem Zielrouter verbunden seit könnt ihr immer die [fdff::1] IPv6 Adresse benutzen.
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 [[Anleitung:FirmwareUpdate#M.C3.B6glichkeit_2:_Webinterface|WebUI]] den Haken "Konfiguration behalten" welcher entfernt werden kann. Bei der [[Anleitung:FirmwareUpdate#M.C3.B6glichkeit_3:_manuelles_Vorgehen|SSH Methode]] kann dem Befehl sysupgrade der Parameter -n mitgegeben werden. Bei der [[Anleitung:FirmwareUpdate#M.C3.B6glichkeit_1:_sysupgrade.sh_.2F_fff-upgrade.sh|sysupgrade.sh/fff-update.sh]] Methode steht diese Option nicht zur Verfügung.


== Firmware-Update ==
== Firmware-Update ==
Zeile 31: Zeile 42:
Wenn bereits eine Freifunk-Franken-Firmware auf dem Router installiert ist, geht man zum Updaten nach einer der folgenden Methoden wie beschrieben vor.
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 [[Portal:Firmware|Firmware-Images]]:
Für Updates benötigt ihr die "sysupgrade" Version des aktuellsten [[Portal:Firmware#Firmware-Download|Firmware-Images]] (nur bei Möglichkeit 2 und 3):
* bin-Datei mit der Bezeichnung "sysupgrade" im Namen  
* bin-Datei mit der Bezeichnung "sysupgrade" im Namen  
* z.B. "openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"
* z.B. "openwrt-ar71xx-generic-ubnt-nano-m-squashfs-sysupgrade.bin"


=== Möglichkeit 0: Webinterface ===
=== Möglichkeit 1: sysupgrade.sh / fff-upgrade.sh ===
Ruft im Browser über die [https://[fdff::1] https://[fdff::1]] das Webinterface aus und loggt euch dort mit eurem Benutzernamen+Passwort ein.
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)
Im Menüpunkt "Update" lädt man dort die neueste Formware mit der Bezeichnung "sysupgrade" hoch.
* 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
Der Haken bei "Konfiguration behalten" bewirkt, dass alle Einstellungen (wie Passwort, Koordinaten, Beschreibung etc.) auch nach dem flashen noch vorhanden sind.


=== Möglichkeit 1: sysupgrade.sh ===
Sollte es zu Probleme kommen, das der Filename nicht gefunden wurde, bitte mit genauen Routermodell auf der Mailingliste melden.
'''<span style="color:#FF0000">Achtung: Funktioniert erst <u>ab</u> Firmware Version 0.5.1</span>'''
* Man loggt sich auf dem Router per ssh ein, siehe auch [[Anleitungen|hier]].
* Und startet folgendes Skript ''/etc/sysupgrade.sh''


=== Möglichkeit 2: Skript einfügen ===
=== Möglichkeit 2: Webinterface ===
* Man loggt sich auf dem Router per ssh ein, siehe auch [[Anleitungen|hier]].
Ruft im Browser das Webinterface auf und loggt euch dort mit eurem Benutzernamen+Passwort ein.
* Man fügt in das Fenster der Konsole dieses Skript ein und bestätigt gegebenenfalls mit [Enter]:
<pre>
BOARD=$(cat /var/sysinfo/board_name)
case "$BOARD" in
    tl-wr1043nd)
        BOARD=tl-wr1043nd-v1
        ;;
    tl-wr741nd)
        grep "Atheros AR7240 rev 2" /proc/cpuinfo && BOARD=tl-wr741nd-v2 || BOARD=tl-wr741nd-v4
        ;;
    tl-wr741nd-v4)
        grep 740 /var/sysinfo/model && BOARD=tl-wr740n-v4
        ;;
    tl-wr841n-v7)
        BOARD=tl-wr841nd-v7
        ;;
    tl-wr841n-v9)
        grep "v10" /var/sysinfo/model && BOARD=tl-wr841n-v10
        ;;
    nanostation-m)
        BOARD=ubnt-nano-m
        ;;
    tl-wa860re)
        BOARD=tl-wa860re-v1
        ;;
    tl-wdr3500)
        BOARD=tl-wdr3500-v1
        ;;
    tl-wdr4300)
        grep "3600" /var/sysinfo/model && BOARD=tl-wdr3600-v1
        grep "4300" /var/sysinfo/model && BOARD=tl-wdr4300-v1
        grep "4310" /var/sysinfo/model && BOARD=tl-wdr4310-v1
        ;;
esac


case $BOARD in
Im Menüpunkt "Update" lädt man dort die neueste Firmware mit der Bezeichnung "sysupgrade" hoch.
    tl-wdr4900-v1 )
        SOC="mpc85xx" ;;
    * )
        SOC="ar71xx" ;;
esac


FILE="openwrt-${SOC}-generic-${BOARD}-squashfs-sysupgrade.bin"
Der Haken bei "Konfiguration behalten" bewirkt, dass alle Einstellungen (wie Passwort, Koordinaten, Beschreibung etc.) auch nach dem Flashen noch vorhanden sind.
echo "Loading $FILE"
cd /tmp/
wget http://$(uci get configurator.@api[0].ipv6_address)%$(uci get configurator.@api[0].ipv6_interface)/dev/firmware/current/${FILE}
wget http://$(uci get configurator.@api[0].ipv6_address)%$(uci get configurator.@api[0].ipv6_interface)/dev/firmware/current/${FILE}.md5
md5sum -c ${FILE}.md5 && sysupgrade ${FILE}
</pre>


'''Tipp:''' Unter Windows kann der Inhalt der Zwischenablage durch [Umschalt]+[Einfg] in das PuTTY-Konsolenfenster eingefügt werden.
Alle Infos zum Download der Firmware ist [[Portal:Firmware#Firmware-Download|hier]] zu finden, ihr müsst nur statt die factory die sysupgrade herunterladen.
* Bei Ubiquiti Routern ggf. manuell vorgehen (siehe Möglichkeit 3).


=== Möglichkeit 3: manuelles Vorgehen ===
=== Möglichkeit 3: manuelles Vorgehen ===
==== unter Linux ====
==== unter Linux ====
<div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto">
* Man loggt sich per ssh auf dem Router ein: <tt>ssh root@<ipv6%iface></tt>, siehe auch [[Anleitungen|hier]].
* Man loggt sich per ssh auf dem Router ein: <tt>ssh root@<ipv6%iface></tt>, siehe auch [[Anleitungen|hier]].
* Man wechselt mit <tt>cd /tmp</tt> in das richtige Verzeichnis. Das aktuelle Verzeichnis kann man sich mit <tt>pwd</tt> anzeigen lassen.
* Man wechselt mit <tt>cd /tmp</tt> in das richtige Verzeichnis. Das aktuelle Verzeichnis kann man sich mit <tt>pwd</tt> 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: <tt>scp <imagename> root@[<ipv6%iface>]:/tmp</tt>, das sieht dann z.B. so aus: <tt>scp openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin root@[fe80::fad1:11ff:fe90:3e6e%wlan0]:/tmp</tt>
** 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: <tt>scp <imagename> root@[<ipv6%iface>]:/tmp</tt>, das sieht dann z.B. so aus: <tt>scp openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin root@[fe80::fad1:11ff:fe90:3e6e%wlan0]:/tmp</tt>
** Alternativ erfolgt der Download direkt auf dem Router <tt>cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/<version>/<image></tt>, z.B. <tt>cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/0.5.1/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin</tt>
** Alternativ erfolgt der Download direkt auf dem Router <tt>cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/<version>/<image></tt>, z.B. <tt>cd /tmp && wget http://[fe80::ff:feee:1%br-mesh]/dev/firmware/0.5.1/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin</tt>
* Zuletzt führt man das Update aus: <tt>sysupgrade -n <imagename></tt>. Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, kannst du versuchen, ohne <tt>-n</tt> zu flashen, dann bleibt das Passwort erhalten.
* Zuletzt führt man das Update aus: <tt>sysupgrade -n <imagename></tt>. 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.
 
</div>
==== unter Windows ====
==== unter Windows ====
 
<div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto">
* Um die Fimrware auf den Router spielen zu können muss man sich zuerst mit dem Freifunk-Netz verbinden (via WLAN oder LAN).
* Um die Fimrware auf den Router spielen zu können muss man sich zuerst mit dem Freifunk-Netz verbinden (via WLAN oder LAN).
* Mit [https://winscp.net/eng/download.php WinSCP] kann man die Datei auf das Gerät kopieren.
* Mit [https://winscp.net/eng/download.php WinSCP] kann man die Datei auf das Gerät kopieren.
Zeile 119: Zeile 81:
[[Datei:Winscp-copy-firmware.jpg]]
[[Datei:Winscp-copy-firmware.jpg]]
* ''Statt WinSCP kann auch [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PSCP] verwendet werden: <tt>pscp -scp -6 <imagename> root@[<ipv6%iface>]:/tmp</tt>''
* ''Statt WinSCP kann auch [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PSCP] verwendet werden: <tt>pscp -scp -6 <imagename> root@[<ipv6%iface>]:/tmp</tt>''
</div>
==== Updaten ====
* Danach loggt man sich via ssh (z.B. mittels [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]) auf dem Router ein, siehe auch [[Anleitungen|hier]].
* Danach loggt man sich via ssh (z.B. mittels [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY]) auf dem Router ein, siehe auch [[Anleitungen|hier]].
* Dann wechselt mit <tt>cd /tmp</tt> in das Verzeichnis wo das Firmware-Image hochgeladen wurde.
* Dann wechselt mit <tt>cd /tmp</tt> in das Verzeichnis wo das Firmware-Image hochgeladen wurde.
* Zuletzt führt man das Update aus: <tt>sysupgrade -n <imagename></tt>. Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, kannst du versuchen, ohne <tt>-n</tt> zu flashen, dann bleibt das Passwort erhalten.
* Zuletzt führt man das Update aus: <tt>sysupgrade <imagename></tt>. Wenn du den Parameter -n mit nimmst, wird der Router komplett neu geflasht und es bleiben keine Einstellungen behalten.


== Besonderheiten beim Update ==
== Besonderheiten beim Update ==
=== Update von 20180918 (oder älter) auf 20180802 (oder neuer) ===
=== Update auf 20220413 oder neuer ===
* Geräte aus dem mt7621 Target müssen zuerst auf 20211224 aktualisiert werden.
** Fehlermeldung: <code>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</code>
** Alternativ kann bei dieser Fehlermeldung (und nur dann!) per ssh mit <code>sysupgrade -F <image></code> 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:''' <pre>The device is supported, but the config is incompatible to the new image (1.1->1.0). Please upgrade without keeping config (sysupgrade -n).</pre>
** Anders als in der Aufforderung steht, kann die Freifunk Firmware auch ohne <code>-n</code> geupgraded werden. Downgrades hingegen müssen ohne Configübernahme (also mit <code>-n</code>) 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:''' <pre>The device is supported, but the config is incompatible to the new image (1.1->1.0). Please upgrade without keeping config (sysupgrade -n).</pre>
** Anders als in der Aufforderung steht, kann die Freifunk Firmware auch ohne <code>-n</code> geupgraded werden. Downgrades hingegen müssen ohne Configübernahme (also mit <code>-n</code>) 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) ===
* [[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]]


=== Besonderheiten beim Update von Ubiquiti Routern von 0.5.0 auf 0.5.1 ===
 
'''Archiv:'''
<div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto">
''' Besonderheiten beim Update von Ubiquiti Routern von 0.5.0 auf 0.5.1 '''
Es ist nötig, erneut die [https://wiki.freifunk-franken.de/w/Anleitung:UbiquitiPicoStationM2HP#Funktionsweise_der_LAN-Schnittstelle_.C3.A4ndern Funktionsweise der LAN-Schnittstelle] zu konfigurieren.
Es ist nötig, erneut die [https://wiki.freifunk-franken.de/w/Anleitung:UbiquitiPicoStationM2HP#Funktionsweise_der_LAN-Schnittstelle_.C3.A4ndern 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.
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 ===
''' Besonderheiten beim Update auf 0.4.0 '''
Wenn bereits 0.4.0rc3f oder neuer installiert ist, einfach mit <tt>sysupgrade</tt> (ohne <tt>-n</tt> Schalter) updaten. Die vorherigen Versionen benötigen zum Flashen noch das <tt>sysupgrade -n</tt> (mit <tt>-n</tt> Schalter). Die alten Images (ab 0.3.999) weisen bei der Verwendung von Sysupgrade bereits auf diesen Umstand hin.
Wenn bereits 0.4.0rc3f oder neuer installiert ist, einfach mit <tt>sysupgrade</tt> (ohne <tt>-n</tt> Schalter) updaten. Die vorherigen Versionen benötigen zum Flashen noch das <tt>sysupgrade -n</tt> (mit <tt>-n</tt> 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 <tt>-n</tt> 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 <tt>-n</tt> flashst.
Einfache Regel: Solange du kein sehr altes Image (vor 0.3.999) auf dem Router hast, versuche, ohne <tt>-n</tt> 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 <tt>-n</tt> flashst.


=== Besonderheiten beim Update auf 0.3.999 ===
''' 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.
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 ===
''' Besonderheiten beim Update von einer Firmware vor 0.4.0rc4f '''
Gilt nur, wenn auf dem Router eine Firmware vor 0.4.0rc4f installiert ist:
Gilt nur, wenn auf dem Router eine Firmware vor 0.4.0rc4f installiert ist:


Beim Sysupgrade bitte mit <tt>-n</tt> 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.
Beim Sysupgrade bitte mit <tt>-n</tt> 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.
</div>
= Reflash zur Orginal TP-Link Firmware =
* Auf unserem Wiki ist es [[FreifunkFranken_Firmware_zurück_zu_stock|beschrieben]]
* Auf OpenWRT webseite [https://openwrt.org/toh/tp-link/tl-wr841nd#go_back_to_original_firmware Back to original auch]
* Eine Anleitung für den Router TP 841 mit der Firmware 9.x geht über die Anleitung vom [https://www.freifunk-gera-greiz.de/wiki/-/wiki/Allgemein/WR841N+%3CSLASH%3E+WR841ND Freifunk Gera-Greiz].
* Eine schöne Anleitung zum Zurück-Flashen eines WR841 gibt es hier im [https://wiki.freifunk-mwu.de/w/Howto/Originalfirmware_zurückflashen Originalfirmware zurückflashen] von Freifunk in Mainz, Wiesbaden und Umgebung.


[[Kategorie:Technik]]
[[Kategorie:Technik]]
[[Kategorie:EinstiegsInformationen]]
[[Kategorie:Firmware]]
[[Kategorie:node]]
[[Kategorie:layer3]]

Aktuelle Version vom 13. August 2023, 17:52 Uhr

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)

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)


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