Firmware OTA Upgrade Overview


You can upgrade device firmware by using the upgrade over-the-air (OTA) service. With this service, you can manage device firmware versions on EnOS and push new firmware versions to devices for bug fixing and function upgrading.

Full Lifecycle Management of Firmware Versions

You can use the EnOS Management Console to manage the full firmware version lifecycle, including creating new firmware versions and setting upgrade policies. EnOS automatically pushes the upgrade requests to the selected devices, and records their upgrade progress and results.


The lifecycle management in EnOS is as follows:

../../_images/ota_lifecycle_management.png

Device SDK for OTA

The device SDK can be used to encapsulate the messaging interfaces for version reporting and upgrading. Developers should ensure the new firmware can be activated on devices and report to EnOS.

Firmware OTA Upgrade Process

EnOS supports the following firmware upgrade modes.

  • Cloud forced push: EnOS pushes the upgrade to the device, upgrading the device to a specified version.
  • Upon device request: The developer or O&M personnel sets the policy for the conditions for upgrading a device. The devide sends an upgrade request to EnOS when it meets the conditions.

Cloud Forced Push

This process is as follows:

../../_images/cloud_pushed_ota_process.png


After a batch upgrade task is created in EnOS, the list of devices to be upgraded is maintained as per the upgrade policy. EnOS pushes the upgrade request to the devices in order of the upgrade sequence:

  • If the devices are online, the upgrade process will start once they receive the upgrade request.
  • If the devices are offline, they will receive the upgrade request when they next connect to EnOS.


Cloud forced push is a forced upgrade. Generally, the devices start the upgrade once they receive the request and report their new versions after rebooting. However, whether to perform the forced upgrade depends on the device settings. Device developers can still add a upgrade confirmation for the downloaded OTA firmware locally so that the partition storing the new firmware is activated only after confirmation.

Upon Device Request

This process is as follows:

../../_images/update_upon_request_ota.png


After creating a batch upgrade task in EnOS, EnOS does not push the upgrade request to the devices immediately but maintains the list of devices to be upgraded. When devices send the upgrade requests to EnOS, EnOS decides whether the devices fall into the upgrade list. If the device can be upgraded, EnOS sends firmware versions that the device can be upgraded to to the devices. The upgrade starts after the device confirms the upgrade.


Upon device request upgrades are optional, and require manual intervention and confirmation steps. In some cases, you do not need to force the device to be upgraded but can decide whether to upgrade the devices as necessary.

Get Started

  1. To use SDK to develop OTA capabilities on a device, see Developing OTA Capabilities on Devices.
  2. To add a device firmware in EnOS, see Adding Firmware.
  3. To upgrade the firmware of a small batch of devices and verify whether the firmware can be pushed to the devices and whether the firmware can be upgraded, see Verifying Firmware.
  4. To configure a batch upgrade task to upgrade qualified devices as per the upgrade policy and methods within the schedule, see Batch Upgrading Firmware.