Aktualizace bootloaderu u Nrf52XXX (OTAFIX) XIAO Nrf, Heltec t114, RAK4631 aj

:counterclockwise_arrows_button: Aktualizace bootloaderu NRF52 / nRF52xx — OTAFIX

V tomto návodu si ukážeme, jak aktualizovat bootloader na zařízeních s čipem nRF52xx pomocí OTAFIX bootloaderu.

:warning: Aktualizaci doporučuji udělat ještě před instalací repeateru na finální místo.
Pokud už je zařízení někde venku nebo hůře dostupné, může být případná oprava zbytečně složitá.

Návod je ukázán na XIAO nRF52840, ale OTAFIX lze použít i pro další podporované desky, například:

  • Heltec T114
  • RAK4631
  • ProMicro nRF52840
  • další podporované desky

:link: Projekt OTAFIX bootloaderu:


:inbox_tray: Stažení OTAFIX bootloaderu

OTAFIX bootloader už není potřeba hledat ručně na GitHubu. Nejjednodušší je stáhnout si správný soubor přímo přes MeshCore Flasher:

:backhand_index_pointing_right: https://flasher.meshcore.io/

Na stránce vyber svoji desku / zařízení.

Například pro repeater vyber:

Repeater

Poté klikni na Download a stáhni si odpovídající .uf2 soubor.

Stažený soubor pak použiješ pro nahrání OTAFIX bootloaderu do zařízení.


:hammer_and_wrench: Instalace OTAFIX na XIAO nRF52840

:one: Vstup do bootloader režimu

  • Připoj XIAO k počítači přes USB.
  • Dvakrát rychle stiskni tlačítko RESET.
  • Zařízení se zobrazí v počítači jako USB disk v UF2 režimu.

:two: Kontrola aktuální verze bootloaderu + zjištění správné aktuální verze

Na připojeném USB disku otevři soubor:

INFO_UF2.txt

Před aktualizací tam může být například vidět původní verze bootloaderu:

Já mám na XIAO nRF52840 a v něm FW verzi Sense, takže musím aktualizovat také firmware určený pro verzi Sense.

Tedy ne obyčejnou variantu XIAO nRF52840, ale přímo XIAO nRF52840 Sense. Viz:

Model: Seed Xiao_nrf52840_Sense


:three: Nahrání OTAFIX bootloaderu

  • Přetáhni stažený *.uf2 soubor na USB disk zařízení.
  • Po dokončení kopírování se zařízení samo restartuje.
  • Bootloader je tím aktualizován.

:white_check_mark: Hotovo.


:four: Ověření instalace

Znovu vstup do UF2 režimu:

  • dvakrát rychle stiskni RESET
  • otevři soubor INFO_UF2.txt

V názvu bootloaderu by nyní mělo být vidět OTAFIX.


:satellite_antenna: Proč používat OTAFIX?

OTAFIX řeší hlavně problém při neúspěšné OTA aktualizaci přes BLE.

Výhody:

  • :check_mark: Pokud OTA aktualizace selže, zařízení se nezasekne v UF2 režimu.
  • :check_mark: Zařízení zůstane v OTA BLE DFU režimu, takže můžeš aktualizaci ihned zopakovat.
  • :check_mark: Stabilnější BLE DFU přenos.
  • :check_mark: Lepší dohledatelnost zařízení v DFU režimu.
  • :check_mark: U repeateru nebo zařízení na hůře dostupném místě je to velká výhoda.

:mobile_phone: OTA aktualizace přes BLE

Pro OTA aktualizaci přes BLE použij aplikaci nRF Device Firmware Update od Nordic Semiconductor.

:downwards_button: Stažení aplikace

Android — Google Play:

iOS — App Store:


:counterclockwise_arrows_button: Postup OTA aktualizace firmware

  1. Otevři aplikaci nRF Device Firmware Update.

  2. Najdi zařízení v DFU režimu.

  3. Vyber firmware balíček ve formátu .zip.

    ZIP soubor stáhneš na MeshCore Flasheru:

    :backhand_index_pointing_right: https://flasher.meshcore.io/

    Na stránce vyber svoji desku / zařízení a stáhni firmware jako ZIP balíček.

  4. Spusť OTA aktualizaci.

Po dokončení aktualizace se zařízení automaticky restartuje do nové verze firmware.

:repeat_button: Pokud se OTA aktualizace přeruší nebo selže, zařízení se díky OTAFIX bootloaderu automaticky vrátí do OTA DFU režimu. Aktualizaci pak můžeš znovu zopakovat přes BLE.


:repeat_button: Aktualizace OTAFIXu přes DFU

Pokud už máš na zařízení OTAFIX bootloader nainstalovaný, je možné při vydání nové verze OTA Fix FW provést jeho aktualizaci také přes BLE DFU.

Postup je podobný jako při běžné OTA aktualizaci firmware:

  1. Přes aplikaci nRF Device Firmware Update (DFU) nahraj novou verzi OTAFIX bootloaderu.

  2. Po dokončení aktualizace bude potřeba znovu nahrát firmware zařízení, například:

    • Repeater
    • Companion
  3. Firmware znovu nahraj přes DFU nebo podle běžného postupu pro tvoji desku.

Nastavení zařízení by mělo zůstat zachované, ale i tak doporučuji mít před aktualizací udělanou zálohu nastavení.

:warning: Doporučení:
Před aktualizací OTAFIXu si vždy ověř, že máš stažený správný soubor pro svoji desku a zároveň připravený aktuální firmware pro své zařízení.

4 Líbí se

Díky za návod.

Ve windows mi přetažení v průzkumníku nefungovalo, musel jsem použít příkazovou řádku a copy *.uf2 d:

1 Líbí se

Dnes mi přijde poštou 5ks Xiao nRF52840 + Wio-SX1262 od Seeedstudio

Na jejich WiKi se doslova píše

Please don’t use NRF-OTA to update the firmware, it may cause the device to be completely dead.

Takže tento BOOTLOADER toto odstraňuje ?

Navíc vůbec netuším zda mám BLE SENSE nebo BLE desku.
Z návodu (OTAFIX) na GIDHUB se píše

IMPORTANT: If you are running a MeshCore companion firmware or Ripple firmware on your device you will need to run an erase after flashing a new bootloader. Use the MeshCore web flasher to do the erase, it will guide you to the correct erase firmware for your device. Other erase firmwares will not work, they will not erase the ExtraFS area.

Chápu to dobře, že mám nejprve vymazat FW MeshCore, následně flešnout zavaděč ?

Děkuji a omluvte mou opatrnost, možná si to i špatně překládám - moje AN je opravdu špatná, spíše žádná :rofl:

PS: uvítám pokud mi/nám někdo pomůže v začátcích, chceme pokrýt okolí Trutnova a Krkonoše několika repeatry

Ahoj,

OTAFIX bootloader je upravený bootloader, který má řešit problémy s BLE DFU/OTA aktualizacemi u XIAO nRF52840. Je ale důležité použít správnou verzi pro konkrétní desku.

Aktuálně už je k dispozici OTAFIX 2.2. Doporučuji ho stáhnout aktuální přímo přes MeshCore Flasher.

Ve flasheru vybereš:

XIAO Seeed → Repeater → Download

A podle typu desky stáhneš jeden z těchto souborů:

  • xiao_nrf52840_ble_bootloader-0.9.2-OTAFIX2.2.zip
  • xiao_nrf52840_ble_sense_bootloader-0.9.2-OTAFIX2.2.zip

Rozdíl mezi deskami:

  • XIAO nRF52840 = běžná BLE verze
  • XIAO nRF52840 Sense = verze se senzory navíc

Pozná se to podle objednávky, označení nebo podle osazených součástek na desce. Když pošleš fotku, půjde to ověřit.

Ten text z GitHubu je hlavně o tom, že pokud už na desce běžel MeshCore Companion nebo Ripple firmware, je po flashnutí nového bootloaderu potřeba udělat správný erase přes MeshCore Web Flasher. Ne obyčejný erase, protože ten nemusí správně smazat oblast ExtraFS.

Moje praktická zkušenost — dělal jsem to už několikrát:

  1. V MeshCore Flasheru jsem dal:

    Enter DFU → Erase Flash

  2. Potom jsem desku přepnul do UF2/bootloader režimu:

    • připojit XIAO k PC přes USB,
    • dvakrát rychle stisknout RESET,
    • deska se zobrazí jako USB disk v UF2 režimu.
  3. Na začátku jsem si nebyl jistý, jestli mám BLE nebo BLE Sense verzi. Mám Sense desku, ale nejdřív jsem omylem zkusil bootloader bez Sense.

    Nahrál jsem ho klasicky přetažením souboru na USB disk. Je potřeba počkat, než se kopírování opravdu dokončí — někdy to vypadá, že se nic neděje, ale deska ještě pracuje na pozadí.

    Pokud použiješ špatný bootloader pro jiný typ desky, podle mojí zkušenosti se prostě neaplikuje. Po restartu se v souboru INFO_UF2.TXT neobjevila nová verze bootloaderu.

    Pak jsem postup zopakoval se správnou Sense verzí a ta už se aplikovala správně.

Takže podle mojí zkušenosti: když omylem použiješ špatnou variantu bootloaderu, nic se nestane, jen se změna neprovede.

A super plán s pokrytím Trutnova a Krkonoš :+1:

:counterclockwise_arrows_button: Aktualizace návodu

Provedl jsem aktualizaci návodu podle aktuálního postupu.


:white_check_mark: Co bylo upraveno

Nově je v návodu doplněno nebo upraveno hlavně:

  • :inbox_tray: stažení OTAFIX bootloaderu přes MeshCore Flasher
  • :puzzle_piece: výběr zařízení přímo ve flasheru
  • :floppy_disk: stažení správného .uf2 souboru pomocí tlačítka Download
  • :satellite_antenna: doplnění informace o možnosti aktualizace OTAFIXu přes BLE DFU, pokud už je OTAFIX v zařízení nainstalovaný

:star: Doporučená verze

Doporučuji provést update minimálně na verzi:

bootloader-0.9.2-OTAFIX2.2

Právě verze OTAFIX2.2 nastavuje výkon Bluetooth části desky na maximum.


:antenna_bars: Silnější Bluetooth signál

Po aktualizaci na OTAFIX2.2 je v praxi opravdu znát silnější Bluetooth signál.

:white_check_mark: Osobně vyzkoušeno.


Doporučuji se řídit aktuální verzí návodu výše.

Viz GitHub - oltaco/Adafruit_nRF52_Bootloader_OTAFIX: USB-enabled bootloaders for the nRF52 BLE SoC chips · GitHub

Poznámky k desce Xiao NRF52840 BLE

Mnoho z těchto desek se dodává s nainstalovanou verzí bootloaderu Sense. Pokud je na vaší desce nainstalována verze Sense, musíte při aktualizaci přes UF2 použít verzi Sense.

Aktuálně nainstalovanou verzi můžete zkontrolovat v souboru INFO_UF2.TXT na disku UF2.

Postup:

Přejděte do režimu UF2 DFU (dvojitým stisknutím tlačítka reset)
Otevřete soubor INFO_UF2.TXT na připojeném disku

Pokud soubor obsahuje: „Board-ID: nRF52840-SeeedXiaoSense-v1“, musíte při aktualizaci pomocí souboru UF2 nainstalovat variantu SENSE.

Translated with DeepL.com (free version)

1 Líbí se

OTA upgrade
V návodu mi chybí (jsem to musel hledat - ze srandy jsem upgrade hned zkoušel):
a povedlo se :face_savoring_food:

  • V DFU aplikaci, kterou jsme stáhli v prvním bodě si otevřeme Settings v pravém horním rohu
  • Zapneme Packets receipt notifications, a změníme Number of Packets na 10 pro RAK, 8 pro T114 (8 by mělo fungovat i pro RAK)
    • netuším zda toto má vliv ale raději jsem to udělal
  • jak dostat zařízení do OTA režimu - NE DFU jak je psáno (si myslím)
    • v příkazové řádce dálkové správy napsat „start ota“, dálkovou správu nezavírat
    • zařízení vrátí MAC adresu kterou máme hledat (ověření) po BT
  • co dělat když se nedaří aktualizaci nahrát, aby to v OTA nezůstalo
    • do příkazové řádky napsat „reboot“
    • OTA se zruší

A mám dotaz - jsem zvyklý před jakoukoliv aktualizací si dělat zálohu nastavení - to jsem v dálkové správě nenašel, asi blbě hledám ?

Toto totiž rozhodne, jestli to dám na opravdu perfektní místa - ale těžce a málokdy přístupná.

Děkuji