Reply
Highlighted
Posts: 51
Registered: ‎04-19-2016
Accepted Solution

OTA not working on BLE SDK 2.3.1

I have OTA working with the new ebl files on SDK 2.1.1. But when I take the same code to SDK 2.3.1, I am unable to reboot into DFU mode, and thus none of the upgrade process works. Are there changes in this process between the two SDKs?

 

I can't even get DFU to work during a full OTA stack upgrade (none of my own app code running). For example: I start with 2.1.1 stack, reboot to DFU, upload 2.3.1 stack.ebl, reboot and it isn't in DFU mode to start accepting the app.ebl?

Posts: 2,605
Registered: ‎09-01-2015

Re: OTA not working on BLE SDK 2.3.1

At least one important change: gecko_cmd_dfu_reset parameter (Boot mode) is now defined as:


• 0: Normal reset
• 1: Boot to UART DFU mode
• 2: Boot to OTA DFU mode

 

Previously same parameter 1 was used for both UART and OTA updates.

Posts: 18
Registered: ‎01-31-2017

Re: OTA not working on BLE SDK 2.3.1

As far as I know, with stack 5.0, to reboot in dfu mode, the parameter of "gecko_cmd_system_reset" must be "2", not "1".

 

Regards

Posts: 51
Registered: ‎04-19-2016

Re: OTA not working on BLE SDK 2.3.1

Rebooting to a 2 makes sense for when I do the initial reboot in the app. Thank you.

 

But it seems like the reboot that happens between the stack.ebl and the app.ebl is broken? Is it possible that the stack is switching itself to UART after the stack.ebl is uploaded?

Posts: 51
Registered: ‎04-19-2016

Re: OTA not working on BLE SDK 2.3.1

Actually, it looks like everything is working once I switched to 1 -> 2 on the reboot.  Thank you.