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

Softdevice assert 151994:0

I am getting an intermittent "Softdevice assert: 151994:0" error on device initialisation or after the device has run for a period of time. I am using Light Switch Client stock example.

Nordic SDK: nRF5_SDK_15.3.0_59ac345

Nordic Mesh SDK:  nrf5_SDK_for_Mesh_v3.2.0_src

Softdevice: s140_nrf52_6.1.1_softdevice.hex

The device is custom, built on MDBT50Q. 

Sample error log output:

  1. <t: 12895576>, app_error_weak.c, 96, Softdevice assert: 151994:0
  2. <t: 74659>, app_error_weak.c, 96, Softdevice assert: 151994:0
  3. <t: 74453>, app_error_weak.c, 96, Softdevice assert: 151994:0
  4. <t: 74629>, app_error_weak.c, 96, Softdevice assert: 151994:0
Parents
  • Hi.

    Are you able to provide any more information about the assert?

    I suspect that you might have spent too much time in the radio timeslot. From the SDS, see: Ending a timeslot in time,
    "The application is responsible for keeping track of timing within the Radio Timeslot and for ensuring that the application’s use of the peripherals does not last for longer than the granted timeslot length."

    Best regards,
    Joakim

  • Hi Joakim, thanks for investigating!

    1. nrf5_SDK_for_Mesh_v3.2.0_src\examples\light_switch\client\light_switch_client_nrf52840_xxAA_s140_6_1_1.emProject
    2. Change preprocessor definitions BOARD_PCA10056 -> BOARD_CUSTOM
    3. Copy custom_board.h into includes directory
    4. Build and download to the device.
    5. Connect to the nRF5x Mesh Switch device using nRF Mesh Android App
    6. Provision using No OOB.
    7. Configure: bind app key, make one of the two switch elements publish to a group.
    8. Disconnect nRF Mesh App from the Node: assertion failure.
    9. Reboot the device several times pressing power button: assertion failure.
    10. Leave the device working (the only device in the mesh) for a while: assertion failure.

    When Segger Embedded Studio Debugger is connected I am getting the following output:

    When dead on reboot

    <t: 0>, main.c, 318, ----- BLE Mesh Light Switch Client Demo -----
    <t: 8768>, main.c, 289, Initializing and adding models
    <t: 8820>, mesh_app_utils.c, 65, Device UUID (raw): UUID edited out
    <t: 8824>, mesh_app_utils.c, 70, Device UUID : UUID edited out
    <t: 74660>, app_error_weak.c, 96, Softdevice assert: 151994:0  

    When dead after working for a while

    <t: 0>, main.c, 318, ----- BLE Mesh Light Switch Client Demo -----
    <t: 8773>, main.c, 289, Initializing and adding models
    <t: 8827>, mesh_app_utils.c, 65, Device UUID (raw): UUID edited out
    <t: 8831>, mesh_app_utils.c, 70, Device UUID : UUID edited out
    <t: 1914032>, app_error_weak.c, 96, Softdevice assert: 151994:0

Reply
  • Hi Joakim, thanks for investigating!

    1. nrf5_SDK_for_Mesh_v3.2.0_src\examples\light_switch\client\light_switch_client_nrf52840_xxAA_s140_6_1_1.emProject
    2. Change preprocessor definitions BOARD_PCA10056 -> BOARD_CUSTOM
    3. Copy custom_board.h into includes directory
    4. Build and download to the device.
    5. Connect to the nRF5x Mesh Switch device using nRF Mesh Android App
    6. Provision using No OOB.
    7. Configure: bind app key, make one of the two switch elements publish to a group.
    8. Disconnect nRF Mesh App from the Node: assertion failure.
    9. Reboot the device several times pressing power button: assertion failure.
    10. Leave the device working (the only device in the mesh) for a while: assertion failure.

    When Segger Embedded Studio Debugger is connected I am getting the following output:

    When dead on reboot

    <t: 0>, main.c, 318, ----- BLE Mesh Light Switch Client Demo -----
    <t: 8768>, main.c, 289, Initializing and adding models
    <t: 8820>, mesh_app_utils.c, 65, Device UUID (raw): UUID edited out
    <t: 8824>, mesh_app_utils.c, 70, Device UUID : UUID edited out
    <t: 74660>, app_error_weak.c, 96, Softdevice assert: 151994:0  

    When dead after working for a while

    <t: 0>, main.c, 318, ----- BLE Mesh Light Switch Client Demo -----
    <t: 8773>, main.c, 289, Initializing and adding models
    <t: 8827>, mesh_app_utils.c, 65, Device UUID (raw): UUID edited out
    <t: 8831>, mesh_app_utils.c, 70, Device UUID : UUID edited out
    <t: 1914032>, app_error_weak.c, 96, Softdevice assert: 151994:0

Children
Related