[Issue] PAST subscription fails on nRF5340 with NCS v2.9.2 (err -134), works on nRF52840

SDK Version

  • nRF Connect SDK: v2.9.2 (4ab7b98fc76f)

  • Zephyr: v3.7.99-aa34a5632971

Hardware

  • nRF5340 (issue observed)

  • nRF52840 (works correctly with same code)

Sample / Application

  • Peripheral Periodic Advertising Synchronization Transfer (PAST) demo
    (Based on the official example, no or minimal modifications)


Description

When running the PAST demo on nRF5340, the application fails when subscribing to Periodic Advertising Sync Transfer, returning error -134.

The same SDK version and the same application code work correctly on nRF52840.


Steps to Reproduce

  1. Use nRF Connect SDK v2.9.2

  2. Build and flash the official PAST demo to nRF5340

  3. Run the application and check the log output


Actual Result (nRF5340)

Log output:

** Booting nRF Connect SDK v2.9.2-4ab7b98fc76f **
*** Using Zephyr OS v3.7.99-aa34a5632971 ***
Starting Peripheral Periodic Advertising Synchronization Transfer (PAST) Demo
[00:00:00.277,221] <wrn> bt_hci_core: opcode 0x203a status 0x01
[00:00:00.277,252] <wrn> bt_hci_core: Controller does not support 'LE_READ_MAX_ADV_DATA_LEN'. Assuming maximum length is 31 bytes.
[00:00:00.278,839] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.278,869] <inf> bt_hci_core: HW Variant: nRF53x (0x0003)
[00:00:00.278,900] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00)
[00:00:00.280,670] <inf> bt_hci_core: Identity: DC:E8:12:90:E6:D8 (random)
[00:00:00.280,700] <inf> bt_hci_core: HCI: version 5.4 (0x0d)
Connection callbacks register...Success
Periodic Advertising callbacks register...Success.
Subscribing to periodic advertising sync transfers
PAST subscribe failed (err -134)

Expected Result

  • PAST subscription should succeed, same behavior as on nRF52840


Comparison

Platform Result
nRF52840 White check mark PAST subscription succeeds
nRF5340 X PAST subscription fails (-134)

Questions / Possible Causes

  • Is PAST fully supported on nRF5340 controller in NCS v2.9.2?

  • Does error -134 indicate a missing or unsupported HCI / controller feature?

  • Are additional Kconfig or Bluetooth controller options required on nRF5340?

  • Is this a known issue or fixed in a newer NCS version?

  • Hello,

    I do see an error running this application on the nRF5340 DK, but not the same as you see. I see:

    *** Booting nRF Connect SDK v2.9.2-4ab7b98fc76f ***
    *** Using Zephyr OS v3.7.99-aa34a5632971 ***
    Starting Peripheral Periodic Advertising Synchronization Transfer (PAST) Demo
    [00:00:01.428,710] <err> bt_hci_driver: Endpoint binding failed with -11
    [00:00:01.428,741] <err> bt_hci_core: HCI driver open failed (-11)
    Bluetooth init failed (err -11)
    

    I do however suspect that you still have something old (from another application) running on your network core. You see, since we started using sysbuild as a build system (around NCS v2.6.0 - v2.7.0) some (most) of the BLE samples in the Zephyr folder (NCS\zephyr\samples\bluetooth\) stopped working on the nRF5340. The reason is that the network core image is no longer automatically included. If you look at some of the samples from the nrf folder (NCS\nrf\samples\bluetooth), you will see that most of them have a folder called sysbuild\ipc_radio, containing a prj.conf. This folder is what is setting the Kconfigs for the radio core. 

    Then you have the file that include the radio core image alltogether, which is the Kconfig.sysbuild.

    Try copying these from e.g. the v2.9.2\nrf\samples\bluetooth\peripheral_uart, and build the application again. Now, I suspect it to still fail, but now at least it will build an image for the nRF5340's network core. To make this work properly, try adding this to your sysbuild\ipc_radio\prj.conf:

    CONFIG_BT_EXT_ADV=y
    CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y
    CONFIG_BT_PER_ADV_SYNC=y
    
    CONFIG_BT_CENTRAL=n
    CONFIG_BT_OBSERVER=y
    
    CONFIG_BT_LONG_WQ=y
    CONFIG_BT_LONG_WQ_PRIO=10
    CONFIG_BT_LONG_WQ_INIT_PRIO=50
    
    CONFIG_BT_RX_STACK_SIZE=1024
    CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=1

    And let me know whether it works or not. If it doesn't, then I can have a look at it tomorrow.

    Best regards,

    Edvin

Related