diff options
-rw-r--r-- | unattended-lte-firmware-upgrade | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/unattended-lte-firmware-upgrade b/unattended-lte-firmware-upgrade index 93638c3..0bac0a2 100644 --- a/unattended-lte-firmware-upgrade +++ b/unattended-lte-firmware-upgrade @@ -15,21 +15,25 @@ :log debug ("Could not get latest LTE firmware version for interface " . $IntName . "."); } - :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."); - :delay 150s; - / interface lte at-chat $1 input="AT+RESET"; - :log info ("Reset device, waiting to finish and reconnect."); + :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."); + :delay 150s; + / interface lte at-chat $1 input="AT+RESET"; + :log info ("Reset device, waiting to finish and reconnect."); + } + / system scheduler add name=($IntName . "-firmware-upgrade") start-time=startup interval=2s \ + on-event=(":global LTEFirmwareUpgrade; \$LTEFirmwareUpgrade \"" . $IntName . "\";"); + } else={ + :log info ("The LTE firmware is up to date on interface " . $IntName . "."); } - / system scheduler add name=($IntName . "-firmware-upgrade") start-time=startup interval=2s \ - on-event=(":global LTEFirmwareUpgrade; \$LTEFirmwareUpgrade \"" . $IntName . "\";"); } else={ - :log info ("The LTE firmware is up to date on interface " . $IntName . "."); + :log info ("No LTE firmware information available for interface " . $IntName . "."); } } |