diff --git a/404.html b/404.html index 3e3928b2..ca86a773 100644 --- a/404.html +++ b/404.html @@ -785,6 +785,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/WiFi/index.html b/WiFi/index.html index 866f068e..920c5fea 100644 --- a/WiFi/index.html +++ b/WiFi/index.html @@ -970,6 +970,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/cli_build_matrix/index.html b/cli_build_matrix/index.html index a1f344ad..3c0f7104 100644 --- a/cli_build_matrix/index.html +++ b/cli_build_matrix/index.html @@ -898,6 +898,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • @@ -1329,7 +1356,7 @@ retain 50 because their MQTT discovery tables are constrained by internal DRAM.< no_external_sensors -Removes optional external-sensor drivers and their settings; it does not remove core repeater discovery or routing commands. +Removes optional external-sensor drivers and their settings; it does not remove core repeater discovery or routing commands. On RAK3401, this profile also compiles out GPS, so RAK12501 requires the ordinary full-sensor build. diff --git a/cli_command_availability/index.html b/cli_command_availability/index.html index b8fa7da2..c9dbb48c 100644 --- a/cli_command_availability/index.html +++ b/cli_command_availability/index.html @@ -1014,6 +1014,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • @@ -2500,7 +2527,7 @@ fix, no WiFi connection, an inactive bridge, or an nRF52 bootloader without LoRa OTA ota get; ota pull; ota download -LoRa OTA build; nRF52 installs in-place deltas +LoRa OTA build; internal-store nRF52 installs in-place deltas, while matched SD/QSPI nRF52 also accepts full images No No Yes diff --git a/cli_commands/index.html b/cli_commands/index.html index c58476e5..2591300a 100644 --- a/cli_commands/index.html +++ b/cli_commands/index.html @@ -2694,6 +2694,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/companion_offline_queue/index.html b/companion_offline_queue/index.html index 5c8b6930..222a78fc 100644 --- a/companion_offline_queue/index.html +++ b/companion_offline_queue/index.html @@ -865,6 +865,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/companion_protocol/index.html b/companion_protocol/index.html index fe266ff8..68123968 100644 --- a/companion_protocol/index.html +++ b/companion_protocol/index.html @@ -1419,6 +1419,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/companion_radio_full/index.html b/companion_radio_full/index.html index b783dbbf..2fe003e0 100644 --- a/companion_radio_full/index.html +++ b/companion_radio_full/index.html @@ -937,6 +937,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/docs/index.html b/docs/index.html index 086a4b1c..200397b7 100644 --- a/docs/index.html +++ b/docs/index.html @@ -854,6 +854,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/faq/index.html b/faq/index.html index 849460a5..ad59d5ab 100644 --- a/faq/index.html +++ b/faq/index.html @@ -1788,6 +1788,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/filter_tool/index.html b/filter_tool/index.html index 0fcf2ca3..95a1eb07 100644 --- a/filter_tool/index.html +++ b/filter_tool/index.html @@ -887,6 +887,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/flood_filtering/index.html b/flood_filtering/index.html index 23ee0880..501e7e87 100644 --- a/flood_filtering/index.html +++ b/flood_filtering/index.html @@ -1026,6 +1026,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/gps_tracking/index.html b/gps_tracking/index.html index 3b400a8b..5d76cbf6 100644 --- a/gps_tracking/index.html +++ b/gps_tracking/index.html @@ -909,6 +909,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/halo_keymind_settings/index.html b/halo_keymind_settings/index.html index a3c2037d..58796371 100644 --- a/halo_keymind_settings/index.html +++ b/halo_keymind_settings/index.html @@ -964,6 +964,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/index.html b/index.html index 8c841116..e0c26e16 100644 --- a/index.html +++ b/index.html @@ -804,6 +804,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • @@ -1093,8 +1120,9 @@
  • Filter Policy Playground
  • Telemetry Decoder
  • CLI Availability by Firmware Build
  • -
  • Easy LoRa OTA: ESP32 full images and nRF52 deltas
  • +
  • Easy LoRa OTA: ESP32 and nRF52 firmware updates
  • Scripted LoRa OTA: Bash and PowerShell
  • +
  • nRF52 repeater OTA with external QSPI
  • MeshTower V2 microSD self-updates
  • GPS Tracking
  • Companion Protocol
  • diff --git a/kiss_modem_protocol/index.html b/kiss_modem_protocol/index.html index 21635a15..1f58be43 100644 --- a/kiss_modem_protocol/index.html +++ b/kiss_modem_protocol/index.html @@ -1186,6 +1186,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/lora_ota_automation/index.html b/lora_ota_automation/index.html index 1a0ab0af..727d60b4 100644 --- a/lora_ota_automation/index.html +++ b/lora_ota_automation/index.html @@ -761,10 +761,10 @@
  • - + - 5. Run an internal-flash nRF52 update + 5. Run an nRF52 update @@ -986,6 +986,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • @@ -1316,10 +1343,10 @@
  • - + - 5. Run an internal-flash nRF52 update + 5. Run an nRF52 update @@ -1489,6 +1516,12 @@ while the same link carries framed folder requests. BLE remains available.

    Requires --base with the exact image currently running +nRF52 repeater, external QSPI +Full image or in-place delta +QSPI-aware exact-board OTAFIX bootloader and matched repeater build +Builds a full mOTA; adding --base requests a delta + + MeshTower V2 nRF52, microSD Full image or in-place delta SD-aware exact-board OTAFIX bootloader and compatible card @@ -1500,7 +1533,7 @@ while the same link carries framed folder requests. BLE remains available.

    ESP32 merged/factory image is not an application image and is rejected. A generic vendor DFU ZIP may also be unusable if it does not contain the raw EndF-bearing .hex or .bin.

    -

    For an internal-flash nRF52, the exact base image is irreducible information. +

    For an internal-staging nRF52, the exact base image is irreducible information. The node reports its eight-byte body hash, but that hash cannot reconstruct the firmware bytes needed to create a delta. Keep the .pio/build/ENV/firmware.hex that was actually flashed. A matching filename or version alone is not enough.

    @@ -1574,7 +1607,8 @@ ota stats

    The script uses get bootloader.ver to distinguish ESP32 from nRF52 and, for nRF52, report the installed bootloader version. It then requires ota self to -report bootloader: apply OK or bootloader: SD apply OK and checks the +report bootloader: apply OK, bootloader: QSPI apply OK, or +bootloader: SD apply OK and checks the reported bootloader ABI and codec mask against the selected package. If the version command is unavailable on older firmware, the script warns and falls back to the legacy ota self platform marker. If an nRF52 bootloader lacks @@ -1619,7 +1653,7 @@ unattended job, add --yes:

    --password works, but the wrapper's own command line may be visible to other local processes. The runner keeps the password out of child meshcli command lines and removes its protected temporary command file after each call.

    -

    5. Run an internal-flash nRF52 update

    +

    5. Run an nRF52 update

    If the input ZIP already contains a compatible in-place delta .mota, no base argument is needed: its embedded base hash is compared with the live node. If the ZIP contains raw new firmware, supply the exact running image:

    @@ -1633,14 +1667,22 @@ node. If the ZIP contains raw new firmware, supply the exact running image:

    --controller-serial COM7 ` --source-serial COM8 -

    Before building the delta, the runner proves that the base's target ID, +

    Before building a delta, the runner proves that the base's target ID, hardware identity, firmware version when available, and EndF body hash match the live destination. It then asks motatool for codec 2, the nRF52 in-place format. The normal workspace is 0x98000.

    -

    For the SD-backed MeshTower V2 target, a raw ZIP becomes a full image without ---base. Supplying an exact base requests a smaller in-place delta and -automatically selects its 0xC7000 workspace. An explicit +

    For a QSPI-backed repeater or the SD-backed MeshTower V2 target, a raw ZIP +becomes a full image without --base. Supplying an exact base requests a +smaller in-place delta and automatically selects the conservative external +workspace 0xC6000, which is safe for S140 v6 and v7 application layouts. An explicit --inplace-memory overrides the automatic value.

    +

    The live runner detects QSPI from ota self (QSPI apply OK) or ota status +(bl:QSPI) and refuses an explicit QSPI store:ERR 0K report even when the +bootloader itself advertises QSPI apply support. Offline --prepare-only runs +must supply --nrf-qspi; do not use that switch for a board that only exposes +QSPI pins or uses the chip as a +Companion filesystem. The application and bootloader must both be from the +matched repeater list in the nRF52 QSPI guide.

    6. Add intermediate relays

    List relays from farthest to nearest so each command is sent before its route moves to TempRadio. A bare relay name uses the destination password; use diff --git a/mbedtls-tls-footprint/index.html b/mbedtls-tls-footprint/index.html index d1d399f3..cb77b585 100644 --- a/mbedtls-tls-footprint/index.html +++ b/mbedtls-tls-footprint/index.html @@ -976,6 +976,33 @@ +

  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/nrf52_power_management/index.html b/nrf52_power_management/index.html index 65103d31..4b20fc07 100644 --- a/nrf52_power_management/index.html +++ b/nrf52_power_management/index.html @@ -1042,6 +1042,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/number_allocations/index.html b/number_allocations/index.html index 56282c91..a56a4f09 100644 --- a/number_allocations/index.html +++ b/number_allocations/index.html @@ -806,6 +806,33 @@ +
  • + + + + + + + + nRF52 repeater LoRa OTA with external QSPI + + + + + + + + +
  • + + + + + + + + +
  • diff --git a/ota_easy/index.html b/ota_easy/index.html index 2a8e8f7c..e837d526 100644 --- a/ota_easy/index.html +++ b/ota_easy/index.html @@ -864,15 +864,15 @@
  • - + - nRF52: package an in-place delta + nRF52: package a full image or in-place delta -