SDK 2.6.0 cmake error: CONFIG_BT_RPMSG has been renamed to CONFIG_BT_HCI_IPC

Just upgraded to NRF v 2.6.0 (Mac OS; VS Code). Our code previous built and ran successfully on our custom board with v 2.5.0 of the SDK.

Now we get the following error which breaks the build process, and it is unclear how to resolve it (e.g. setting CONFIG_BT_RPMSG=n in prj.conf just produces a different error).

CMake Error at /opt/nordic/ncs/v2.6.0/zephyr/drivers/bluetooth/hci/CMakeLists.txt:5 (message):
CONFIG_BT_RPMSG has been renamed to CONFIG_BT_HCI_IPC

Kindly advise. Thanks! Dan.

Parents
  • Hi,

    Due to the Easter holidays in Norway, we are less staffed than usual. You can expect a delayed answer. 

    The HCI implementation for both the Host and the Controller sides has been renamed for the IPC transport. The CONFIG_BT_RPMSG Kconfig option is now CONFIG_BT_HCI_IPC, and the zephyr,bt-hci-rpmsg-ipc Devicetree chosen is now zephyr,bt-hci-ipc. The existing sample has also been renamed, from samples/bluetooth/hci_rpmsg to samples/bluetooth/hci_ipc. (GitHub #64391)

    See the https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/releases/migration-guide-3.6.html#bluetooth 

    Regards,
    Amanda H.

  • Hi Amanda - yes - I saw that, but it's not clear to me how to fix it so it can build. I am not setting these configs anywhere in my code - they are getting included upstream (our application is a Matter application) and I don't know where/what I should change to make it build. What do you recommend?

  • Hi Amanda - here is the build log:

    Building wb
    west build --build-dir /Users/ydr/dev/nordic/wb/build_2.6.0 /Users/ydr/dev/nordic/wb --pristine --board wb_nrf5340_cpuapp --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION=NONE -DBOARD_ROOT=/Users/ydr/dev/nordic;/Users/ydr/dev/nordic/wb -DCACHED_CONF_FILE=/Users/ydr/dev/nordic/wb/prj.conf -DDTC_OVERLAY_FILE=/Users/ydr/dev/nordic/wb/boards/wb_nrf5340_cpuapp.overlay
    
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: /Users/ydr/dev/nordic/wb
    -- CMake version: 3.21.0
    -- Found Python3: /opt/nordic/ncs/toolchains/580e4ef81c/opt/[email protected]/bin/python3.9 (found suitable version "3.9.6", minimum required is "3.8") found components: Interpreter 
    -- Cache files will be written to: /Users/ydr/Library/Caches/zephyr
    -- Zephyr version: 3.5.99 (/opt/nordic/ncs/v2.6.0/zephyr)
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: wb_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.16.5 (/opt/nordic/ncs/toolchains/580e4ef81c/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.5 (/opt/nordic/ncs/toolchains/580e4ef81c/opt/zephyr-sdk)
    -- Found Dtc: /opt/nordic/ncs/toolchains/580e4ef81c/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6") 
    -- Found BOARD.dts: /Users/ydr/dev/nordic/boards/arm/wb_nrf5340/wb_nrf5340_cpuapp.dts
    -- Found devicetree overlay: /Users/ydr/dev/nordic/wb/boards/wb_nrf5340_cpuapp.overlay
    -- Generated zephyr.dts: /Users/ydr/dev/nordic/wb/build_2.6.0/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: /Users/ydr/dev/nordic/wb/build_2.6.0/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: /Users/ydr/dev/nordic/wb/build_2.6.0/zephyr/dts.cmake
    
    warning: Experimental symbol COAP_SERVER is enabled.
    
    Parsing /Users/ydr/dev/nordic/wb/Kconfig
    Loaded configuration '/Users/ydr/dev/nordic/boards/arm/wb_nrf5340/wb_nrf5340_cpuapp_defconfig'
    Merged configuration '/Users/ydr/dev/nordic/wb/prj.conf'
    Configuration saved to '/Users/ydr/dev/nordic/wb/build_2.6.0/zephyr/.config'
    Kconfig header saved to '/Users/ydr/dev/nordic/wb/build_2.6.0/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: /opt/nordic/ncs/toolchains/580e4ef81c/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd (found version "2.38") 
    -- The C compiler identification is GNU 12.2.0
    -- The CXX compiler identification is GNU 12.2.0
    -- The ASM compiler identification is GNU
    -- Found assembler: /opt/nordic/ncs/toolchains/580e4ef81c/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
    CMake Error at /opt/nordic/ncs/v2.6.0/zephyr/drivers/bluetooth/hci/CMakeLists.txt:5 (message):
      CONFIG_BT_RPMSG has been renamed to CONFIG_BT_HCI_IPC
    
    
    -- Configuring incomplete, errors occurred!
    See also "/Users/ydr/dev/nordic/wb/build_2.6.0/CMakeFiles/CMakeOutput.log".
    See also "/Users/ydr/dev/nordic/wb/build_2.6.0/CMakeFiles/CMakeError.log".
    FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/580e4ef81c/bin/cmake -DWEST_PYTHON=/opt/nordic/ncs/toolchains/580e4ef81c/opt/[email protected]/bin/python3.9 -B/Users/ydr/dev/nordic/wb/build_2.6.0 -GNinja -DBOARD=wb_nrf5340_cpuapp -DNCS_TOOLCHAIN_VERSION=NONE '-DBOARD_ROOT=/Users/ydr/dev/nordic;/Users/ydr/dev/nordic/wb' -DCACHED_CONF_FILE=/Users/ydr/dev/nordic/wb/prj.conf -DDTC_OVERLAY_FILE=/Users/ydr/dev/nordic/wb/boards/wb_nrf5340_cpuapp.overlay -S/Users/ydr/dev/nordic/wb
    
     *  The terminal process terminated with exit code: 1. 

    Thanks! Dan,

  • Hi Dan, I'm facing the same problem,
    I believe you are using the board definitions from a previous sdk (eg some sdk example)
    looks on the new Kconfig.defconfig
    you may want to update to new board definitions
    ncs/v2.6.0/zephyr/boards/arm/*

  •   - thanks for your suggestion and for sharing that you also are running into this issue. Were you able to successfully resolve it?

    I checked my board definition files directory and nowhere am I defining or referencing CONFIG_BT_RPMSG. And when I trace through which board config files and .dts files are getting included, they are all coming from the 2.6.0 version of the code tree.

    So I am still at a loss of what to try next. Appreciate any guidance/help!

  • I was able to fix it. My project has scripts based on the dk board definitions, so I update it (overwritten & adapt) to the new 2.6.0.
    If you are selecting a board from list it may be including other pre-configured boards from nordic and maybe that is causing your define.

  •   - any guidance from the Nordic team? Our board is a custom board using the NRF5340. We don't anywhere explicitly set the CONFIG_BT_RPMSG (so it must be getting included somewhere) and as far as we can tell includes all use 2.6.0 code paths. Is there any other information we can provide to help you help us? Thanks! Dan.

Reply Children
Related