FOTA via BLE on nRF54L15DK – SMP connection unstable, firmware crash

Hello,

zephyr: Vanila v 4.1.0


I'm trying to run FOTA via BLE on the nRF54L15DK. I’ve configured everything as it should be, based on the sample:

zephyr/samples/subsys/mgmt/mcumgr/smp_svr

When I build the sample for the nRF52, using the following command:

west build -b nrf52840dk/nrf52840 -p always -- -DEXTRA_CONF_FILE="overlay-bt.conf" -DDCONFIG_BT_DEVICE_NAME="zephyr"
…it works without any issues.

However, when I build it for the nRF54L15DK:

west build -b nrf54l15dk/nrf54l15/cpuapp -p always -- -DEXTRA_CONF_FILE="overlay-bt.conf" -DDCONFIG_BT_DEVICE_NAME="zephyr"

…the device boots, but I always get an assertion failure, and the firmware crashes. The logs show:
*** Booting Zephyr OS build v4.1.0 ***
[00:00:00.492,235] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.492,249] <inf> bt_hci_core: HW Variant: nRF54Lx (0x0005)
[00:00:00.492,262] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 4.1 Build 0
[00:00:00.492,485] <inf> bt_hci_core: Identity: DD:4A:DD:37:22:08 (random)
[00:00:00.492,500] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1
[00:00:00.492,513] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff
[00:00:00.492,780] <inf> smp_bt_sample: Advertising successfully started
[00:00:00.492,800] <inf> smp_sample: build time: Mar 25 2025 12:00:17
uart:~$ 
uart:~$ 
uart:~$ 
uart:~$ 
uart:~$ 
[00:00:17.974,666] <inf> smp_bt_sample: Connected
[00:00:18.015,828] <wrn> bt_conn: conn 0x20001558 failed to establish. RF noise?
[00:00:18.015,931] <inf> smp_bt_sample: Disconnected, reason 0x3e 
[00:00:18.016,196] <inf> smp_bt_sample: Advertising successfully started
ASSERTION FAIL [0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_peripheral.c:342
        prepare_cb: Actual EVENT_OVERHEAD_START_US = 578
[00:00:18.119,616] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000000  r2/a3:  0x00000006
[00:00:18.119,623] <err> os: r3/a4:  0x00000003 r12/ip:  0x00000000 r14/lr:  0x0001a66d
[00:00:18.119,628] <err> os:  xpsr:  0x0100002e
[00:00:18.119,632] <err> os: Faulting instruction address (r15/pc): 0x0001a67c
[00:00:18.119,658] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:00:18.119,663] <err> os: Fault during interrupt handling

[00:00:18.119,680] <err> os: Current thread: 0x200019e0 (idle)
[00:00:18.248,208] <err> os: Halting system

I'm testing the connection using:

sudo mcumgr --conntype ble --connstring ctlr_name=hci0,peer_name='zephyr' echo hello
On some configurations, instead of the instant assertion failure, I get repeated connection errors and this log output:
uart:~$ W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
W: conn 0x20000d50 failed to establish. RF noise?
ASSERTION FAIL [0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_peripheral.c:342
        prepare_cb: Actual EVENT_OVERHEAD_START_US = 801
E: r0/a1:  0x00000003  r1/a2:  0x000258bd  r2/a3:  0x00000000
E: r3/a4:  0x00000003 r12/ip:  0x00000000 r14/lr:  0x00016f95
E:  xpsr:  0x2100002e
E: Faulting instruction address (r15/pc): 0x00016fa4
E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
E: Fault during interrupt handling

E: Current thread: 0x200011c8 (idle)
E: Halting system

Is this a known issue on the nRF54L15DK? Are there any extra configuration options needed for SMP over BLE to work reliably on this SoC?

Thanks in advance for any help!

Parents Reply Children
Related