OTA Firmware Update

Last Updated on : 2022-11-24 09:20:14

This topic describes the common questions about the OTA firmware update to help you troubleshoot problems that might occur when you implement this feature. For more information, see Update Firmware.

What is the OTA update sequence?

OTA Firmware Update

What configurations are required for an OTA update?

For more information, see Update Firmware.

Why does my OTA update fail?

  • The device might be powered off unexpectedly in the update process.
  • The network conditions are poor or unstable in the update process.

What is the bandwidth requirement for an OTA update?

A minimum internet speed of 20 kbps is required.

What is the timeout period for an OTA update?

After the mobile app receives a progress update, the timer will expire. If downloading is interrupted by an internet downtime, the SDK will try to reconnect to the mobile app. However, if the device goes offline for a specified time period, the mobile app will exit the update process and declare an update failure. The timeout period of the Smart Life app defaults to 60 seconds.

Why is the device status offline when it is being updated?

The device temporarily goes offline in the update progress. It will automatically go back online after the update is completed.

What is the difference between flashing firmware and updating firmware?

Flashing firmware is made on a module to which no programming code has been written. A firmware update is meant to upgrade the current firmware to improve the existing system with added features or fixed issues. The update can be performed only when the firmware has been flashed to the module.

Will an OTA update fail due to a reconnection?

If the module goes back online within the timeout period such as 60 seconds, the download continues from where it stopped earlier.

How does the server send a firmware update to the Wi-Fi module? Is it secure?

HTTPS is used for secure data transmission. Data integrity checks are provided by HMAC or MD5.

I have configured an update deployment but do not receive an update notification from my phone. How to fix it?

To successfully deploy an OTA update, the following two factors must be satisfied:

  1. The firmware key you configured for an OTA update deployment must match the one written to the device.
  2. The firmware type matches the one flashed to the module. That is, the update channel must be correct.

Check the firmware key:

Check the firmware key reported from the device by device ID. View the device details in the device log and find the firmware key bound with the PID. If these two keys are not matched, it makes sense that the update cannot be received.

Troubleshoot:

If the firmware key bound with a PID has been changed but the devices written with the original key have been delivered to the market, you can bind the current firmware key with the PID to fix this issue. If you have any problems, contact your project manager or submit a service ticket.

What is the configuration for OTA stress testing?

Assume that your current firmware version is 1.0.0. Here is a real OTA update process: You upload a real update named 1.0.1 to the platform and configure a deployment. After a device has the update installed, firmware 1.0.1 runs on the device. The mobile app will display a successful update.

Here is the process for a stress test: You change the name of the real firmware 1.0.0 to 1.0.1 and upload it to the platform for deployment. After a device has the so-called update 1.0.1 installed, it is the firmware 1.0.0 that actually runs on the device.

Is it possible to roll back the firmware version after I verified the OTA functionality?

Assume that your current firmware version is 1.0.0. Here is a real OTA update process: You upload a real update named 1.0.1 to the platform and configure a deployment. To perform a rollback, similar to a stress test, you change the name of the real firmware 1.0.0 to 1.0.2 or a later version number and upload it to the platform for deployment. After a device has the so-called update 1.0.2 installed, it is the firmware 1.0.0 that actually runs on the device. The mobile app will display a failed update.