Vorherige Firmware per Konsole aktivieren
Moderator: Lancom-Systems Moderatoren
Vorherige Firmware per Konsole aktivieren
Hallo,
gibt es einen Konsolen-Befehl, um die vorherige Firmware zu aktivieren?
Gruß Christian
gibt es einen Konsolen-Befehl, um die vorherige Firmware zu aktivieren?
Gruß Christian
Re: Vorherige Firmware per Konsole aktivieren
Die Firmwares sind unter aufgeführt. Da den Befehl (X is die Position der Firmare die du aktivieren willst, also 1 oder 2) eingeben, dann mit neu starten.
Code: Alles auswählen
/Firmware/Table-Firmsafe
Code: Alles auswählen
set X act
Code: Alles auswählen
do /other/boot-system
Re: Vorherige Firmware per Konsole aktivieren
Vielen Dank
jetzt stellen sich noch folgende Herausforderungen für mein Powershell-Script:
jetzt stellen sich noch folgende Herausforderungen für mein Powershell-Script:
- auszulesen, welche Version auf welchem Firmwarespeicher (1 oder 2) liegt. Kann ich auch über sysinfo parsen?
- setzen der aktiven Firmware mit einer Befehlszeile "z. B. set /Firmware/Table-Firmsafe X act". Was so nicht funktioniert. Gibt es eine passende Syntax?
Re: Vorherige Firmware per Konsole aktivieren
Hi chriswalg
Gruß
Backslah
steht doch in der Tabelle... aber wenn du den Sysinfo parsen willst, das müßte die erste Ziffer im FIRMWARE_STATUS sein (beachte, daß da die Zählung bei 0 beginnt)auszulesen, welche Version auf welchem Firmwarespeicher (1 oder 2) liegt. Kann ich auch über sysinfo parsen?
fast... Tabellenzeilen sind wie Unterverzeichnisse, d.h. du mußt den Pad dahin vollständig angeben, also "set /Firmware/Table-Firmsafe/X act" (oder kürzer "set /f/t/X a")setzen der aktiven Firmware mit einer Befehlszeile "z. B. set /Firmware/Table-Firmsafe X act". Was so nicht funktioniert. Gibt es eine passende Syntax?
Gruß
Backslah
-
- Beiträge: 3223
- Registriert: 12 Jan 2010, 14:10
Re: Vorherige Firmware per Konsole aktivieren
Hi,
reicht nicht in 99% der Fälle der "neue" Befehl
völlig aus? Die laufende Firmware wird doch im Regelfall neuer sein als die Firmware auf der 2. Partition? Mal von irgendwelchen spontanen Tests abgesehen.
Gruß Dr.Einstein
reicht nicht in 99% der Fälle der "neue" Befehl
Code: Alles auswählen
do /Firmware/Switch-Firmware
völlig aus? Die laufende Firmware wird doch im Regelfall neuer sein als die Firmware auf der 2. Partition? Mal von irgendwelchen spontanen Tests abgesehen.
Gruß Dr.Einstein
Re: Vorherige Firmware per Konsole aktivieren
Genau, dafür wurde der Befehl doch extra mal geschaffen, dass man mehrere Router am Stück nach einem Firmware-Update, was man rückgängig machen will, wieder per Script zurücksetzen kann. Vorher, also als es den Befehl noch nicht gab, musste man noch Verrenkungen machen (Notizzettel):
Code: Alles auswählen
abgedeckte Szenarien:
1) tatsächlich laufende FW in 1 oder 2 und aktiv, anderer Platz a) inaktiv oder b) leer oder minimal+inaktiv
-> Position_current_FW 1 oder 2; a) Position_inactive_FW 2 oder 1; -> b) unset inactive u. booten
2) tatsächlich laufende FW in 1 oder 2 und inaktiv, anderer Platz a) aktiv (aber nicht tatsächlich aktiv) oder b) minimal+aktiv (aber nicht tatsächlich aktiv)
-> unset current; a)
3) tatsächlich laufende FW gar nicht vorh., ein Platz leer, der andere aktiv (aber nicht tatsächlich aktiv) oder minimal+aktiv (aber nicht tatsächlich aktiv)
ls /3/2 -> contains minimal -> Abbruch
ls /3/2/1 @ ${__FWVERSION}.${__FWBUILD} -> contains " active" -> setenv Position_active_FW 1 -> goto
ls /3/2/2 @ ${__FWVERSION}.${__FWBUILD} -> contains " active" -> setenv Position_active_FW 2 -> goto
ansonsten unsetenv -> goto
ls /3/2/2 @ ${__FWVERSION}.${__FWBUILD} -> contains " inactive" -> unsetenv inactive -> goto
ls /3/2/1 @ ${__FWVERSION}.${__FWBUILD} -> contains " inactive" -> unsetenv inactive -> goto
-> contains " inactive" -> setenv Position_inactive_FW 1 ; setenv Position_FW_Var_erst /4/2
ansonsten unsetenv beide Variablen;
ansonsten -> setenv Position_active_FW 2 ; setenv Position_inactive_FW 1 ; setenv Position_FW_Var_erst /4/2
# diese Auswertung basiert aber auf der Tabelle der Firmwares. Die aktiv laufende Firmware muss dort aber nicht aktiv sein.
# Script "Andere FW aktivieren"
# Funktioniert nur, wenn im Gerät das Firmware-Script läuft, was die Variablen erzeugt, die die Position der aktiven FW angeben
# abwarten, damit dieses Script auch Geräte hinter Routern erreicht, dann inaktive FW aktivieren und anschließend neu booten (wenn Variablen vorhanden)
sleep 5s ; set /3/2/${Position_inactive_FW} 1 ; do ${Position_FW_Var_erst} ; sleep 1m ; LoadFirmware /last
${vorherige_FW_aktivieren}
# Vergleich zur letzten aktiven FW
cd /3/2/${Position_active_FW}