<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.scotmesh.net/index.php?action=history&amp;feed=atom&amp;title=MeshCore%2FOTA_Upgrade_Process</id>
	<title>MeshCore/OTA Upgrade Process - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.scotmesh.net/index.php?action=history&amp;feed=atom&amp;title=MeshCore%2FOTA_Upgrade_Process"/>
	<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/OTA_Upgrade_Process&amp;action=history"/>
	<updated>2026-11-03T20:19:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/OTA_Upgrade_Process&amp;diff=31&amp;oldid=prev</id>
		<title>Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/OTA_Upgrade_Process&amp;diff=31&amp;oldid=prev"/>
		<updated>2026-11-03T17:06:28Z</updated>

		<summary type="html">&lt;p&gt;Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:OTA Upgrade Process}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;upgrading-meshcore-repeaters-using-ota&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Upgrading MeshCore Repeaters Using OTA ==&lt;br /&gt;
&lt;br /&gt;
This guide explains how to upgrade a MeshCore repeater or room server using the OTA function.&lt;br /&gt;
&lt;br /&gt;
OTA means &amp;#039;&amp;#039;&amp;#039;Over The Air&amp;#039;&amp;#039;&amp;#039;. It allows firmware to be upgraded without physically connecting the repeater to a computer by USB. This is useful for repeaters already installed on roofs, masts, poles, lofts or other awkward locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; OTA is convenient, but it still carries some risk. Make sure you use the correct firmware for the correct hardware.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-ota-methods&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported OTA methods ===&lt;br /&gt;
&lt;br /&gt;
There are two common OTA methods depending on the hardware type:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Hardware type&lt;br /&gt;
! Common examples&lt;br /&gt;
! OTA method&lt;br /&gt;
|-&lt;br /&gt;
| nRF52 devices&lt;br /&gt;
| RAK4631, Heltec T114, Seeed XIAO nRF52840, SenseCAP nRF devices&lt;br /&gt;
| Bluetooth DFU using the &amp;#039;&amp;#039;&amp;#039;nRF Device Firmware Update&amp;#039;&amp;#039;&amp;#039; app&lt;br /&gt;
|-&lt;br /&gt;
| ESP32 devices&lt;br /&gt;
| Heltec V3, some ESP32 repeaters/room servers&lt;br /&gt;
| Temporary Wi-Fi access point called &amp;#039;&amp;#039;&amp;#039;MeshCore OTA&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are not sure which method applies, check the device hardware before starting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;before-you-start&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
Before upgrading, make sure you have:&lt;br /&gt;
&lt;br /&gt;
* Admin access to the repeater or room server.&lt;br /&gt;
* A recent copy or screenshot of the repeater settings.&lt;br /&gt;
* The correct firmware for the exact hardware model.&lt;br /&gt;
* A phone or tablet with Bluetooth enabled for nRF devices.&lt;br /&gt;
* Good battery level on your phone.&lt;br /&gt;
* The repeater has enough power to complete the update.&lt;br /&gt;
* You are physically close enough for a reliable Bluetooth or Wi-Fi connection.&lt;br /&gt;
&lt;br /&gt;
For solar repeaters, avoid doing OTA updates when the battery is low or the weather is poor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-file-warning&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware file warning ===&lt;br /&gt;
&lt;br /&gt;
When downloading firmware, make sure you select the correct file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-nrf52-ota-updates&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For nRF52 OTA updates ====&lt;br /&gt;
&lt;br /&gt;
Use the firmware &amp;#039;&amp;#039;&amp;#039;ZIP&amp;#039;&amp;#039;&amp;#039; file intended for DFU / OTA update.&lt;br /&gt;
&lt;br /&gt;
Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; unzip it unless the instructions for your specific device say otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-esp32-ota-updates&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For ESP32 OTA updates ====&lt;br /&gt;
&lt;br /&gt;
Use the firmware file that does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; contain &amp;lt;code&amp;gt;merged&amp;lt;/code&amp;gt; in the filename.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Do not use a merged firmware file for OTA.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A merged firmware file is normally for a full USB flash and may wipe or reset the device.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;download-the-firmware&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Download the firmware ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Go to the MeshCore flasher:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;https://flasher.meshcore.io&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select the correct device type.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select the correct role, usually:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Repeater&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Room Server&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Room Server / Repeater&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Download the correct firmware file for your hardware.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Save the file somewhere easy to find on your phone or computer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;method-1-ota-update-for-nrf52-devices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Method 1: OTA update for nRF52 devices ==&lt;br /&gt;
&lt;br /&gt;
Use this method for devices such as:&lt;br /&gt;
&lt;br /&gt;
* RAK4631&lt;br /&gt;
* Heltec T114&lt;br /&gt;
* Seeed XIAO nRF52840&lt;br /&gt;
* SenseCAP nRF-based devices&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-1-install-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 1 — Install the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Install the Nordic &amp;#039;&amp;#039;&amp;#039;nRF Device Firmware Update&amp;#039;&amp;#039;&amp;#039; app.&lt;br /&gt;
&lt;br /&gt;
* iOS: search the App Store for &amp;lt;code&amp;gt;nRF Device Firmware Update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Android: search Google Play for &amp;lt;code&amp;gt;nRF Device Firmware Update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-2-connect-to-the-repeater-in-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 2 — Connect to the repeater in MeshCore ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore app.&lt;br /&gt;
# Connect to the repeater or room server.&lt;br /&gt;
# Log in using the admin password.&lt;br /&gt;
# Open the repeater management screen.&lt;br /&gt;
# Open the command line / terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-3-put-the-repeater-into-ota-mode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 3 — Put the repeater into OTA mode ===&lt;br /&gt;
&lt;br /&gt;
In the MeshCore command line, enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;start ota&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The device should reply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;OK&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The repeater is now in OTA / DFU mode.&lt;br /&gt;
&lt;br /&gt;
Leave the repeater powered on and do not restart it while you move to the DFU app.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-4-configure-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 4 — Configure the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Open the &amp;#039;&amp;#039;&amp;#039;nRF Device Firmware Update&amp;#039;&amp;#039;&amp;#039; app.&lt;br /&gt;
&lt;br /&gt;
Recommended settings:&lt;br /&gt;
&lt;br /&gt;
* Enable &amp;#039;&amp;#039;&amp;#039;Packets receipt notifications&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Set the number of packets to:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Device&lt;br /&gt;
! Packet setting&lt;br /&gt;
|-&lt;br /&gt;
| RAK4631&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Heltec T114&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If unsure, use &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; as a safe value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-5-select-the-firmware-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 5 — Select the firmware file ===&lt;br /&gt;
&lt;br /&gt;
In the &amp;#039;&amp;#039;&amp;#039;nRF Device Firmware Update&amp;#039;&amp;#039;&amp;#039; app:&lt;br /&gt;
&lt;br /&gt;
# Select the firmware ZIP file you downloaded.&lt;br /&gt;
# Scan for nearby DFU devices.&lt;br /&gt;
# Select the repeater.&lt;br /&gt;
&lt;br /&gt;
The device may appear as a DFU device rather than by its normal MeshCore name.&lt;br /&gt;
&lt;br /&gt;
If the device does not appear:&lt;br /&gt;
&lt;br /&gt;
* Make sure Bluetooth is enabled.&lt;br /&gt;
* Move closer to the repeater.&lt;br /&gt;
* Re-run the MeshCore command: &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;&lt;br /&gt;
* Try enabling &amp;#039;&amp;#039;&amp;#039;Force Scanning&amp;#039;&amp;#039;&amp;#039; in the DFU app if available.&lt;br /&gt;
* Toggle Bluetooth off and on.&lt;br /&gt;
* Restart the phone if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-6-start-the-upload&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 6 — Start the upload ===&lt;br /&gt;
&lt;br /&gt;
Press &amp;#039;&amp;#039;&amp;#039;Upload&amp;#039;&amp;#039;&amp;#039; in the DFU app.&lt;br /&gt;
&lt;br /&gt;
Keep the phone awake and close to the repeater until the update finishes.&lt;br /&gt;
&lt;br /&gt;
Do not:&lt;br /&gt;
&lt;br /&gt;
* Leave the app.&lt;br /&gt;
* Lock the phone.&lt;br /&gt;
* Walk away from the repeater.&lt;br /&gt;
* Turn Bluetooth off.&lt;br /&gt;
* Power off the repeater.&lt;br /&gt;
&lt;br /&gt;
The update can take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-7-wait-for-reboot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 7 — Wait for reboot ===&lt;br /&gt;
&lt;br /&gt;
When the upload completes, the repeater should reboot automatically.&lt;br /&gt;
&lt;br /&gt;
Wait a minute or two before trying to reconnect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-8-confirm-the-upgrade&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 8 — Confirm the upgrade ===&lt;br /&gt;
&lt;br /&gt;
Reconnect to the repeater in the MeshCore app.&lt;br /&gt;
&lt;br /&gt;
Check the firmware version from the management screen or command line.&lt;br /&gt;
&lt;br /&gt;
Also check that the repeater settings are still correct, especially:&lt;br /&gt;
&lt;br /&gt;
* Region / scope settings&lt;br /&gt;
* Default scope&lt;br /&gt;
* Repeater enabled&lt;br /&gt;
* Advert settings&lt;br /&gt;
* Flood settings&lt;br /&gt;
* TX power&lt;br /&gt;
* Admin access&lt;br /&gt;
* GPS/location settings if used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;method-2-ota-update-for-esp32-devices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Method 2: OTA update for ESP32 devices ==&lt;br /&gt;
&lt;br /&gt;
Use this method for ESP32-based MeshCore repeaters or room servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-1-connect-to-the-repeater-in-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 1 — Connect to the repeater in MeshCore ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore app.&lt;br /&gt;
# Connect to the repeater or room server.&lt;br /&gt;
# Log in using the admin password.&lt;br /&gt;
# Open the repeater command line / terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-2-start-ota-mode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 2 — Start OTA mode ===&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ESP32 device should start a temporary Wi-Fi access point called something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-3-connect-to-the-ota-wi-fi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 3 — Connect to the OTA Wi-Fi ===&lt;br /&gt;
&lt;br /&gt;
On your phone, tablet or laptop:&lt;br /&gt;
&lt;br /&gt;
# Open Wi-Fi settings.&lt;br /&gt;
# Connect to the temporary Wi-Fi network:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stay connected to this Wi-Fi until the upload is complete.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-4-open-the-ota-upload-page&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 4 — Open the OTA upload page ===&lt;br /&gt;
&lt;br /&gt;
Open a web browser and go to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://192.168.4.1/update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the CLI shows a different IP address, use the IP address shown by the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-5-upload-the-firmware&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 5 — Upload the firmware ===&lt;br /&gt;
&lt;br /&gt;
# Choose the firmware file.&lt;br /&gt;
# Make sure the file is the correct one for your hardware.&lt;br /&gt;
# Make sure the filename does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; contain &amp;lt;code&amp;gt;merged&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Upload the file.&lt;br /&gt;
# Wait until the update completes.&lt;br /&gt;
&lt;br /&gt;
Do not disconnect from the &amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt; Wi-Fi while the upload is running.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; Do not use a merged firmware file for ESP32 OTA updates.&amp;lt;br /&amp;gt;&lt;br /&gt;
A merged firmware file is normally for a full USB flash and may wipe or reset the device.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-6-wait-for-reboot-and-confirm&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 6 — Wait for reboot and confirm ===&lt;br /&gt;
&lt;br /&gt;
After upload, the device should reboot.&lt;br /&gt;
&lt;br /&gt;
Reconnect through the MeshCore app and confirm:&lt;br /&gt;
&lt;br /&gt;
* Firmware version&lt;br /&gt;
* Repeater settings&lt;br /&gt;
* Region / scope settings&lt;br /&gt;
* Admin access&lt;br /&gt;
* TX power&lt;br /&gt;
* Advert and flood settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scot-mesh-post-upgrade-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scot Mesh post-upgrade checks ==&lt;br /&gt;
&lt;br /&gt;
After upgrading a Scot Mesh repeater, check the following before leaving it alone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;basic-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Basic checks ===&lt;br /&gt;
&lt;br /&gt;
* Repeater is online&lt;br /&gt;
* Repeater can be seen by nearby nodes&lt;br /&gt;
* Admin access still works&lt;br /&gt;
* Firmware version is correct&lt;br /&gt;
* Time/location information looks correct if used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;region-and-scope-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Region and scope checks ===&lt;br /&gt;
&lt;br /&gt;
For Scot Mesh, confirm the repeater still has the correct region configuration.&lt;br /&gt;
&lt;br /&gt;
Typical Scot Mesh structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland neighbour region&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Check that the repeater has the correct local and parent regions for its area.&lt;br /&gt;
&lt;br /&gt;
Also confirm that wildcard / unrestricted flooding has not been accidentally restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-scot-mesh-settings-to-re-check&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended Scot Mesh settings to re-check ===&lt;br /&gt;
&lt;br /&gt;
The exact settings may vary by repeater, but these are worth checking after any firmware upgrade:&lt;br /&gt;
&lt;br /&gt;
* Default scope&lt;br /&gt;
* Region list&lt;br /&gt;
* Region parent relationships&lt;br /&gt;
* Region flood permissions&lt;br /&gt;
* Wildcard flood deny&lt;br /&gt;
* Repeater enabled&lt;br /&gt;
* TX power&lt;br /&gt;
* Flood max&lt;br /&gt;
* Advert interval&lt;br /&gt;
* Flood advert interval&lt;br /&gt;
* Path hash size / routing byte size&lt;br /&gt;
&lt;br /&gt;
If the repeater was part of the Scot Mesh scoped region rollout, do not assume these settings survived the upgrade. Check them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;troubleshooting&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-repeater-does-not-appear-in-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The repeater does not appear in the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Try the following:&lt;br /&gt;
&lt;br /&gt;
* Move closer to the repeater.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt; again.&lt;br /&gt;
* Turn Bluetooth off and on.&lt;br /&gt;
* Enable &amp;#039;&amp;#039;&amp;#039;Force Scanning&amp;#039;&amp;#039;&amp;#039; in the DFU app.&lt;br /&gt;
* Restart the phone.&lt;br /&gt;
* Power-cycle the repeater if safe to do so.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-update-stalls&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The update stalls ===&lt;br /&gt;
&lt;br /&gt;
Do not immediately power-cycle the repeater.&lt;br /&gt;
&lt;br /&gt;
First:&lt;br /&gt;
&lt;br /&gt;
* Keep the phone close.&lt;br /&gt;
* Keep the app open.&lt;br /&gt;
* Wait a few minutes.&lt;br /&gt;
* Check that Bluetooth or Wi-Fi is still connected.&lt;br /&gt;
&lt;br /&gt;
If it has clearly failed:&lt;br /&gt;
&lt;br /&gt;
* Close the DFU app.&lt;br /&gt;
* Toggle Bluetooth off and on.&lt;br /&gt;
* Restart the phone if needed.&lt;br /&gt;
* Reconnect to the repeater if possible.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt; again.&lt;br /&gt;
* Retry the upload.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-phone-locked-during-the-update&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The phone locked during the update ===&lt;br /&gt;
&lt;br /&gt;
If the update has stopped progressing:&lt;br /&gt;
&lt;br /&gt;
* Unlock the phone.&lt;br /&gt;
* Return to the DFU app.&lt;br /&gt;
* Check whether the upload resumes.&lt;br /&gt;
&lt;br /&gt;
If it does not resume, restart the OTA process.&lt;br /&gt;
&lt;br /&gt;
For future updates, keep the phone awake and the DFU app in the foreground.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-repeater-does-not-come-back-after-ota&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The repeater does not come back after OTA ===&lt;br /&gt;
&lt;br /&gt;
Possible causes:&lt;br /&gt;
&lt;br /&gt;
* Wrong firmware file&lt;br /&gt;
* Power loss during update&lt;br /&gt;
* Bluetooth/Wi-Fi upload failure&lt;br /&gt;
* Bootloader issue&lt;br /&gt;
&lt;br /&gt;
Try:&lt;br /&gt;
&lt;br /&gt;
* Wait a few minutes.&lt;br /&gt;
* Scan again in the MeshCore app.&lt;br /&gt;
* Scan again in the DFU app.&lt;br /&gt;
* Power-cycle the repeater if safe.&lt;br /&gt;
* Try the OTA process again if the device still appears in DFU mode.&lt;br /&gt;
&lt;br /&gt;
If the device no longer appears in MeshCore or DFU mode, it may need a physical USB recovery flash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Good practice ==&lt;br /&gt;
&lt;br /&gt;
Before updating an important repeater:&lt;br /&gt;
&lt;br /&gt;
* Update one test device first.&lt;br /&gt;
* Keep a copy of the old known-good firmware.&lt;br /&gt;
* Take screenshots of important settings.&lt;br /&gt;
* Avoid updating multiple key repeaters at the same time.&lt;br /&gt;
* Avoid updating during poor weather if solar powered.&lt;br /&gt;
* Avoid updating when the network is busy.&lt;br /&gt;
* Tell local users before upgrading a major repeater.&lt;br /&gt;
&lt;br /&gt;
For hilltop or difficult-access repeaters, consider fitting or confirming an OTA-capable bootloader before deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
The normal OTA process is:&lt;br /&gt;
&lt;br /&gt;
# Download the correct firmware.&lt;br /&gt;
# Connect to the repeater as admin.&lt;br /&gt;
# Open the command line.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use the DFU app for nRF52 devices.&lt;br /&gt;
# Use the MeshCore OTA Wi-Fi page for ESP32 devices.&lt;br /&gt;
# Wait for reboot.&lt;br /&gt;
# Confirm firmware and settings.&lt;br /&gt;
&lt;br /&gt;
OTA makes repeater maintenance much easier, but always check the firmware file and confirm the repeater settings afterwards.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>