Updated on 2023-11-14 GMT+08:00

OTA Upgrades

What Is a Software or Firmware Upgrade?

A software upgrade refers to the upgrade of the system software and application software of the device. A firmware upgrade refers to the upgrade of the underlying drivers of the device hardware.

You can upload a software/firmware upgrade package to the IoTDA platform or use a file associated with an object on OBS for device remote upgrades.

Can the IoT Platform Download Software or Firmware Packages from Third-party Servers?

No. Currently, you can only use software/firmware packages uploaded to the IoT platform or associated with objects on OBS. To upload a software/firmware package, choose Device > Software/Firmware Upgrades in the navigation pane, and go to the Software List or Firmware List tab page.

Can the Target Version Be Earlier Than the Source Version?

Yes. Software or firmware can be rolled back from a later version to an earlier version. The IoT platform checks whether the target version is the same as the source version. If they are consistent, the message "The current version is the same as the target version" is displayed, and the platform does not initiate a rollback or upgrade. If they are inconsistent, the platform starts a rollback or upgrade.

How Do I Obtain Software or Firmware Packages and Their Version Numbers?

Obtain the software package and its version number from the device manufacturer. Obtain the firmware package and its version number from the module manufacturer.

What Are Common Software or Firmware Upgrade Errors?

If an error occurs during upgrade, you can view the error messages on the Execution Details tab page. (To access this page, choose Software/Firmware Upgrades in the navigation pane of the IoTDA console, go to the upgrade task list, and click View in the row of a task.) Common error messages are as follows:

Table 1 Software/Firmware upgrade error description

Error Message

Description

Recommendation

Device Abnormal is not online

The device is not online.

Check whether the device is online.

Task Conflict

A task conflict has occurred.

Check whether there is an ongoing software or firmware upgrade for the current device.

Waiting for the device online timeout

The device did not go online within the specified time.

Check whether the device is connected to the network.

Waiting for report cellId timeout

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

View the module logs to check whether the device has reported the cell ID.

Waiting for report device firmware version timeout

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

View the module logs to check whether the device has reported the firmware version.

Wait for the device to report upgrade result timeout

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

View the module logs to check whether the device has reported the upgrade result.

Updating timeout and query device version for check timeout

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

View the module logs to check whether the device has reported the upgrade result and device version.

Waiting for device downloaded package timeout

The device did not download the firmware package within the specified time.

View the module logs to check whether the device has downloaded the firmware package.

Integrity check failure for new downloaded package

The integrity check of the downloaded firmware package failed.

View the module logs to check whether the downloaded firmware package is complete.

Unsupported package type

The firmware package type is not supported.

View the module logs to check whether the device status and firmware package provided by the manufacturer are correct.

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.

Invalid URI

The URI is invalid.

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

Firmware update failed

The firmware failed to be upgraded.

View the module logs to check the device firmware.

What Should I Enter for the Source Versions When I Upload a Firmware Package on the IoTDA Console?

Figure 1 Uploading firmware

The source versions should include the current versions of devices whose firmware you want to upgrade. Otherwise, the upgrade is not allowed. To obtain the current version of a device, log in to the IoTDA console, choose Devices > All Devices in the navigation pane, and click View in the row of the target device.

Are Services Interrupted During a Software or Firmware Upgrade?

Yes. Services are interrupted during the upgrade. Services such as data reporting and property modification cannot be conducted during a module or chip upgrade.

How Can I Retry When Some Devices in the Group Fail to Be Upgraded?

If the entire task fails, only the failed subtasks are retried. The devices that have been successfully upgraded will not be upgraded again.

The retry interval and retry times can be configured for software upgrade, but only the retry times can be configured for firmware upgrade.

Is Resumable Transmission Supported When the IoT Platform Is Sending Software or Firmware Packages to the Devices?

It is supported. Devices must record the fragment location of the software or firmware packages when the transmission is interrupted, so that package fragments that are not transmitted can be sent after the transmission is restored. If the device detects that the verification code of the upgrade package changes after the transmission is restored, the upgrade package is a new one. You need to clear the previous fragments and download the upgrade package again.

Why Does a Software/Firmware Upgrade Task Fail to Be Created When I Select Multiple Upgrade Packages?

The source versions supported by the selected upgrade package are duplicate, or the number of selected upgrade packages exceeds the upper limit. When creating an upgrade task, you can select up to 10 upgrade packages. Supported source versions of the upgrade packages must be unique. If no source version is specified for an upgrade package, the package can be used to upgrade devices of all source versions by default.

Which Devices Will Be Retried If I Click Retry All on the Task Details Page?

If you click Retry All, the system retries the failed, to-be-retried, or stopped status batch tasks.

Why Does a Device Fail to Download the Upgrade Package During the Upgrade?

Check whether the upgrade package link times out. For details about the upgrade link timeout duration, see section Platform Delivering an Upgrade Event.

Why Does an Upgrade Package Fail to Be Downloaded After the Upgrade Result Is Reported?

After the platform delivers an upgrade package, the device downloads the upgrade package and reports the upgrade result to the platform. If the upgrade result is reported, the platform considers that the upgrade is complete. Therefore, you cannot download the upgrade package again.

What Do I Do If a Device Upgrade Task Times Out?

A software/firmware upgrade task consists of multiple phases. Different phases have different timeout periods. If the device does not report a response within the timeout period of a phase, the upgrade task times out. For details about the timeout period, see Firmware Upgrades.