-
Die Erfindung geht aus von einem technischen Gerät zum Vorbereiten eines Updates einer Firmware eines Computersystems nach dem Oberbegriff des unabhängigen Anspruchs 1 und von einem technischen Gerät zum Update einer Firmware eines Computersystems nach dem Oberbegriff des unabhängigen Anspruchs 2. Die Erfindung bezieht sich ebenfalls auf ein technisches Gerät mit einem Datenspeicher, auf welchem ein Firmwareupdatepaket gespeichert ist ausgehend vom Anspruch 9.
-
Derartige technische Geräte werden auch als „embedded devices“ bezeichnet. Die technischen Geräte werden mit einer so genannten Firmware betrieben, die alle notwendigen Steuer- und Funktionsdaten sowie Steuer- und Funktionsvorschriften (Prozesse) für das zu betreibende technische Gerät umfasst.
-
Stand der Technik
-
Die
WO 2007 005 790 A2 offenbart ein Verfahren zum Update einer Firmware eines technischen Gerätes. Vom Firmware-Datenpaket wird vorm Update eine lokale Kopie auf dem Speichermedium des technischen Gerätes gespeichert. Bei einem eventuellen Scheitern des Updates kann das Update mithilfe der Kopie erneut durchgeführt werden.
-
Es kann jedoch vorkommen, dass Updates mit beschädigten oder unvollständigen Dateien durchgeführt werden, ohne dass ein Betriebsfehler des Gerätes sofort auffällt. Vor einem solchen Fehler kann das Updateverfahren der
WO 2007 005 790 A2 nicht schützen.
-
Aufgabenstellung
-
Die Aufgabe der Erfindung besteht darin, ein technisches Gerät zur Durchführung eines zuverlässigen Updates einer Firmware vorzuschlagen.
-
Die Aufgabe wird durch die kennzeichnenden Merkmale des unabhängigen Anspruchs 1 gelöst.
-
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
-
Der Kern der Erfindung liegt in einem technischen Gerät, welches zur Durchführung eines zweistufigen Updateverfahrens einer Firmware geeignet ist. Das eigentliche Updateverfahren wird in einem vorgeschalteten Verfahren vorbereitet.
-
Das hier vorgestellte technische Geräte ist bevorzugter Weise ein Switch und die Verfahren werden besonders vorteilhaft bei so diesen eingesetzt. Switches sind aus der Netzwerktechnik bekannt.
-
Unter einer Firmware (engl. firm ‚fest‘) versteht ein Fachmann eine Software, die in elektronische Geräte eingebettet ist. Sie ist zumeist in einem Flash-Speicher gespeichert. Die Firmware ist funktional fest mit der Hardware verbunden ist, was bedeutet, dass das eine ohne das andere nicht nutzbar ist. Sie nimmt eine Zwischenstellung zwischen Hardware (also den physikalischen Anteilen eines Gerätes) und der Anwendungssoftware (den ggf. austauschbaren Programmen eines Gerätes) ein.
-
Bei einem Firmwareupdatepaket handelt es sich beispielsweise um ein entpackbares ZIP-file, welches in der Regel vom Hersteller des zugehörigen technischen Gerätes bereitgestellt wird. Das hier vorgeschlagene Firmwareupdatepaket beinhaltet Dateien, Protokolle und Skripte und zugehörige Checksummen, die mithilfe des bekannten md5-Algorithmus erzeugt wurden.
-
Das erfindungsrelevante Firmwareupdatepaket besteht, nachdem es entpackt wurde, vorteilhafterweise aus drei kleineren Paketen. Ein erstes Paket enthält alle für die Firmware relevanten Dateien. Ein zweites Paket besteht aus zumindest einer so genannten Skript-Datei. Aus der Skript-Datei werden einzelne Befehle ausgelesen und ausgeführt. Die Skript-Datei sorgt unter anderen dafür, dass die Dateien des ersten Paketes in die vorgesehenen Zielordner kopiert werden. Ein drittes Paket besteht aus zumindest einer Checksumme, die einer Datei des ersten Paketes zugeordnet ist und mit deren Hilfe die Korrektheit dieser Datei überprüft werden kann.
-
Wenn das zweite Paket lediglich eine Skript-Datei enthält, was der Regelfall ist, besteht das Firmwareupdatepaket aus zwei Paketen und eben dieser Skript-Datei.
-
Die nachfolgend beschriebenen Verfahren, die mittels des technischen Gerätes durchgeführt werden, werden maßgeblich von der Skript-Datei geführt.
-
Das zweistufige Verfahren besteht aus einem vorgeschalteten Verfahren und einem nachgeschalteten Verfahren.
-
Das vorgeschaltete Verfahren dient zur Vorbereitung eines Updates einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist. Das technische Gerät ist mit einem flüchtigen Speicherbaustein, beispielsweise einem RAM-Speicher, und mit einem nicht flüchtigen Speicherbaustein, beispielsweise einem Flash-Speicher, ausgestattet. Das Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- – Zunächst wird ein Firmwareupdatepaket in den flüchtigen Speicherbaustein heruntergeladen. Das Firmwareupdatepaket kann beispielweise auf einem USB-Stick gespeichert sein und dem technischen Gerät über eine USB-Schnittstelle zugeführt werden.
- – Anschließend wird das Firmwareupdatepaket in den nicht flüchtigen Speicherbaustein kopiert.
- – Dann wird eine Indikatordatei im nicht flüchtigen Speicherbaustein erzeugt. Die Funktion der Indikatordatei wird weiter unten näher erläutert.
- – Zuletzt wird vom technischen Gerät eine Aufforderung an einen Benutzter ausgegeben mit dem Inhalt, einen Neustart des technischen Gerätes durchzuführen.
-
Das nachgeschaltete Verfahren bezieht sich auf den eigentlichen Updatevorgang der Firmware. Alle die Firmware betreffenden Dateien werden ausgetauscht.
-
Das nachgeschaltete Verfahren zum Update einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist, bezieht sich auf ein technische Gerät mit einem flüchtigen Speicherbaustein, beispielsweise einen RAM-Speicher, und einem nicht flüchtigen Speicherbaustein, beispielsweise einen Flash-Speicher, wobei im nicht flüchtigen Speicherbaustein ein Firmwareupdatepaket gespeichert ist und wobei das Firmwareupdatepaket einzelne Dateien, Protokolle und Skripte und zugehörige erste Checksummen enthält.
-
Das nachgeschaltete Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- – Zunächst wird ein Neustart des technischen Gerätes durchgeführt.
- – Anschließend wird überprüft, ob eine Indikatordatei im nicht flüchtigen Speicherbaustein existiert.
-
Die Indikatordatei dient als Indikator dafür, dass die einzelnen Dateien, Protokolle und Skripte der Firmware ordnungsgemäß und vollständig heruntergeladen wurden und fehlerfrei kopiert wurden. Die Funktion der Indikatordatei wird weiter unten noch deutlicher hervorgehoben.
- – Wenn die Indikatordatei nicht existiert, wird ein Anstarten einer Firmware des technischen Gerätes durchgeführt. Das technische Gerät wird mit der vorhandenen Firmware beziehungsweise mit den vorhandenen Firmwaredateien betrieben. In diesem Fall wäre das nachgeschaltete Updateverfahren beendet.
- – Wenn die Indikatordatei jedoch existiert, wird das Firmwareupdatepaket vom nicht flüchtigen Speicherbaustein in den flüchtigen Speicherbaustein kopiert. Die Indikatordatei zeigt hier an, dass ein Firmwareupdatepaket heruntergeladen wurde und ein Update durchgeführt werden kann.
- – Anschließend werden alle im Firmwareupdatepaket enthaltenen Dateien im flüchtigen Speicherbaustein entpackt und die zugehörigen zweiten Checksummen dieser Dateien gebildet.
- – Dann werden die zweiten Checksummen der Dateien des kopierten Firmwareupdatepakets und die ersten Checksummen des ursprünglichen Firmwareupdatepakets miteinander verglichen.
- – Wenn die ersten und zweiten Checksummen der Dateien nicht identisch sind, wird das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht. Ebenfalls wird dann die Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht. Dadurch wird sichergestellt, dass das Anstarten des technischen Gerätes nicht mit einer fehlerhaften bzw. beschädigten Firmeware erfolgt. Das Anstarten erfolgt dann mit einer vorherigen Version, d.h. mit der alten Firmware.
- – Wenn jedoch die Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets identisch sind, werden alle Dateien des im flüchtigen Speicherbaustein gespeicherten Firmwareupdatepakets in den nicht flüchtigen Speicherbaustein kopiert. Bei diesem Schritt werden die alten Firmwaredateien, die alten Protokolle und die alten Skripte durch neue ersetzt.
- – Anschließend wird kontrolliert, ob der Kopiervorgang erfolgreich war. Dies geschieht üblicherweise über das Auslesen interner Fehlerprotokolle.
- – Wenn der Kopiervorgang nicht erfolgreich war, wird das Verfahren zum Update der Firmware beendet. Die Indikatordatei sowie das Firmwareupdatepaket bleiben erhalten. Nach dem nächsten Neustart wird der Updatevorgang wiederholt. Alternativ kann hier auch ein Zähler eingebaut werden, der nach erst n-Kopierversuchen durch Löschen der Indikatordatei sowie des Firmwareupdatepakes das Verfahren beendet.
- – Wenn der Kopiervorgang allerdings erfolgreich war, wird das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht, da dies nun nicht mehr benötigt wird. Dies ist außerdem aus Speicherplatzgründen von Vorteil. Außerdem wird die Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht.
- – Danach erfolgt ein Anstarten des technischen Gerätes mit den neuen Firmwaredateien, Protokollen und Skripten.
-
Ein wesentlicher Bestandteil der Erfindung besteht in einer Skript-Datei, die im Firmwareupdatepaket enthalten ist. Diese Skript-Datei wird im Folgenden auch als Installationsskript bezeichnet. Die Ausführung des Firmwareupdates wird vom technischen Gerät an das Installationsskript übergeben. Das Installationsskript führt anschließend folgende Verfahrensschritte aus:
- • Kopieren des Firmwareupdatepaketes vom RAM-Speicherbaustein in den FLASH-Speicherbaustein.
- • Jetzt werden zweite Checksummen des ersten Paketes des Firmwareupdatepaketes errechnet und mit den bereits enthaltenen ersten Checksummen verglichen.
- • Sind die ersten und zweiten Checksummen identisch, deutet dies auf fehlerfreie Firmwaredateien hin.
- • Das Installationsskript kopiert die Firmwaredateien nunmehr in den RAM-Speicherbaustein und installiert diese.
- • Um den FLASH Speicher nicht durch unnötige Schreibzugriffe zu stressen, werden die Firmwaredateien nur kopiert, wenn die zuvor errechneten Checksummen der bereits installierten Firmwaredatei nicht identisch mit der errechneten Checksumme der zu installierenden Firmwaredatei.
-
Ein Wesentlicher Erfindungsgedanke des beschriebenen Update-Verfahrens besteht darin, dass nicht nur die zu installierenden Firmwaredateien, sondern auch das Installationsskript auf das technische Gerät geladen wird. Dadurch wird ein hohes Maß an Sicherheit erreicht, dass das technische Gerät nicht durch ein beschädigtes Firmwareupdatepaket ausfällt.
-
Ausführungsbeispiel
-
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im Folgenden näher erläutert. Es zeigen:
-
1 Ein Ablaufdiagramm eines vorgeschalteten Verfahrens zur Vorbereitung eines Updates und ein Ablaufdiagramm zu einem Nachgeschalteten Verfahren zum Update einer Firmware eines Technischen Gerätes,
-
2 ein Ablaufdiagramm eines nachgeschalteten Verfahrens zum Update der Firmware des Technischen Gerätes.
-
Die Figuren enthalten teilweise vereinfachte, schematische Darstellungen. Zum Teil werden für gleiche, aber gegebenenfalls nicht identische Elemente identische Bezugszeichen verwendet. Verschiedene Ansichten gleicher Elemente könnten unterschiedlich skaliert sein.
-
Das vorgeschaltete Verfahren in 1 dient zur Vorbereitung eines Updates einer Firmware eines Computersystems, welches in einem technischen Gerät eingebettet ist. Das technische Gerät ist mit einem flüchtigen Speicherbaustein, beispielsweise einem RAM-Speicher, und mit einem nicht flüchtigen Speicherbaustein, beispielsweise einem Flash-Speicher, ausgestattet. Das Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- – Der Start (A) des Firmwareupdates wird beispielsweise durch ein so genanntes Kommando, beispielsweise über eine Konsole, initiiert. Die Firmware überwacht, beispielsweise einen bestimmten Ordner, ob ein neues Update vorliegt.
- – Dann wird ein Firmwareupdatepaket in den flüchtigen Speicherbaustein heruntergeladen (B). Das Firmwareupdatepaket kann beispielweise auf einem USB-Stick gespeichert sein und dem technischen Gerät über eine USB-Schnittstelle zugeführt werden.
- – Anschließend wird das Firmwareupdatepaket in den nicht flüchtigen Speicherbaustein kopiert (C).
- – Dann wird eine Indikatordatei im nicht flüchtigen Speicherbaustein erzeugt (D). Die Funktion der Indikatordatei wird weiter unten näher erläutert.
- – Zuletzt wird vom technischen Gerät eine Aufforderung an einen Benutzter ausgegeben, mit dem Inhalt, einen Neustart des technischen Gerätes durchzuführen (E).
- – Zuletzt erfolgt ein Neustart, ein so genannter Reboot, des Computersystems (F). Das vorgeschaltete Verfahren ist damit beendet.
-
In 2 wird ein Ablaufplan eines nachgeschalten Verfahrens zum eigentlichen Update der Firmware des Computersystems gezeigt. Das Verfahren durchläuft folgende Verfahrensschritte in der angegebenen Reihenfolge:
- – Zunächst wird das technische Gerät neu gestartet (G). Beispielsweise kann hierzu zuvor vom Computersystem eine Aufforderung zu einem „Neustart“ an den Benutzer erfolgen.
- – Dann wird das Computersystem hochgefahren (H).
- – Anschließend wird überprüft, ob eine Indikatordatei im nicht flüchtigen Speicherbaustein existiert (I).
- – Wenn die Indikatordatei nicht existiert, wird das Computersystem beziehungsweise das technische Gerät, unter Zuhilfenahme der Firmeware beziehungsweise der entsprechenden Dateien, Protokolle und Skripte, gestartet. Man spricht auch von einem Anstarten der Firmware (J). In diesem Fall wäre das nachgeschaltete Verfahren beendet.
- – Wenn allerdings die Indikatordatei existiert, dann wird das Firmwareupdatepaket vom flüchtigen Speicherbaustein (RAM) in den nicht flüchtigen Speicherbaustein (FLASH) kopiert (K).
- – Anschließend werden alle im Firmwareupdatepaket enthaltenen Dateien im flüchtigen Speicherbaustein entpackt (L).
- – Danach werden die zugehörigen zweiten Checksummen der entpackten Dateien gebildet und dann werden die ersten und zweiten Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets verglichen (M).
- – Durch den Vergleich der Checksummen wird überprüft, ob der vorangegangene Kopiervorgang erfolgreich war (N).
- – Wenn die ersten Checksummen der Dateien des Firmwareupdatepakets und die zweiten Checksummen des kopierten Firmwareupdatepakets nicht identisch sind, wird das Firmwareupdatepaket im nicht flüchtigen Speicherbaustein gelöscht (O).
- – Anschließend wird auch die Indikatordatei im nicht flüchtigen Speicherbaustein gelöscht (P).
- – Danach wird das Anstarten der Firmware des technischen Gerätes durchgeführt (Q). In diesem Fall wäre das nachgeschaltete Verfahren beendet.
- – Wenn die Checksummen der Dateien des Firmwareupdatepakets und des kopierten Firmwareupdatepakets identisch sind (R),
- – werden alle Dateien des im flüchtigen Speicherbaustein gespeicherten Firmwareupdatepakets in den nicht flüchtigen Speicherbaustein kopiert (R).
- – Danach wird kontrolliert, ob der Kopiervorgang erfolgreich war (S).
- – Wenn der Kopiervorgang erfolgreich war (T), wird das Firmwareupdatepaket im nicht flüchtigen Speicher gelöscht (O). Hier laufen die Verfahrensschritte im Ablaufdiagramm wieder zusammen.
- – Anschließend wird die Indikatordatei im nicht flüchtigen Speicher gelöscht (P).
- – Dann erfolgt das Anstarten der Firmware des technischen Gerätes. Damit ist das nachgeschaltete Verfahren beendet.
- – Wenn der Kopiervorgang der Dateien nicht erfolgreich war, wird der Benutzer des technischen Gerätes aufgefordert, einen Neustart des technischen Gerätes durchzuführen (T). Das Verfahren kann ggf. wieder von neuem bei Verfahrensschritt (G) beginnen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- WO 2007005790 A2 [0003, 0004]