Blog

OTA-Update für RAK4631 und Xiao nRF52

Repeater und Room-Server können via OTA (Over-the-Air-Update) aktualisiert werden. Dazu sind einige Änderungen am Bootloader notwendig.

Bootloader

OTA funktioniert beim RAK4631 auch mit dem vorinstallierten Bootloader. Sollte aus irgend einem Grund der Prozess einmal abbrechen, muss man den RAK4631 manuell neu starten. Unter Umständen kann dies bedeuten, dass man zum Repeater oder Room-Server klettern muss. Der neue Bootloader startet startet dagegen wieder in den DFU-Modus und man kann den OTA-Prozess neu versuchen.

Mit dem Xiao nRF52 funktioniert OTA ohne den angepassten Bootloader überhaupt nicht.

Bootloader Version prüfen

Um die korrekte Bootloader Version zu identifizieren muss das Gerät in den DFU-Modus versetzt werden.

Im gemounteten Verzeichnes der Hardware findet man nun eine Datei namens “INFO_UF2.TXT”. In ihr stehen Informationen zur Hardware und dem Bootloader und dessen Version.

Bootloader aktualisieren

Die aktualisierung des Bootloaders ist recht einfach. Dabei wird nichts gelöscht, sämtliche Einstellungen bleiben erhalten.

  1. Unter https://github.com/oltaco/Adafruit_nRF52_Bootloader_OTAFIX bzw. https://github.com/oltaco/WisCore_RAK4631_Bootloader muss der passende Bootloader für die entsprechende Hardware geladen werden. In der Regel ist das eine uf2-Datei.

  2. Anschließend wird der RAK4631 oder Xiao nRF52 per USB-Kabel mit dem Computer verbunden. Vorher muss natürlich die Hardware in den DFU-Modus versetzt werden.

  3. Danach kann die uf2-Datei auf das Gerät kopiert werden. Das Gerät startet nach dem kopieren automatisch neu und installiert dabei den Bootloader. Meist wird eine Fehlermeldung ausgegeben, dass der Kopiervorgang fehlgeschlagen ist. Das kann ignoriert werden und wird vom automatischen Reset des Gerätes verursacht.

OTA-Update durchführen

Zuerst muss die “nRF Device Firmware Update” App auf dem Smartphone/Tablet/Laptop etc. installiert werden.

Unter https://flasher.meshcore.co.uk/ muss nun die korrekte Firmware für das Gerät herunter geladen werden.

In der installierten “nRF Device Firmware Update” App müssen zuvor einige Einstellungen vorgenommen werden:

  • “Packets receipt notifications” muss aktiviert werden

  • “Number of packets” muss auf 10 eingestellt werden

  • “Force Scanning” muss aktiviert werden

Nun kann der Repeater oder Room-Server in der MashCore-App in den OTA-Modus versetzt werden. Dazu muss man sich auf dem entsprechenden Gerät einloggen und in der Command-Line “start ota” ausführen. In der “nRF Device Firmware Update” App wird nun die zuvor herunter geladene ZIP-Datei ausgewählt. Unter “Device” kann man nun seine Hardware auswählen und den OTA-Prozess per Klick auf “Start” starten. Nach erfolgreichem Update startet das Gerät neu.

Der OTA-Prozess kann einige Minuten dauern, man braucht also etwas Geduld.