aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--unattended-lte-firmware-upgrade12
1 files changed, 9 insertions, 3 deletions
diff --git a/unattended-lte-firmware-upgrade b/unattended-lte-firmware-upgrade
index d38b917..087e32d 100644
--- a/unattended-lte-firmware-upgrade
+++ b/unattended-lte-firmware-upgrade
@@ -18,16 +18,22 @@
:if ([ :typeof $Firmware ] = "array") do={
:if (($Firmware->"installed") != ($Firmware->"latest")) do={
:log info ("Scheduling LTE firmware upgrade for interface " . $IntName . ".");
+
:global LTEFirmwareUpgrade do={
:global LTEFirmwareUpgrade;
:set LTEFirmwareUpgrade;
+
/system/scheduler/remove ($1 . "-firmware-upgrade");
/interface/lte/firmware-upgrade $1 upgrade=yes;
- :log info ("LTE firmware upgrade finished, waiting for installation before reset.");
+ :log info ("LTE firmware upgrade on '" . $1 . "' finished, waiting for reset.");
:delay 150s;
- /interface/lte/at-chat $1 input="AT+RESET";
- :log info ("Reset device, waiting to finish and reconnect.");
+ :local Firmware [ /interface/lte/firmware-upgrade $1 once as-value ];
+ :if (($Firmware->"installed") != ($Firmware->"latest")) do={
+ :log warning ("LTE firmware versions still differ. Resetting again...");
+ /interface/lte/at-chat $1 input="AT+RESET";
+ }
}
+
/system/scheduler/add name=($IntName . "-firmware-upgrade") start-time=startup interval=2s \
on-event=(":global LTEFirmwareUpgrade; \$LTEFirmwareUpgrade \"" . $IntName . "\";");
} else={