Can't use bt_enable when I use sysbuild and enabled IPC_RADIO

Hi, Team.

We are currently using NCS v2.7.0 with the sysbuild approach on the nRF5340. We referred to the nrf/sample/matter/lock code and copied its sysbuild configuration (as we need Matter support in the future).

However, we encountered an issue:

  • When enabling the network core IPC_RADIO, the bt_enable function in my code fails to execute properly. The underlying hci_core returns -11 (EAGAIN or resource unavailable).

  • When I disable IPC_RADIO and instead only use SB_CONFIG_NETCORE_HCI_IPC=y, the Bluetooth functionality works correctly.

Question:
1 - Did I miss any configuration steps to enable IPC_RADIO and  use bt_enable() work properly?

2 - Both Bluetooth and IEEE 802.15.4 are supported, so why does the Matter sample code use IPC_RADIO for the network core instead of Multiprotocol_RPMsg?
     Is there any particular reason for this?

  • Hi,

    Thanks for checking with us.

    1 - Did I miss any configuration steps to enable IPC_RADIO and  use bt_enable() work properly?

    I assume your project is not a direct copy of the nrf/sample/matter/lock example in NCS 2.7.0. If that’s the case, it’s possible you are missing the Kconfig.sysbuild file, which contains critical configurations for the IPC_RADIO setup.

    For more details on these configurations, please refer to the Bluetooth Low Energy Remote Procedure Call page.

    2 - Both Bluetooth and IEEE 802.15.4 are supported, so why does the Matter sample code use IPC_RADIO for the network core instead of Multiprotocol_RPMsg?
         Is there any particular reason for this?

    According to the nRF Connect SDK v2.7.0 Release Notes, Matter samples have been updated to use the IPC radio firmware instead of IEEE 802.15.4 over RPMsg or Multiprotocol RPMsg. The release notes state:
    "Updated Matter samples that used IEEE 802.15.4 over RPMsg or nRF5340: Multiprotocol RPMsg radio core firmware, now use the IPC radio firmware."
    This change was made to standardize the approach across Matter samples and likely to take advantage of the features provided by the IPC radio firmware, which supports both Bluetooth and IEEE 802.15.4 protocols.


    Best regards,
    Charlie

  • I developed it on the basis of nrf/sample/matter/lock.

    We keep sysbuild and kconfig.sysbuild, but instead of enabling the matter-related code and configuration, we use some of our custom configurations.

    So I think we did not change the configuration of the network core, but changed the application core code and enabled some Bluetooth configurations on the application core

  • Hi,

    BLE and Thread both rely on the same IPC radio controlled by the netcore. Because of this shared resource, it is not feasible to run a BLE application alongside a Matter/Thread application simultaneously.

    In the lock sample, BLE is only utilized for commissioning purposes before the Matter application actually starts running.

    Best regards,

    Charlie

  • Got it.

    BLE and Thread should have a switching interface, is there any relevant documentation or sample code reference?

    The Bluetooth of the network core IPC radio and the Bluetooth of the application core should also be different, right?

  • Hi,

    ashun said:
    BLE and Thread should have a switching interface, is there any relevant documentation or sample code reference?

    Yes, BLE and Thread can coexist on the same device through Nordic’s multiprotocol support, but there are certain limitations. You can find details about this on the following page: Bluetooth LE and Thread Coexistence.

    Currently, we do not have any samples available to demonstrate running both BLE and Matter/Thread applications on the same device. Could you provide more information about your application, particularly how you plan to use BLE? This will help us understand your requirements better.

    ashun said:
    The Bluetooth of the network core IPC radio and the Bluetooth of the application core should also be different, right?

    Yes, the Bluetooth functionality on the network core IPC radio and the application core is different:

    • Network Core: Uses the IPC radio firmware.
    • Application Core: Operates with the SoftDevice Controller.

    Best regards,

    Charlie

Related