- Silicon Labs Community
- Welcome and Announcements
- Silicon Labs Knowledge Base
- 8-bit MCU
- 32-bit MCU
- Bluetooth / Wi-Fi
- Other Products Category
- Optical/RH/Temp Sensor
- Other Products
- Hardware and Software Tools
- Simplicity Studio and Software
- General Discussions and Suggestions
- Chinese Forum
- Software Libraries
- Development Kits
- Reference Designs
- Third Party Tools
- White Papers
- Official Blog of Silicon Labs
- Chinese Blog
06-24-2015 08:20 AM
Hey, I've had issues with bootloading in the past, but recently I've ran into a new issue. The client can complete the download from the server, but it seems to fail at applying the new update. For more details see the attached image, but in summary the image downloads, passes ebl verification, applies the update, resets, then tries and fails to verify the image again. Why does this happen? I've had problems with the eeprom before, could it cause this?
Solved! Go to Solution.
06-24-2015 09:47 AM
Can you confirm which bootloader you are using. Try to make sure that you are using the appropriate bootloader. By that I mean, a bootloader that matches the correct stack version, and you likely do not want to use secure either.
ZigBee Application Engineer
06-24-2015 10:15 AM
Based on your comment that it perpetually keeps trying to update, this can happen if you built the .ebl file manually and set the version number higher than what you set in the OTA Bootload Cluster Client Policy Plugin.
What happens in this scenario is that your server thinks the ebl file is a certain version (2 for example) but your firmware version is actually 1 as determined in the plugin. So when you download it, you still have version 1 and the server still thinks it has version 2.
If you did make the .ebl file make sure to have all the appropriate values set such as image type ID and manufacturing ID (Set in the ZCL global tab).
ZigBee Application Engineer
06-24-2015 01:04 PM
I'm using an application bootloader. I don't know how to tell if it matches the stack or not. The ota file specifies the stack version as 2, while the stack I'm using is version 5.1.2, if that's what you're referring to. What you said about the ebl file having a higher version number made sense, but I have the ota file being generated automatically from the ebl with the same parameters (i.e: manufacturerId), and it still doesn't work. It just seems like the update isn't being applied at all.
09-06-2015 08:37 PM
Did you ever figure out why the client wasn't updating?
These kinds of issues can be tricky to debug sometimes since the bootloader isn't big on diagnostic output (due to space constraints).
The views represented in this post are the independent views of the author and don't necessarily represent the official views of Silicon Labs.
08-22-2016 08:52 AM
I am also testing with OTA cluster for firmware upgrade.
Can you please let me know, do we have to handle OTA cluster's server callback and manually initiate the new firmware file transfer OTA?
And on the client side, do we have to handle the client attribute change callback and send the request to OTA server?