Mbed-os: nRF52 BLE OTA DFUs in mbed OS >=5.13

Created on 16 Aug 2019  路  16Comments  路  Source: ARMmbed/mbed-os

Description


Target: Nordic NRF52840
Mbed OS: Version 5.13
Related PR: https://github.com/ARMmbed/mbed-os/pull/10709

I would like to perform BLE OTA direct firmware upgrades (DFU) using the nRF52840. Until now this was doable via the Nordic S140 softdevice, for example by following this guide. #10709 changed the default Bluetooth stack to Cordio. Does that mean, that the S140 can no longer be used with the current version and DFUs are not possible any longer?

So far, I found #3363, #4587 and #5412, but all of them are closed or inactive. I also found this mbed forum thread from 4 months ago, that said that this feature is high priority and still in planing. But nothing newer than that.

Issue request type


[X] Question
[ ] Enhancement
[ ] Bug

Most helpful comment

I'd like this reopened as a bug, but it probably needs to be rephrased.

@BracketJohn consider opening a new issue phrased more like "OTA DFU feature is missing from nrf52"

All 16 comments

cc @ARMmbed/mbed-os-pan

So am i wrong in thinking that DFU on Nordic devices went from not being supported at all since mbed os 2, then not working out of the box, to not working at all?

I think you are right! Or at least, the last part is the main question of this thread: Does it not work anymore? If so, is it because of the new BLE stack? If so, will this be fixed/changed?

@donatieng Please review

Same question, we are building a smart educational toy for children with special needs and we really do need to be able to update the firmware OTA.

The BLE module is not chosen yet, we are still running tests, but we definitely need one that does/will support mbed-os OTA firmware update

Thank you for raising this issue. Please note we have updated our policies and
now only defects should be raised directly in GitHub. Going forward questions and
enhancements will be considered in our forums, https://forums.mbed.com/ . If this
issue is still relevant please re-raise it there.
This GitHub issue will now be closed.

Sad to see this moved, but I've re-opened on the forum, as requested: https://forums.mbed.com/t/nrf52-ble-ota-dfus-in-mbed-os-5-13/5801

I'd like this reopened as a bug, but it probably needs to be rephrased.

@BracketJohn consider opening a new issue phrased more like "OTA DFU feature is missing from nrf52"

Thanks, it's good to see that other people are interested in a resolution of this. I will reopen this as a bug later tonight.

Please do not reopen this as bug reported,

https://forums.mbed.com/t/nrf52-ble-ota-dfus-in-mbed-os-5-13/5801

This should be sufficient to keep this going. Thanks!

@0xc0170 : this is a pretty huge regression though.

Understood, the stack update contains sometimes missed features from some target specific features (it was not part of the BLE itself as supported). This was the case.
I don't have an answer to the question if it this support comes to Mbed OS.
@donatieng Please review

Might not be ideal, you can stay with older version that contains softdevice. I am not certain how much work would be to keep the older stack in and update OS version. It should be doable to leave BLE + HAL component (if needed).

@0xc0170 : didn't it work mostly out of the box in mbed OS 2, while requiring custom work in earlier versions of mbed os 5 before not being supported at all now? And if you want "new" BLE 5 features like extended advertising, then you will never get to do DFU.

@jrobeson Not really, it never worked portably across all targets. It was a proprietary extension that made its way through mbed-os. We try to avoid that kind of scenario because if the vendor is not able to maintain it's proprietary extension, we don't have the bandwidth to do it.
It is exactly what happened in that instance and one of the reason why the softdevice has been removed.
If BLE DFU makes a comeback, that will certainly be as a component supported by all BLE targets.

+1 for CORDIO BLE DFU and UART two must haves! :-)

@0xc0170 any ETA on when this will get Implemented? our Product really needs OTA, and we are stuck on MBED pre cordio until it is possible, I think there are many others that have the same problem.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

1domen1 picture 1domen1  路  3Comments

DuyTrandeLion picture DuyTrandeLion  路  3Comments

0xc0170 picture 0xc0170  路  3Comments

pilotak picture pilotak  路  3Comments

chrissnow picture chrissnow  路  4Comments