MPSL ASSERT 106, 701 and SoftDevice Controller assert 48, 1403

We are using nRF Connect SDK 2.9.1, Zephyr. The hardware used is a nrf52840dk, rev2.

We have a proprietary protocol that is running concurrently with BLE and uses MPSL API for radio access.

We are now facing a problem when doing DFU over BLE using MCUmgr and BLE as the transport layer. We've followed the "FOTA updates on nRF52 Series" documentation to setup DFU over BLE. The target flash area to store the uploaded firmware to is the internal flash. 

The problem we get is that either MPSL or the SoftDevice Controller asserts during transfer of the firmware. It is either "MPSL ASSERT 106,701" or "SoftDevice Controller ASSERT 48, 1403".

Any suggestion on what it can be that causes the asserts?

Parents Reply
  • Hi,

    I've now managed to reproduce the issue with a minimal example based on the MPSL timeslot sample included in nRF Connect SDK it also includes code from the SMP server sample to enable advertising.

    It mostly triggers the SoftDevice Controller assert but it sometimes triggers the MPSL assert as well. 

    To trigger the asserts, one has to use the nRF Device Manager mobile app and do a firmware upgrade through it. It might take some retries to make it trigger.

    Here is the example code/project: 4520.timeslot.zip

Children
No Data
Related