zephyr HCI UART on nRF5340DK - unable to bring up HCI interface

Hi

I have follows the following steps.

1) I build 'hci_uart' sample for nRF5340DK successfully by following guide https://docs.zephyrproject.org/latest/samples/bluetooth/hci_uart/README.html

=======================

west build -b nrf5340dk_nrf5340_cpunet zephyr/samples/bluetooth/hci_uart/
-- west build: generating a build system
Including boilerplate (Zephyr base): /path/zephyrproject/zephyr/cmake/app/boilerplate.cmake
-- Application: /path/zephyrproject/zephyr/samples/bluetooth/hci_uart
-- Zephyr version: 2.7.99 (/path/zephyrproject/zephyr), build: v2.7.99-688-g7dee7a6139e5
-- Found Python3: /usr/bin/python3.8 (found suitable exact version "3.8.0") found components: Interpreter
-- Found west (found suitable version "0.11.0", minimum required is "0.7.1")
-- Board: nrf5340dk_nrf5340_cpunet
-- Cache files will be written to: //sri/.cache/zephyr
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Using toolchain: zephyr 0.13.1 (//sri/zephyr-sdk-0.13.1)
CMake Warning at /path/zephyrproject/zephyr/cmake/host-tools.cmake:36 (message):
Could NOT find working dtc: Found dtc
(//sri/zephyr-sdk-0.13.1/sysroots/x86_64-pokysdk-linux/usr/bin/dtc),
but failed to load with:


Call Stack (most recent call first):
/path/zephyrproject/zephyr/cmake/app/boilerplate.cmake:519 (include)
/path/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
/path/zephyrproject/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:35 (include_boilerplate)
CMakeLists.txt:5 (find_package)


-- Found BOARD.dts: /path/zephyrproject/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpunet.dts
-- Found devicetree overlay: /path/zephyrproject/zephyr/samples/bluetooth/hci_uart/boards/nrf5340dk_nrf5340_cpunet.overlay
-- Generated zephyr.dts: /path/zephyrproject/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /path/zephyrproject/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /path/zephyrproject/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /path/zephyrproject/build/zephyr/dts.cmake
Parsing /path/zephyrproject/zephyr/Kconfig
Loaded configuration '/path/zephyrproject/zephyr/boards/arm/nrf5340dk_nrf5340/nrf5340dk_nrf5340_cpunet_defconfig'
Merged configuration '/path/zephyrproject/zephyr/samples/bluetooth/hci_uart/prj.conf'
Configuration saved to '/path/zephyrproject/build/zephyr/.config'
Kconfig header saved to '/path/zephyrproject/build/zephyr/include/generated/autoconf.h'
/zephyr-sdk-0.13.1/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /zephyr-sdk-0.13.1/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Configuring done
-- Generating done
-- Build files have been written to: /path/zephyrproject/build
-- west build: building application
[1/197] Preparing syscall dependency handling

[190/197] Linking C executable zephyr/zephyr_prebuilt.elf

[197/197] Linking C executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 99280 B 256 KB 37.87%
SRAM: 32914 B 64 KB 50.22%
SRAM1: 0 GB 64 KB 0.00%
IDT_LIST: 0 GB 2 KB 0.00%

=========================================================

2) Flashed .hex file via 'nRF Connect v3.7.1 Programmer', not getting any fail logs

3) After flashing .hex file I tried to bring up hciconfig 

      1) sudo btmon
      2) sudo btattach -B /dev/ttyACM3 -S 1000000 -P h4
      3) sudo btmgmt --index 0
          a) static-addr FF:02:03:04:05:FF
          b) auto-power

4) hciconfig

hci0: Type: Primary Bus: UART
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:4 acl:0 sco:0 commands:1 errors:0

5) hciconfig hci0 up

Can't init device hci0: Operation not permitted (1)

Please guide me if I am missing any step 

NOTE : above steps works fine with 'hci_rpmsg' sample

  • Hello

    I tried to build 'HCI UART' sample for nRF52840 also with command

    west build -b nrf52840dk_nrf52840 zephyr/samples/bluetooth/hci_uart/

    and It works fine for nRF52840dk (able to bring up HCI interface)



    In case of nRF5340dk I build the same sample for nrf5340dk_nrf5340_cpuapp and nrf5340dk_nrf5340_cpunet both but unable to bring up HCI interface in both cases.

    Please provide me the right sample to execute some HCI commands related to Isochronous Channels.

    like :  HCI_LE_Set_CIG_Parameters command

              sudo hcitool cmd 0x08 0x0062 0x00 0x00 0x00 0xFF ..................

  • Hi,

    We do not provide support for the Zephyr SDK, so I would advise you to use the nRF Connect SDK instead. Here is a Getting started guide:

    https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_gsg_ncs%2FUG%2Fgsg%2Fintro.html

    The first thing I would try after installing our SDK would be to have hci_uart on the network core, and the empty_app_core sample on the application core.
    This sample gives the network core access to resources which would normally be set to the application core.

    Our support for isochronous channels in software is still in development. For information on the development roadmap for this feature, please contact your regional sales manager. If you do not know who your regional sales manager is, please send me a private message with your location and contact information, and I will have them contact you.

Related