Schrittweises auto-updating?

Hey ihr,

ich bin wohl über einen edge-case gestolpert:
In kurz: Wäre es möglich, dass das Auto-updating erkennt, wenn der Versionssprung noch über Zwischenschritte erfolgen muss (z.B. 2.0 erst zu 2.6 dann zu 3.0)?

Langversion:
Ich hatte vor 4 Jahren begonnen bei uns Freifunk aufzubauen, 4 APs (Netgear ex6150v2) angeschafft und Software (gluon 2.0.2) drauf installiert. Das Projekt ist dann erst nochmal eingeschlafen und ging jetzt wieder los.
Netgear ex6150v2 [64839-stmichael-1] MeshVPN, auto-update, läuft seit 4 Jahren Problemlos.
Fritzbox 4040 [64839-stmichael-0] mit MeshVPN, auto-update,vor 1 Monat aufgebaut, läuft.
Mesh-on-Lan zum Problemkind:
Netgear ex6150v2 [64839-stmichael-2], Mesh-on-Wan, auto-update, letzte Woche aus dem Keller geholt aufgestellt, Konfiguration überarbeitet und auto-update an.
Node auf der Karte sichtbar, WLAN war da und stabil.

Problem:
Nach 15-30 Minuten war es weg. Kein WLAN, keine Node und kein Blinken am Lan-Port. Das Ding neu gestartet. Nach 15-30 Minuten war es weg.

Nach einigen Ideen und Versuchen habe ich zuerste versucht das Ding manuell zu updaten, was auch nicht geklappt hat.
(Die Fehlermeldung im Konfigurationsmodus sagt dass die Firmware nicht für das Gerät geeignet ist, oder so. Das könnte ggf spezifiziert werden?)
Dann habe ich irgendwann die Release Ankündigung hier im Forum nochmal aufmerksam gelesen und dann da steht dass 3.0 nur on 2.6 aus geht.

Lösung
Per ssh aufgeschaltet. In /etc/config/autoupdater den list-mirror von stable auf 2.6.1 gestellt, zweimal autoupdate. Läuft.

Viele Grüße,
Daniel

Implementierbar wäre sowas schon. Seit 2.6.0 bzw. Gluon v2022.1 sendet der autoupdater einen X-FIRMWARE-VERSION Header mittels dessen man auf dem Webserver ggf. mit Regeln arbeiten könnte um je nach aktueller Version eine andere neue Version auszuliefern.

Das ist aber halt auch Aufwand, man müsste es pflegen und eine Lösung für ältere Firmware ist das auch nicht.

Aber mal schauen, ggf. schaue ich mir das demnächst mal irgendwann an ob und was ginge. Versprechen möchte ich das aber nicht und relevant wird es wohl ja auch erst zum nächsten Breaking Change (aufgrund des fehlen des Headers bei älteren Versionen).

Generell gilt aber wohl auch künftig das eine längere Offline Zeit kein supportetes Szenario ist. Es könnte ja auch sein das es eine Änderung an den Gateways oder der generellen Netzstruktur geben soll oder muss und dementsprechend Sachen inkompatibel werden.

Ich gebe dir aber natürlich recht das es blöd ist wenn etwas erst funktioniert und dann kaputt geht.

1 Like

Dies, gepaart mit der Anforderung an die Knotenbetreiber, sich wenigstens ›lose‹ auf dem aktuellen Stand bzgl. des Netzstatus und der Firmware zu halten. Anders ist eine ehrenamtlich betriebene Infrastruktur auf Dauer nicht realisierbar.

Hey ihr,
danke für die Antworten und Analysen. Das sehe ich vollkommen ein.

Wäre es ggf trotzdem möglich, dass der autoupdater in diesem Fall das Update abbricht und nicht das ganze Geräte zum Absturz bringt?
Und dass das Webinterface beim Update eine aussagekräftigere Meldung?

Viele Grüße,
Daniel

Kurz und knapp: nein, AFAICS.

Autoupdate liest eine Datei mit Versionsnummern, ist jene neuer, wird das als Update erkannt und entsprechend eingespielt. Relative Vergleiche – für welche Ausgangsversion ist die Zielversion ein valides Update? – sind weder vorgesehen noch liegen dem Autoupdate-Mechanismus diese Infos vor. Es gilt die einfache Denke: neuer == besser :wink:

Ich habe diesen Beitrag mal zum Anlass genommen, mein Lager zu durchforsten und habe folgende 6 Router gefunden mit FW < 2.6.1:

AVM 4020 mit 2.4.4
AVM 4020 mit 2.4.2
AVM 4020 mit 2.4.1
TP-Link TL-WR1043N ver5 mit 2.4.1
Netgear R6120 mit 1.8
Netgear R6120 mit 1.5

Ich habe sicherheitshalber kein Auto-update gemacht.
Kann ich die Version 2.6.1 für diese Modelle noch bekommen, diese manuell einspielen und das update auf die aktuelle Version step by step machen?

Hab gerade selbst das Archiv der alten Versionen gefunden Index of /images/ und versuche es mit dem manuellen Einspielen der 2.6.0 und dann Auto-Update. Ich hoffe das funktioniert.

1 Like

Hat alles perfekt geklappt, erst die 2.6.0 manuell eingespielt, dann auf 3.0.1 per auto-update.

1 Like