Updated on 2024-11-06 GMT+08:00

OTA Upgrade for NB-IoT Devices

Software Upgrade for Devices Using LwM2M over CoAP

The software upgrade process for a device using LwM2M over CoAP is as follows:

1–2: A user uploads a software package on the IoTDA console and creates a software upgrade task on the console or an application.

3. A device reports data to the platform. The platform detects that the device is online and triggers the upgrade negotiation process. (The timeout interval is 24 hours.)

4–5: The platform delivers a command to the device to query its software version and determines whether an upgrade is required based on the target version. (In step 4, the timeout interval for the device to report the software version is 3 minutes.)
  • If the returned software version is the same as the target version, no upgrade is required.
  • If the returned software version is different from the target version, the platform continues the upgrade.

6. The platform subscribes to the software upgrade status from the device.

7–8: The platform queries the radio coverage of the cell where the device resides, and obtains the cell ID, reference signal received power (RSRP), and signal to interference plus noise ratio (SINR). (The timeout interval for the reporting of the radio coverage level and cell ID is about 3 minutes.)
  • If the query is successful, the platform calculates the number of concurrent upgrade tasks based on the RSRP and SINR ranges described in the figure below, and continues with step 10.
    • RSRP and SINR in range 0: 50 devices in the cell can be upgraded simultaneously.
    • RSRP in range 0 and SINR in range 1: 10 devices in the cell can be upgraded simultaneously.
    • RSRP in range 1 and SINR in range 2: Only one device in the cell can be upgraded at a time.

    • RSRP and SINR can be queried but are not within any of the three ranges: Only one device in the cell can be upgraded at a time.

      If only a small number of devices can be upgraded simultaneously, you can contact the local carrier to see if coverage can be improved.

  • If the query fails, the process continues with step 9.
9. The platform delivers a command to query the cell ID of the device.
  • If the query is successful, 10 devices in the cell can be upgraded simultaneously.
  • If the query fails, the upgrade fails.

10–12: The platform notifies the device of a new software package version. The device starts to download the software package. Software packages can be downloaded in segments, and resumable download is supported. The versionCheckCode field carried in a software package segment determines the software package to which the segment belongs. After the download is complete, the device notifies the platform. (The timeout interval for step 11 is 60 minutes.)

13–14: The platform delivers an upgrade command to the device, and the device performs the upgrade. After the upgrade is complete, the device notifies the platform. (The timeout interval for the device to report the upgrade result and status is 30 minutes.)

15. The platform notifies the IoTDA console or application of the upgrade result.

Firmware Upgrade for Devices Using LwM2M

The firmware upgrade process for a device using LwM2M is as follows:

1–2: A user uploads a firmware package on the IoTDA console and creates a firmware upgrade task on the console or an application.

3. A device reports data to the platform. The platform detects that the device is online and triggers the upgrade negotiation process. (The timeout interval is 24 hours.)

4–5: The platform delivers a command to query the device firmware version and determines whether an upgrade is required based on the target version. (In step 4, the timeout interval for the device to report the firmware version is 3 minutes.)
  • If the returned firmware version is the same as the target version, no upgrade is required.
  • If the returned firmware version is different from the target version, the platform continues the upgrade.
6–7: The platform queries the radio coverage of the cell where the device resides, and obtains the cell ID, RSRP, and SINR. (The timeout interval for the reporting of the radio coverage level and cell ID is about 3 minutes.)
  • If the query is successful, the platform calculates the number of concurrent upgrade tasks based on the RSRP and SINR ranges described in the figure below, and continues with step 9.
    • RSRP and SINR in range 0: 50 devices in the cell can be upgraded simultaneously.
    • RSRP in range 0 and SINR in range 1: 10 devices in the cell can be upgraded simultaneously.
    • RSRP in range 1 and SINR in range 2: Only one device in the cell can be upgraded at a time.

    • RSRP and SINR can be queried but are not within any of the three ranges: Only one device in the cell can be upgraded at a time.

      If only a small number of devices can be upgraded simultaneously, you can contact the local carrier to see if coverage can be improved.

  • If the query fails, the process continues with step 8.
8. The platform delivers a command to query the cell ID of the device.
  • If the query is successful, 10 devices in the cell can be upgraded simultaneously.
  • If the query fails, the upgrade fails.

9. The platform subscribes to the firmware upgrade status from the device.

10–11: The platform delivers the package download URL. The device downloads the firmware package from the URL. After the download is complete, the device notifies the platform. (Firmware packages can be downloaded in segments, and resumable download is supported.) (The timeout interval for step 11 is 60 minutes.)

12–13: The platform delivers an upgrade command to the device, and the device performs the upgrade. After the upgrade is complete, the device notifies the platform. (The timeout interval for the device to report the upgrade result and status is 30 minutes.)

14–16: The platform delivers a command to query the firmware upgrade result. After obtaining the result, the platform unsubscribes from the upgrade status and notifies the IoTDA console or application of the upgrade result.

The platform supports resumable download.

Firmware Upgrade Failure Causes

The following table lists the failure causes reported by the platform.

Error Message

Description

Solution

Device Abnormal is not online

The device is offline or abnormal.

Check the device.

Task Conflict

A task conflict occurs.

Check whether a software upgrade, firmware upgrade, log collection, or device restart task is in progress.

Waiting for the device online timeout

The device does not go online within the specified time.

Check the device.

Wait for the device to report upgrade result timeout

The device does not report the upgrade result within the specified time.

Check the device.

Waiting for report device firmware version timeout

The device does not report the firmware version within the specified time.

Check the device.

Waiting for report cellId timeout

The device does not report the cell ID within the specified time.

Check the device.

Updating timeout and query device version for check timeout

The device does not report the upgrade result or device version within the specified time.

Check the device.

Waiting for device downloaded package timeout

The device does not finish downloading the firmware package within the specified time.

Check the device.

Waiting for device start to update timeout

The device does not start the update within the specified time.

Check the device.

Waiting for device start download package timeout

The device does not start to download the firmware package within the specified time.

Check the device.

The following table lists the failure causes reported by devices.

Error Message

Description

Solution

Not enough storage for the new firmware package

The storage space is insufficient for the firmware package.

Check the storage space of the device.

Out of memory during downloading process

The memory was insufficient during the download.

Check the device memory.

Connection lost during downloading process

The connection was interrupted during the download.

Check the device connection status.

Integrity check failure for new downloaded package

The integrity check on the firmware package fails.

Check whether the firmware package downloaded is complete.

Unsupported package type

The firmware package type is not supported.

Check whether the device status and firmware package provided by the manufacturer are correct.

Invalid URI

The URI is invalid.

Check whether the download address of the firmware package is correct.

Firmware update failed

The firmware fails to update.

Check the device.