Konfiguration erst im Anschluss an die Firmware updaten

Dieses Szenario beschreibt, wie Sie an der Kommandozeile das Gerät so konfigurieren, dass es in einem festgelegten Intervall Firmware und Konfiguration aktualisiert. Das Update der Firmware erfolgt dabei vor dem Update der Konfiguration. Der Download von Firmware und Konfiguration geschieht von einem externen Server (siehe Datei-Download von einem TFTP- oder HTTP(S)-Server) über die Befehle 'LoadFirmware' und 'LoadConfig' unter Verwendung dynamischer Dateinamen. Die Zeitplanung realisieren Sie mittels Cron-Jobs.

  1. Geben Sie die URL an, von dem der Befehl 'LoadFirmware' die Firmware lädt, wenn keine anderen Parameter vorliegen. Für das Laden der Firmware von einem HTTP-Server z. B. verwenden Sie einen Befehl ähnlich dem folgenden:
    set /Setup/Automatisches-Laden/Netzwerk/Firmware/URL http://www.mycompany.de/firmware/

    Der Dateiname wird später durch den Cron-Job definiert.

  2. Stellen Sie die Bedingung für das Laden der Firmware so ein, dass nur eine neuere als die im Gerät vorhandene Firmware geladen wird:
    set /Setup/Automatisches-Laden/Netzwerk/Firmware/Bedingung wenn-neuer 
  3. Geben Sie den Pfad an, von dem der Befehl 'LoadConfig' eine Konfiguration lädt, wenn keine anderen Parameter vorliegen. Für das Laden der Konfiguration von einem HTTP-Server z. B. verwenden Sie einen Befehl ähnlich dem folgenden:
    set /Setup/Automatisches-Laden/Netzwerk/Firmware/URL http://www.mycompany.de/configuration

    Der Dateiname wird später durch den Cron-Job definiert.

  4. Stellen Sie die Bedingung für das Laden der Konfiguration so ein, dass nur eine andere als die im Gerät vorhandene Konfiguration geladen wird:
    set /Setup/Automatisches-Laden/Netzwerk/Konfiguration/Bedingung wenn-unterschiedlich
  5. Erstellen Sie einen Cron-Job, der regelmäßig alle 10 Minuten das Kommando 'LoadFirmware' ausführt:
    cd /Setup/Config/Cron-Tabelle
    set 1 * * * 10 * * * * LoadFirmware\ $__SERIALNO-Device.upx

    Im obigen Beispiel muss die Firmware auf dem HTTP-Server also in der Form <SerialNumber>-Device.upx vorliegen, z. B. 000018100060-Device.upx.

    Wichtig: Im cron-Befehl LoadFirmware\ $__SERIALNO-Device.upx ist das Leerzeichen zwischen dem Load-Kommando und der Umgebungsvariablen mit einem Backslash geschützt. Eine denkbare alternative Schreibweise, bei welcher der komplette Befehl mit Anführungszeichen eingeschlossen wird, führt zu einem Fehler. LCOS behandelt Umgebungsvariablen in Anführungszeichen wie normalen Text; die Umsetzung in den Inhalt der Variablen entfällt.
  6. Erstellen Sie einen Cron-Job, der regelmäßig alle 10 Minuten das Kommando 'LoadConfig' ausführt:
    set 2 * * * 10 * * * * LoadScript\ $__SERIALNO-$__FWVERSION.lcs

    Im obigen Beispiel muss das Konfigurationsskript auf dem HTTP-Server also in der Form <SerialNumber>-<FirmwareVersion>.lcs vorliegen, z. B. 000018100060-8.84.lcf.

Fertig! Bei dieser Konfiguration lädt das Gerät in jedem Fall zuerst die aktuelle Firmware.

Wenn das Gerät – nach dem Hochladen der aktuellen Firmware und des aktuellen Konfigurationsskriptes (z. B. für Version 8.84) auf den HTTP-Server – zuerst den Befehl 'LoadScript' ausführt, enthält die Umgebungsvariable '__FWVERSION' zu diesem Zeitpunkt den Wert der vorangegangenen Firmware (z. B. '8.80'). Der Befehl LoadScript\ $__SERIALNO-$__FWVERSION.lcs findet zu diesem Zeitpunkt also kein passendes Konfigurationsskript. Anschließend führt das Gerät den Befehl LoadFirmware 000018100060-Device.upx aus; nach dem Neustart enthält die Umgebungsvariable '__FWVERSION' den Wert '8.84'. Der Befehl LoadScript\ $__SERIALNO-$__FWVERSION.lcs findet dann ein passendes Skript zum Updaten der Konfiguration.

www.lancom-systems.de

LANCOM Systems GmbH | A Rohde & Schwarz Company | Adenauerstr. 20/B2 | 52146 Würselen | Deutschland | E‑Mail info@lancom.de

LANCOM Logo