Plugwise – Firmware downloaden

icon firmware download

plugwise logo

Ik heb altijd zoiets van “ik moet een backup hebben als iets misgaat”, vooral met het experimenteren op een Linux systeempje is dit handig!, zo kun je weer een backup terugzetten als je iets verprutst hebt, dus ik heb even wat meer onderzoek gedaan hoe de Smile een firmware bestand download, en hoe je deze kan opslaan op je desktop computer.

Als je in het Adobe AIR (flash) van PlugWise zit te purren van en je exporteert alle bestanden en daarna zoek je in alle bestanden naar “firmware” of “update” dan zie je al gauw dat de firmwares opgeslagen zijn op dit adres:

https://update.plugwise.net/images/smile/1.2.8.img

Forbidden?
Maar het intikken van dit adres in je browser resulteert als gauw in een 403 pagina (verboden toegang):

403_forbidden

Nu ik via SSH toegang heb tot de Smile, kan ik alle bestanden naar windows kopieren met PSCP (onderdeel van putty tools), na een zoekcommando “firmware” in de smile bestanden krijg ik veel hits, maar na wat logish denken (boeren verstand) is dit het LUA bestand waar het om gaat: \usr\bin\pwupgrade

Bij het openen van dit bestand zie je dat het om een BASH SHELL gaat, dus geprogrammeerd in Linux taal:

Dit bestand (oftewel commando) is dus direct uitvoerbaar op de smile!, laten we het eens intypen:

Je ziet een optie staan om te checken voor een update, dat maakt het volgende commando: “pwupgrade check”, dan gaan we eens uitproberen met het commando:  pwupgrade check

smile_update_02

Wat zien we hier?:
In het PAARS: het commando om een check uit te voeren of er nieuwe firmware aanwezig is.
In het ORANJE: Je ziet het linux commando: cURL (meer info hier) en dat er dus met “certificaten” en een “key” gewerkt wordt.
In het GROEN: Hier zie je de URL waar het firmware bestand wordt weggehaald.

Nou, laten we het eens proberen te downloaden!, het commando is dan: pwupgrade download , het resultaat:

smile_update_03

Wat zien we hier?:
In het PAARS: het commando om nieuwe firmware te downloaden (indien aanwezig).
In het ORANJE: Je ziet het Linux commando: CURL (meer info hier) en dat er dus met “certificaten” en een “key” gewerkt word om het bestand op te halen.
In het GROEN: Hier zie dat de firmware bestanden vanaf het internet gedownload worden in tmp/pwupgrade.

That’s it!, nu hebben we de firmware bestanden gedownload (niet geïnstalleerd), nu de taak om deze op je desktop computer te zetten voor “safe keepings”.
Dit kunnen we doen met PSCP, open een command scherm (CMD) in windows en voer het volgende in voor PSCP:

zo kopieer je het bestand: image-1.2.8.bin  uit de smile van /tmp/pwupgrade/image-1.2.8.bin  naar C:\ op je desktop, etc…

Praktijkvoorbeeld:
smile_update_04

LET OP: Na het downloaden van de firmware en nadat je het gekopieerd hebt op je desktop, wis de bestanden op de smile in tmp/pwupgrade met het commando: rm /tmp/pwupgrade/*.*, als je namelijk nog iets gaat downloaden slaat je Smile op hol, omdat er geen (of weinig) beschikbare schijfruimte is!

Als je nu het BIN bestand opent zie je dat het een Linux header bevat:

smile_update_05

Oude firmwares downloaden:
Oudere firmwares etc. kun je ook downloaden (als je immers het versienummer weet) direct met CURL, omdat we immers het commando weten is pwupgrade niet nodig om te downloaden:

CURL commando (uitvoeren op de smile):

PSCP commando (uitvoeren op de desktop):

Hier is een voorbeeld dat laat zien hoe je firmware download van de Stretch vanaf: https://update.plugwise.net

stretch_firmware_update

Wat heb je nodig?

1) PCSP (puTTy tools)

De URL van de stretch firmware is iets anders, voorbeeld firmware v1.0.41 bestand voor Stretch 2.0:

https://update.plugwise.net/images/stretch-home/1.0.41.img

Ps. nu we het truucje kennen om Smile firmware te downloaden, kunnen we in principe elk bestand downloaden vanaf de Plugwise update server als we de certificaten maar met CURL gebruiken!

Dit is de code om de Smile firmware te downloaden (uitvoeren op de smile)

Dus voor de Stretch 2.0 maakt dit:

Hier is een voorbeeld:

Nu heb je een kopie van het firmwarebestand op de Desktop in C:\ staan, praktijkvoorbeeld:

stretch_firmwares_01

stretch_firmwares_02

Ps. Vergeet niet om de /tmp/pwupgrade leeg te maken nadat je het bestand op de desktop hebt gezet!
Linux commando: rm /tmp/pwupgrade/*.*

Firmware downloaden via een desktop computer met cURL en certificaten

Wat heb je nodig?
1) De certificaten /etc/ssl/private/curl-cert.pem  en /etc/ssl/GlobalSign.cert  van een Smile of Stretch 2.0.
2) Het programma cURL voor windows.

Zet de 2 certificaten in dezelfde folder als cURL, het commando om de firmware cvan de server te downloaden is dan:

Praktijkvoorbeeld:

plugwise firmware download met curl

Crawler scripts

Hier zijn een paar Autoit3 script om diverse reeksen firmwares te downloaden vanaf de plugwise server.