BLE Central role, with SMP enabled for DFU

I've got a working nrf52832 application using central role to connect to another peripheral. I also want to enable SMP DFU mode - so the app needs to advertise and behave as a peripheral too. The only service is SMP.

I can connect to the peripheral; when I try to send a file via SMP, the app faults to fault_s.S SECTION_SUBSEC_FUNC (Line 80).

I've turned off the central role from initialising and scanning so I can try to get the central working properly.

Are there any gotchas with having the BLE Central role enabled and also trying to offer peripheral mode SMP?


os_mgmt_register_group();
img_mgmt_register_group();
smp_bt_register();

bt_conn_cb_register(&conn_callbacks);

err = bt_enable(NULL);
if (err) {
printk("Bluetooth init failed (err %d)", err);
return;
}

err = bt_le_adv_start(BT_LE_ADV_CONN, ad, ARRAY_SIZE(ad), sd, ARRAY_SIZE(sd));

The above all works to initialise ble.

Related