This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Buttonless DFU, secure format, SDK 12.1.0

In reference to this issue in the Android DFU library...

github.com/.../33

... can someone from Nordic please explain how DFU OTA using the secure format on a device with no buttons is supposed to work with SDK 12.1.0? Specifically, which service should be run by the application? Which by the bootloader? How should the central (mobile app) initiate DFU when the user has kicked it off?

What is the service at [SDK]/ble/ble_services/ble_dfu for? It's using this UUID:

#define BLE_DFU_BASE_UUID   {{0x50, 0xEA, 0xDA, 0x30, 0x88, 0x83, 0xB8, 0x9F, 0x60, 0x4F, 0x15, 0xF3, 0x00, 0x00, 0x40, 0x8E}} /**< Used vendor specific UUID. */

Which ends up looking like this to the central:

8E400001-F315-4F60-9FB8-838830DAEA50

And here are the service UUIDs that the implementation in the Android DFU library is looking for:

Secure:

protected static final UUID DFU_SERVICE_UUID = new UUID(0x0000FE5900001000L, 0x800000805F9B34FBL); // 16-bit UUID assigned by Bluetooth SIG

(From: github.com/.../SecureDfuImpl.java

Legacy:

protected static final UUID DFU_SERVICE_UUID = new UUID(0x000015301212EFDEL, 0x1523785FEABCD123L);

(From github.com/.../LegacyDfuImpl.java

Parents Reply Children
No Data
Related