LoRaWAN FUOTA: Firmware verteilen, prüfen und sicher starten
Das Update ist vollständig gesendet. Von 2.000 Sensoren melden sich anschließend 1.970 zurück. Sind die übrigen 30 fertig, noch beschäftigt oder ausgefallen? Eine Liste ausgestrahlter Fragmente beantwortet das nicht.
Firmware Update Over The Air, kurz FUOTA, umfasst mehr als Funktransport. Der Prozess endet erst, wenn das richtige Image geprüft wurde, das Gerät erfolgreich damit startet und wieder verlässlich arbeitet. Gerade bei schwer zugänglichen Sensoren entscheidet dieser letzte Teil über den Nutzen.
Welche Bausteine gehören zu LoRaWAN-FUOTA?
Die LoRa Alliance beschreibt mehrere Pakete auf der Anwendungsschicht. Ein Gerät mit LoRaWAN 1.0.4 oder 1.1 unterstützt sie nicht automatisch. Stack, Bootloader, Speicher und Updateverwaltung müssen passend implementiert sein. Auch die Version jedes Application Package zählt.
| Spezifikation | Aufgabe | Was sie nicht allein erledigt |
|---|---|---|
| TS003-2.0.0 | Anwendungsuhr synchronisieren | Kein allgemeiner Präzisionszeitdienst |
| TS004-2.0.0 | Datenblöcke fragmentieren und rekonstruieren | Keine vollständige Installationspolitik |
| TS005-2.0.0 | Multicast-Gruppe und zeitweilige B/C-Empfangssitzung einrichten | Keine Erfolgsgarantie pro Empfänger |
| TS006-1.0.0 | Firmwarestände, Images und Neustart verwalten | Kein automatisch vorhandener Recovery-Bootloader |
| TS007-1.0.0 | Pakete und Ports abfragen, Paketnachrichten bündeln | Keine automatische Kompatibilität aller Geräte |
Diese Liste ist eine Werkzeugauswahl. Nicht jede Kampagne benötigt jeden Baustein: Eine vorhandene geeignete Zeitquelle kann zum Beispiel eine eigene AppTime-Synchronisation entbehrlich machen. Entscheidend ist der konkrete Ablauf, nicht die Länge der Featureliste.
Wie läuft eine Verteilung praktisch ab?
- Zielgruppe bestimmen: Hardware, Bootloader, Ausgangsversion, Paketversionen und Energiezustand prüfen.
- Image vorbereiten: freigegebenen Binärstand mit überprüfbaren Metadaten und Echtheitsnachweis bereitstellen.
- Sitzung einrichten: Zeitbasis, Multicastparameter, Empfangsmodus und Fragmenttransport konfigurieren.
- Fragmente übertragen: Daten und geplante Redundanz innerhalb des Funkbudgets aussenden.
- Ergebnis prüfen: Rekonstruktion, Imageprüfung und Installierbarkeit getrennt erfassen.
- Aktivieren: Neustart kontrolliert auslösen und den erfolgreichen neuen Betriebszustand bestätigen lassen.
TS004 kann redundante Fragmente verwenden, sodass nicht jeder Verlust eine einzelne Nachforderung auslösen muss. Die Fähigkeit hat Grenzen: Zu viele verlorene Teile, ein verpasstes Empfangsfenster oder erschöpfter Speicher lassen sich nicht durch das Wort „Redundanz“ beheben.
Multicast sendet einen gemeinsamen Inhalt an mehrere Geräte. Dadurch vervielfacht sich die Funklast nicht für jede vollständige Unicast-Kopie. Trotzdem hört nicht jeder Empfänger jedes Fragment. Statusabfragen und Nachläufe bleiben erforderlich; Rückmeldungen sollten zeitlich verteilt werden, damit die Flotte nicht gleichzeitig antwortet.
Wie lange dauert das Update?
Beginnen Sie mit nutzbaren Datenbytes pro Fragment. Von der zulässigen LoRaWAN-Nutzlast gehen Paketheader ab. MAC-Kommandos, Datenrate und Region beeinflussen den verbleibenden Platz. Die Regional Parameters liefern die zugehörigen Funk- und Payloadparameter.
Rechenbeispiel, keine Laufzeitzusage: Ein 100-KiB-Image umfasst 102.400 Byte. Bei angenommenen 40 Imagebytes je Fragment entstehen 2.560 Datenfragmente. Mit rechnerisch 20 Prozent Zusatzfragmenten sind es 3.072 Übertragungen. Diese Annahme sagt noch nichts darüber aus, ob die gewählte Redundanz beim verwendeten Verfahren und Verlustprofil genügt.
Die reine Sendezeit ergibt sich aus Fragmentanzahl mal Airtime pro Fragment. Für die verstrichene Zeit kommen Sendeabstände, verfügbare Gatewayzeit, konkurrierender Verkehr, Einrichtung und Nachläufe hinzu. Eine Aussage wie „100 Kilobyte in einer Stunde“ ist ohne diese Werte nicht belastbar.
Warum Funkgruppen sinnvoll sind
Ein gemeinsamer Multicast-Downlink verwendet gemeinsame Sendeparameter. Eine einzige sehr konservative Gruppe kann dadurch alle gut erreichbaren Geräte ausbremsen. Mehrere Gruppen nach Abdeckung, Datenrate und Empfangsmodus können effizienter sein. Schlechte Uplinkwerte sind zudem kein vollständiger Nachweis für die Qualität des Downlinks.
ADR hilft bei der Uplinkkonfiguration. Es stellt keine individuelle Datenrate für jeden Empfänger desselben Multicastframes ein. Die Downlinkplanung muss separat erfolgen. Änderungen während einer Sitzung dürfen Fragmentgröße und Empfangsparameter nicht widersprüchlich machen.
Was muss das Gerät vor dem Neustart prüfen?
LoRaWAN verschlüsselt und schützt seine Frames. Das beantwortet noch nicht, ob ein Binärimage vom berechtigten Herausgeber stammt und auf genau diesem Gerät laufen darf. Die IETF-Architektur in RFC 9019 trennt deshalb Transport von Authentizität, Integrität und sicherem Updateablauf.
- Herkunft: gültige Signatur oder ein für das Vertrauensmodell geeigneter kryptografischer Echtheitsnachweis.
- Vollständigkeit: rekonstruierter Inhalt entspricht dem freigegebenen Image.
- Kompatibilität: Hardwarevariante, Speicherlayout und Bootloader passen.
- Versionspolitik: unerlaubte Rückschritte werden verhindert; erlaubtes Recovery bleibt möglich.
- Betriebsfähigkeit: genügend Energie und Speicher sowie ein zulässiges Aktivierungsfenster sind vorhanden.
Eine Prüfsumme erkennt bestimmte Übertragungsfehler. Sie ersetzt keine Herausgeberauthentisierung. Besonders bei gemeinsamen Multicast-Zugangsdaten sollte ein einzelnes kompromittiertes Gerät nicht dadurch die Berechtigung erhalten, Firmware für alle anderen zu autorisieren.
Wie kommt ein Gerät nach einem Fehler zurück?
Ein zuverlässiger Bootloader prüft das Startimage und besitzt einen getesteten Wiederherstellungspfad. Möglich sind A/B-Partitionen, ein unveränderlicher Recovery-Bereich oder ein anderer zur Hardware passender Ansatz. FUOTA erzeugt diese Speicherarchitektur nicht nachträglich.
Der kritische Test unterbricht die Versorgung während Schreiben, Prüfen, Umschalten und erstem Boot. Danach muss das Gerät einen definierten Zustand erreichen. „Rollback unterstützt“ ist erst dann eine brauchbare Aussage, wenn dieser Ablauf auch mit der konkreten Firmware und Speicheraufteilung funktioniert.
| Updateart | Vorteil | Voraussetzung |
|---|---|---|
| Vollimage | Weniger Abhängigkeit vom Ausgangsstand | Ausreichend Funkzeit und Speicher |
| Delta | Weniger zu übertragende Bytes möglich | Exakt passendes Basisimage und robustes Patchverfahren |
| Komprimiertes Image | Kleinerer Transfer möglich | Ressourcen und sichere Prüfung beim Entpacken |
Ein Delta für Version 3.2 hilft einem Gerät mit 3.0 nicht. Die Zielgruppe muss den Ausgangsstand verlässlich kennen. Auch Funkstack und Anwendung können Abhängigkeiten besitzen; eine erfolgreiche Einzelkomponente reicht dann nicht als Freigabe.
Welche Rückmeldung beweist den Erfolg?
Ein gutes Statusmodell trennt heruntergeladen, geprüft, zur Aktivierung vorgesehen, gestartet und wieder betriebsfähig. Hinzu kommen Abbruch und Recovery-Grund. Ein Gerät, das nach dem Neustart schweigt, bleibt ungeklärt. Es darf nicht allein wegen versandter Fragmente als aktualisiert gelten.
Beginnen Sie mit Laborgeräten und einer kleinen Feldgruppe, die echte Randfälle enthält: ältere Hardware, schwierige Abdeckung und unterschiedliche Energiezustände. Erst wenn Imageprüfung, Neustart, neue Versionsmeldung und normale Telemetrie passen, folgt die nächste Gruppe. Vorher festgelegte Stoppschwellen verhindern, dass ein erkennbarer Fehler noch großzügig verteilt wird.
Für große oder häufig wechselnde Images kann ein anderer Wartungsweg sinnvoller sein. Das lässt sich anhand gemessener Empfangsenergie, Rolloutdauer und Wiederherstellungskosten entscheiden. LoRaWAN-FUOTA eignet sich besonders für seltene, vorbereitete Updates an langlebigen Geräten. Sein Nutzen zeigt sich beim letzten erfolgreich wieder arbeitenden Sensor.
Quellen und technischer Stand
Fachlich geprüft am 24. September 2026. Die genannten Versionsstände sind bewusst angegeben; konkrete Geräte- und Serverimplementierungen müssen dazu passen.
- LoRa Alliance: TS003-2.0.0, Application Layer Clock Synchronization – AppTimeReq/Ans, DeviceTime-Feld, Token, Genauigkeit, NbTrans und Revisionsgeschichte.
- LoRa Alliance: TS004-2.0.0, Fragmented Data Block Transport – Fragmentierungssitzungen und Rekonstruktion von Datenblöcken.
- LoRa Alliance: TS005-2.0.0, Remote Multicast Setup – Multicast-Gruppen und zeitweilige Class-B/C-Sitzungen.
- LoRa Alliance: TS006-1.0.0, Firmware Management Protocol – Firmware- und Hardwareversionen, Images und Neustartverwaltung.
- LoRa Alliance: TS007-1.0.0, Multi Package Access – Paket- und Portauskunft sowie gebündelte Paketnachrichten.
- LoRa Alliance: RP002-1.0.5, Regional Parameters – Regionale Datenraten, Payloadgrenzen, Kanalpläne und LR-FHSS.
- IETF: RFC 9019, A Firmware Update Architecture for Internet of Things – Autorisierung, Integrität und Wiederherstellung von IoT-Firmwareupdates.