Picture of Mike 2169
Registered 9 years 232 days
Mike 2169 Friday, 22 January 2016, 12:21 PM
Firmwareupdate und Config-Sicherung über CF-Card: geht fast

Hallo Zusammen,

ich habe mir endlich mal die Zeit genommen, und mir die Scripte zu basteln, damit ich auf der CF-Card die Backups aller Geräte sichere und von dort aus auch ein Firmwareupdate für alle Geräte machen kann. Das wollte ich zukünftig als Standard, auch bei kleinen Installationen, einrichten.

Nun habe ich dank Wiki alles soweit eingerichtet.

Testen wollte ich erstmal mit einem IP111. Ich habe auf der CF-Card die Firmwarefiles von 11r2 sr8 IP111[11.3355] entsprechend abgelegt.
Der IP111 hat aktuell 11r2 sr4 IP111[11.3260]


Im DHCP habe ich den Update-Pfad angegeben, dieser ist auch erreichbar (ohne User/Passwort): http://10.0.15.185/DRIVE/CF0/Firmware/
In diesem Pfad liegt die update-IP111.htm und ip111.bin.
Der Pfad mit den Firmware hat Leserechte, der Pfad wo die Configs rein sollen schreibrechte.


Inhalt der update-IP111.htm:
mod cmd UP0 scfg http://10.0.15.185/DRIVE/CF0/config/#h.txt no-op DAYLY /force 168
Dies soll ein tägliches Backup machen. Ob das geht muss ich noch testen, mit einem sofortigem Backup hat es geklappt

mod cmd UP0 prot http://10.0.15.185/DRIVE/CF0/Firmware/ ireset 11-3355
Dies soll prüfen, ob das Phone die Software 11-3355 hat, falls nicht flashen. Zumindest habe ich es so verstanden.

Ergebnis: das Phone bleibt bei der alten SW, unter "Services-Update" kommt die Meldung " reached (200)", siehe auch Screenshot dazu.
Wo ist mein Fehler? Ich vermute, dass ich mit irgendwas ein Verständnisproblem habe.

Ich danke euch für die Hilfe.

01.JPG

Picture of Peter 1333
Registered 11 years 16 days
Peter 1333 Friday, 22 January 2016, 01:31 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Ruf einmal http://10.0.15.73/debug.xml auf und aktiviere das Logging für das Update Script

Peter
Picture of Mike 2169
Registered 9 years 232 days
Mike 2169 Friday, 22 January 2016, 02:39 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Hab den Log im Anhang. log.txt
Picture of Peter 1333
Registered 11 years 16 days
Peter 1333 Friday, 22 January 2016, 02:47 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Meiner Ansicht nach rufst du da nichts auf was nach Firmware Update aussieht...
Picture of Mike 2169
Registered 9 years 232 days
Mike 2169 Friday, 22 January 2016, 02:54 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast

mod cmd UP0 prot http://10.0.15.185/DRIVE/CF0/Firmware/ ireset 11-3355

Wenn ich die Wiki richtig verstanden habe, wird doch mit der Zeile überprüft, ob das Endgeräte Firmware 11-3355 hat. Falls nein wird die Datei http://10.0.15.185/DRIVE/CF0/Firmware/ip111.bin geladen und installiert.

Zitate Wiki:

http://wiki.innovaphone.com/index.php?title=Reference10:Concept_Update_Server#Prot_command

To initiate a firmware update, the following command can be executed:

mod cmd UP0 prot <url> <final-command> <build-serial>

This command downloads new firmware (if available) from the specified URL onto the device. […]

Aber ich vermute, dass ich irgendeinen Denkfehler mache...

Thomas Neue
Registered 13 years 82 days
Thomas 251 Friday, 22 January 2016, 03:03 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Hallo,

wenn ich mir deinen ersten Screenshot ansehe, steht doch dort schon als Wert 11-3355.
Du musst in dem Script einen anderen Wert eingeben, damit das Update durchgeführt wird.

Gruß Thomas
Picture of Mike 2169
Registered 9 years 232 days
Mike 2169 Friday, 22 January 2016, 03:10 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Das verstehe ich jetzt nicht. Ich dachte da muss die Softwareversion rein, die auf dem Webserver liegt?
Falls dem nicht so ist: was muss denn da dann rein?
Thomas Neue
Registered 13 years 82 days
Thomas 251 Friday, 22 January 2016, 03:16 PM
1 of 1 users consider this post helpful
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Nein, das Script vergleicht nur, was im Feld "Value" steht mit dem Wert im Script.
Das hat nichts mit realen Softwareversionen zu tun, da kann auch z.B. "Asterix" o.ä. stehen.
Inno nimmt in den Beispielen immer die Softwareversionen, wahrscheinlich damit es etwas geordnet und übersichtlich bleibt.
Also ein Update findet immer dann statt, wenn der Wert bei "Value" und der Wert im Script unterschiedlich ist.

Gruß Thomas
Picture of Martin 177
Registered 13 years 50 days
Martin 177 Friday, 22 January 2016, 03:19 PM in response to Mike 2169
1 of 1 users consider this post helpful
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Hallo,
da kann ein beliebiger Text stehen. In der Regel verwendet man die Bezeichnung der einzuspielenden Firmwareversion z.B. V11r2sr12 kann aber auch Test123 angeben. Das entscheidende ist, dass das Updatescript den Wert im Script mit dem Wert im Telefon vergleicht. Ist der Wert unterschiedlich wird die Zeile ausgeführt im Script. Ist der Wert gleich - passiert nichts. Du solltest den Wert einfach ändern und überprüfen ob die Zeile ausgeführt wird.
Neben der Firmware sollte noch eine weitere Zeile mit dem Bootcode im Updatescript stehen, so dass beide Versionen auf dem gleichen Softwarestand sind.
Martin
Picture of Mike 2169
Registered 9 years 232 days
Mike 2169 Friday, 22 January 2016, 03:26 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Ich danke euch. Das war es. nun geht es. smile
Bootcode plane ich eh mit einzubauen. Wollte das erst mal ein geht. smile

Schönes Wochenende.
Picture of Peter 1333
Registered 11 years 16 days
Peter 1333 Friday, 22 January 2016, 03:56 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Interessant wäre wenn man im ganzen System nur einmal die aktuelle Version angeben müsste. Wenn ich denke ich habe für jede Komponente ein File und in jedem File mind. 2 Stellen wo die Versionsnummer eingetragen werden soll. Auch der Sourepath ist das gleiche Problem.

Kann man irgendwie eine Datei einbinden wo ich es als Variable hinterlege welche Version am updateserver ist und wo die Dateien liegen?

Peter
Thomas Neue
Registered 13 years 82 days
Thomas 251 Friday, 22 January 2016, 04:23 PM
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Ich habe das so gelöst, dass ich im Update-Pfad bei allen Telefonen auch eine Datei mitgebe, nicht nur den Pfad. Dann muss ich es nur in der update-all.txt ändern.

http://172.16.10.25/DRIVE/CF0/update/update/update-all.txt

Bei den Scripten für die Telefone stand sowieso überall das Gleiche drin, so habe ich es zusammengefasst.
Die Dateien liegen bei mir alle im selben Pfad.

Gruß Thomas
Picture of Roland
Registered 12 years 345 days
Roland Saturday, 23 January 2016, 01:54 PM
1 of 1 users consider this post helpful
Re: Firmwareupdate und Config-Sicherung über CF-Card: geht fast
Eine von der Firmware-Version abhängige update-Struktur ist ganz einfach zu lösen:

In den Endgeräten und Gateway's gebt Ihr die update-url wie folgt ein:

.../drive/CF0/update/#f/

Das führt dazu, dass die Endgeräte die eigene Hardware-Bezeichnung als Dateinamen hinten dran hängen. Der gesamte Pfad eines IP240 (Hier mit der Firmware Version 1001122) würde daraufhin so lauten:

.../drive/CF0/update/1001122/update-IP240.htm

wobei die 1001122 über den Platzhalter #f immer mit der aktuellen Firmware ersetzt wird.

Auf dem update-Server braucht Ihr dann nur jeweils einen Ordner für die aktuelle Firmware zu erstellen. In diesem Fall mit dem Ordnernamen 1001122.

Die Geräte schauen dann in den eingestellten Abständen ob es in dem update-script, welcher speziell für ihre aktuelle Firmware Version erstellt wurde, update-Kommandos gibt.

Für ein anstehendes Firmware-update müssen nur die update-Dateien im aktuellen Firmware-Ordner angepasst, und die dortigen update-Kommandos für das anstehende Firmware-update geändert werden.

Der Vorteil: Für jede bisher vorhandene Firmware-Version gibt es passende Firmware-Ordner und update-Dateien in denen passend die Kommandos dauerhaft vorgehalten werden.

Selbst wenn Endgeräte aus dem Lagerbestand oder Endgeräte die zum Zeitpunkt eines Update nicht im Netz waren irgendwann ins Netz gehängt werden und einen deutlich älteren Firmware Stand haben, ziehen diese Step für Step die gleichen update-Schritte hoch wie alle anderen Endgeräte auch.

Weiterer Vorteil: Funktionen, die erst ab einer bestimmten Version verfügbar sind, können in der entsprechenden Datei aktiviert werden. Die Endgeräte erhalten darüber die Funktionen automatisch, sobald sie diesen update-Schritt erreicht haben.

In den update-Dateien gibt es dann die Kommandos für einen Firmware- Bootcode update

mod cmd UP0 prot http://..../DRIVE/CF0/Firmware/1001122/ no-op 1001122
mod cmd UP0 boot http://..../DRIVE/CF0/Firmware/1001122/ iresetn 1001122

bei diesen beiden Kommandos wird auf eine Firmware-Datei verwiesen, die nur dann geladen werden darf, wenn die aktuelle im Gerät gespeicherte Check-Variabel (1001122) von der im Kommando angegeben abweicht.

Wenn ich die Endgeräte beispielsweise von der Version 1001122 auf die 1001133 heben möchte, trage ich in der update-Datei als Variabel und als neuen Firmware-Quellordner die 1001133  ein. Die Endgeräte vergleichen ihre aktuell gespeicherte Variabel (1001122) mit der angegebenen 1001133, da diese abweicht heißt das für das Endgerät dass es die verlinkte Firmware Datei aus dem Ordner \1001133\ laden soll. Die notwendigen Dateinamen ergänzen die Geräte automatisch. Gleichzeitig wird bei erfolgtem Firmware-Update die Variabel 1001133 als neue Check-Variabel im Gerät eingetragen. Besucht das Endgerät die update-Datei erneut, sind die beiden Variabeln identisch und das Gerät lädt die Firmware-Datei nicht erneut herunter.

Es müssen immer nur die neuen Ordner für die neuen Firmware-Versionen auf dem update-Ordner angelegt werden, und in den update-Dateien der bisherigen Version die mod cmd UP0 Kommados auf die neueste Version verlinkt werden. Die update-url's in den Geräten bleiben von Beginn bis Ende die gleiche.
Mit dieser Variante kann man ganz individuell entscheiden, wann welche Hardware-Variante auf welche Firmware-Version gezogen werden soll.

update.JPG

← You can define your color theme preference here