Firmware Update allows over-the-air firmware upgrades to be issued and downloaded to devices in the field via the cloud. Firmware update allows to fix bugs and introduce new features to deployed devices.
Most Meshtech BLE devices support two methods for performing firmware update; Normal update and Nordic DFU.
Normal update allows device to continue to operate as normal while device downloads firmware update in the background. It requires device to be in range of a Meshtech BLE network, unless device has its own internet uplink (LTE, LTE-M).
In order to perform a normal firmware update, a property 81.21 - Start Firmware Update must be written as a command to the device to be upgraded. Device will then perform download while operating normally. Depending on Type specified in 81.21 - Start Firmware Update request, device will either reboot with new firmware immediately after download, or require 81.22 - Firmware Update Control command to apply/abort. Device will send status/progress updates on 81.20 - Firmware Update State while downloading. It is expected to take some time to complete, typically 10-15min when upgrading a single device. Time to completion is impacted by how many others in the same BLE network is performing download at the same time, and link quality of all devices involved in transfering the data.
All devices also support Nordic DFU, but only gateway supports being a Nordic DFU host. Nordic DFU requires the device to switch to DFU mode. During Nordic DFU, the device is in a mode of only upgrading itself. The device's name is changed to a DFU advertisement name during the update process.
A host device doing the DFU transfer is required to do Nordic DFU. That can be MT MeshConnect 2011 or a phone.
Only Nordic DFU is supported in MT MotionDetector 311 and MT PocketClip 231. Other devices support both Nordic DFU and a normal firmware update. Nordic DFU host is not implemented in a network extender. Only a gateway has Nordic DFU host implemented.
In order to update MT MotionDetector 311 or MT PocketClip 231 using Nordic DFU, it has to be in range of the host performing Nordic DFU.
Upgrading a device with Nordic DFU involves switching the device to DFU mode first, then initiating the upgrade from the host. To perform Nordic DFU using MT MeshConnect 2011 as host, follow this procedure:
- Switch device to DFU mode. For most devices this is achieved by writing 81.10 - Device Mode with mode 01. For old/legacy devices where 81.10 is not supported, write 81.11 - Legacy Device Mode Switch to MT MeshConnect 2011 to make it switch mode of legacy device.
- When device starts reporting in DFU mode, write command 81.31 - Start Nordic DFU to MT MeshConnect 2011 to start the upgrade.
- Status/progress can be monitored via a property 81.30 - Nordic DFU State reported by the host performing Nordic DFU.
Once in DFU mode, the devices change their names to DFU advertisement names. These DFU names are bullet-listed on the devices' pages.
MT MultiTracker 11x's DFU name is DFU_ND. Such DFU advertisement name of the device can be found on MT MultiTracker 11x DFU Advertisement Name: DFU_ND at the top of the page in a bullet-list.
Device will stay in DFU mode for a limited time before it times out and switches back to it's previous mode if no connection is made from a DFU host. When a connection is made from a Nordic DFU host, the device remains in DFU mode for as long as the firmware update is happening.
If the firmware Update takes 20 minutes, the MultiTracker 11x will stay in DFU mode for that time; if the device firmware update takes 1 minute, the MultiTracker 11x remains in DFU mode for also 1 minute.
After successfully completing DFU, the device switches to it's previous mode automatically. When a DFU is aborted, the device may take up to 2 minutes to switch back to a previous mode and returns to a previous firmware version meaning it is not bricked.
Usually DFU takes up to 2 minutes, however, this time may vary for different devices.
MT MultiTracker 11x firmware update often takes approximately 1 minute - 13 seconds for switching to DFU mode and 47 seconds for the device firmware update to complete. This time can vary.
MAC address of the devices with nRF52 chipset, which are in DFU mode, is always increased by 1.