Softdevice assert on central when connected to a BLE Long Range (Coded PHY) peripheral

Hi, I'm currently developing a BLE Long Range application using two nRF21540 DK boards, where one is configured as the central and the other as the peripheral.

Both devices are set to use the front-end module (FEM) at +20 dBm, and I am working with nRF Connect SDK version 2.7.0.

Occasionally, after the central device connects to the peripheral, the central encounters a random SoftDevice Controller assertion with the following message:

bt_sdc_hci_driver: SoftDevice Controller ASSERT: 53, 345

<err> bt_sdc_hci_driver: SoftDevice Controller ASSERT: 53, 345
00> [00:02:17.991,485] <err> os: ***** HARD FAULT *****
00> [00:02:17.991,790] <err> os: Fault escalation (see below)
00> [00:02:17.992,156] <err> os: ARCH_EXCEPT with reason 3
00>
00> [00:02:17.992,492] <err> os: r0/a1: 0x00000003 r1/a2: 0x20005a30 r2/a3: 0x00000000
00> [00:02:17.992,980] <err> os: r3/a4: 0x00000003 r12/ip: 0x00000000 r14/lr: 0x0003b0e7
00> [00:02:17.993,438] <err> os: xpsr: 0x01000011
00> [00:02:17.993,774] <err> os: Faulting instruction address (r15/pc): 0x0003275c
00> [00:02:17.994,201] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
00> [00:02:17.994,598] <err> os: Fault during interrupt handling
00>
00> [00:02:17.994,964] <err> os: Current thread: 0x200056d0 (idle)
00> [00:02:17.995,330] [1;31m<err> os: Halting system

Does anyone have suggestions on how to investigate this assert further? Are there specific debugging methods or configuration checks that could help us pinpoint the cause on our end?

Thank you in advance!

Parents
  • I will need to ask the softdevice team to give me more info on that assert but to get more context can you please add these to your prj.conf, pristine build your applicaiton and run it to get more logs for this assert?

    CONFIG_BT_HCI_TX_STACK_SIZE=1024
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_HEAP_MEM_POOL_SIZE=2048
    CONFIG_DEBUG_THREAD_INFO=y
    CONFIG_DEBUG_COREDUMP=y

Reply
  • I will need to ask the softdevice team to give me more info on that assert but to get more context can you please add these to your prj.conf, pristine build your applicaiton and run it to get more logs for this assert?

    CONFIG_BT_HCI_TX_STACK_SIZE=1024
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_HEAP_MEM_POOL_SIZE=2048
    CONFIG_DEBUG_THREAD_INFO=y
    CONFIG_DEBUG_COREDUMP=y

Children
No Data
Related