Hallo zusammen!
Neuer Thread, weil der ursprüngliche DTU-reveng-thread (Beitrag "Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?") doch recht länglich ist und ich hier auch erstmal mit ein paar grundsätzlichen Fragen anfangen will, wozu ich Meinungen suche.
Ich habe mir kürzlich ein paar noch nicht so gut untersuchte Ecken des DTU-Protokolls angeschaut (hüstel): Firmware Updates.
Stand: Firmware-Updates sowohl von DSP, als auch RF-Modul kann ich sowohl bei meinem HM-400, als auch HMS-600 over-the-air machen. Dafür gibts eine fancy webapp, die aber noch ein custom board mit STM32+nRF24 braucht mit dem sie dann via websock über ttyACM spricht. Also geht erstmal nicht direkt mit OpenDTU/Ahoy oder auf einem ESP. Auch weil ich mir eine Timer-basierte Gazell-Implementierung auf dem STM32 zusammengefrickelt habe. Ohne die dauern DSP-Updates auf dem HM ewig.
Die webapp kann noch etwas mehr: Man kann da flash dumps und DTU logs reindroppen und dann extrahiert sie daraus Update Files (als Intel Hex) die man dann auf Inverter spielen kann.
Man kann im Prinzip auch custom Firmware aufspielen - eigene RF-Firmware mit ordentlicher state-of-the-art Crypto wäre auch ohne allzu viel Aufwand realisierbar.
Nun die Abers: So wie es jetzt ist kann ich es nicht auf die ganze Menschheit loslassen. Insbesondere weil:
- Woher Firmware(s) nehmen? (RF könnte man eine eigene schreiben)
- Welche Firmware ist mit welchen Invertern kompatibel? Es gibt da zwar Kompatibilitätsinfo, aber da gibt es ein paar Fallstricke.
Im Prinzip ist Firmwareupdate ein "gefährliches" Feature, weil:
- Keine A/B Firmware. Wenn Update fehlschlägt ist der Inverter unbrauchbar bis wieder eine gute Firmware drauf ist
- Missbrauchspotential (gibt nur CRCs, keine digitalen Signaturen)
Das ganze ist also ein zweischneidiges Schwert. Einerseits könnte man damit DTU-Protokoll mal ordentlich absichern. Andererseits kann man damit - Stand heute und wohl noch auf absehbare Zeit - vielen Leuten "böse" Firmware installieren. (Firmware löschen geht auch ohne Tool recht einfach mit ein paar DTU-requests.) Das Tool komplett im Giftschrank zu belassen halte ich aber auch für nicht so sinnvoll. Firmware-Images + Header analysieren und dann an Inverter schicken ist jetzt keine rocket science...
Also wie sind da eure Meinungen so? Insbesondere wenn Hoymiles Security-Updates nur mit ihren eigenen DTUs anbieten will, wäre das für mich schon Grund, sowas verfügbar zu machen...
Wenn verfügbar machen, dann würde ich mir da aber auch den Hut nicht ganz aufsetzen wollen, aber Erkenntnisse, Tools usw. was ich schon habe beisteuern. Der erste Schritt wäre dann denke ich auch erstmal eine "gated community" von Bastlern mit Risikobereitschaft und/oder JTAG-Adaptern. (Ich mag gated communities eigtl. nicht, aber ist in dem Fall denke ich nötig - alleine schon weil sonst x unbedarfte User Sachen ausprobieren und dann jammern wegen dysfunktionalem Inverter.)