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

nRF52832 DFU Service without bonds working and not with bonds

Hi,

We are developing an application requiring the DFU Service on nRF52832.

The implementation of the DFU Service without bonds works very well, but when switching to required bonds, we have an issue when the DFU write request is send (0x01 value to the Secure Buttonless DFU characteristic).

The log report: <error> app: SOFTDEVICE: ASSERTION FAILED when writing to the characteristic.

A step by step debug led us to on_ctrlpt_write(&p_auth_req->request.write) call in ble_dfu.c before crashing.

To make the switch, we change the application and bootloader sdk_config.h files as following:

Application sdk_config.h:

// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table.
#ifndef NRF_SDH_BLE_SERVICE_CHANGED
#define NRF_SDH_BLE_SERVICE_CHANGED 1
#endif

// NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS - Buttonless DFU supports bonds.
#ifndef NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS
#define NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS 1
#endif

Bootloader sdk_config.h:

// NRF_SDH_BLE_SERVICE_CHANGED - Include the Service Changed characteristic in the Attribute Table.
#ifndef NRF_SDH_BLE_SERVICE_CHANGED
#define NRF_SDH_BLE_SERVICE_CHANGED 1
#endif

// NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer.
#ifndef NRF_DFU_BLE_REQUIRES_BONDS
#define NRF_DFU_BLE_REQUIRES_BONDS 1
#endif

I did not see any other post related to this issue, did we miss something in the config files when going from without bonds to required bonds ?

Regards,

Parents Reply Children
No Data
Related