nRF audio DK reference application not visible to smartphone scan

Hello,

I am evaluating the nRF5340 for a potential BLE audio application. I was able to program the kit following the instructions and using the build script (or through VScode), however the unit is not discoverable and I am not able to find it via bluetooth scan from my iphone or from my laptop. I am able to see the device using the mobile app "nRF Connect for Mobile" but this one shows issues as well when connecting to it. Is this something that anyone else has exhibited before?

Additionally (but less important for the purpose of my evaluation) it is not clear from the link https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/nrf5340_audio/index.html how to program the unit to be a left/right channel or (if it is possible) to program it as duo when using VS code.

Thank you for your support!

  • Hi,

    Which NCS version do you use?

    Have you modified nrf5340_audio application in any way?

    Best regards,
    Dejan

  • Hi Dejan,

    I first tried the NCS version 2.6.1 in VScode. The only change was to the config file to enable BIS (CONFIG_TRANSPORT_BIS=y).

    Later I tried a fresh new installation of version 2.6.1 and then 2.4.0. through the nRF desktop Toolchain Manager. I ran the build and programming from bash command (no changes to any file other than the *.json file) using the script as shown here https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/nrf5340_audio/doc/building.html#nrf53-audio-app-building-script. I am able to program the unit to right channel or left channel (the LED color updates) but the unit is never discoverable via bluetooth scan.

    Thank you!

    Below is the build and programming log as well as the unit log after reset:

    $ python buildprog.py -c both -b debug -d both --pristine -p
    +------------+----------+---------+--------------+---------------------+---------------------+
    |    snr     | snr conn |  device | only reboot  | core app programmed | core net programmed |
    +------------+----------+---------+--------------+---------------------+---------------------+
    | 1050162998 |   True   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    |    1000    |  False   | gateway | Not selected |     Selected TBD    |     Selected TBD    |
    |    1000    |  False   | headset | Not selected |     Selected TBD    |     Selected TBD    |
    +------------+----------+---------+--------------+---------------------+---------------------+
    Invoking build step
    Net core uses precompiled hex
    Run: west build C:\ncs\v2.4.0\nrf\applications\nrf5340_audio -b nrf5340_audio_dk_nrf5340_cpuapp -p -d C:\ncs\v2.4.0\nrf\applications\nrf5340_audio\build\dev_headset\build_debug -DCONFIG_AUDIO_DEV=1
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio
    -- CMake version: 3.20.5
    -- Using NCS Toolchain 2.4.0 for building. (C:/ncs/toolchains/31f4403e35/cmake)
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf5340_audio_dk_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
    -- Generated zephyr.dts: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/dts.cmake
    
    warning: Experimental symbol NRF5340_AUDIO is enabled.
    
    
    warning: Experimental symbol BT_LL_ACS_NRF53 is enabled.
    
    
    warning: Experimental symbol BT_ISO_PERIPHERAL is enabled.
    
    
    warning: Experimental symbol BT_AUDIO is enabled.
    
    
    warning: Experimental symbol BT_BAP_UNICAST_SERVER is enabled.
    
    
    warning: Experimental symbol BT_VCP_VOL_REND is enabled.
    
    
    warning: Experimental symbol BT_CSIP_SET_MEMBER is enabled.
    
    
    warning: Experimental symbol BT_MCC is enabled.
    
    
    warning: Experimental symbol BT_CAP_ACCEPTOR is enabled.
    
    Parsing C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/prj.conf'
    Merged configuration 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/misc/generated/extra_kconfig_options.conf'
    Configuration saved to 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/.config'
    Kconfig header saved to 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (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: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- libmetal version: 1.3.0 (C:/ncs/v2.4.0/nrf/applications/nrf5340_audio)
    -- Build type:
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- Looking for include file stdatomic.h
    -- Looking for include file stdatomic.h - found
    -- open-amp version: 1.3.0 (C:/ncs/v2.4.0/modules/lib/open-amp/open-amp)
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- C_FLAGS :  -Wall -Wextra
    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
      No SOURCES given to Zephyr library: lib__libc__common
    
      Excluding target from build.
    
    
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
      __ASSERT() statements are globally ENABLED
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_headset/build_debug
    -- west build: building application
    [1/434] Generating include/generated/version.h
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr), build: v3.3.99-ncs1
    [424/434] Linking C executable zephyr\zephyr_pre0.elf
    
    [428/434] Linking C executable zephyr\zephyr_pre1.elf
    
    [434/434] Linking C executable zephyr\zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:      578904 B         1 MB     55.21%
                 RAM:      108536 B       448 KB     23.66%
            IDT_LIST:          0 GB         2 KB      0.00%
    Run: west build C:\ncs\v2.4.0\nrf\applications\nrf5340_audio -b nrf5340_audio_dk_nrf5340_cpuapp -p -d C:\ncs\v2.4.0\nrf\applications\nrf5340_audio\build\dev_gateway\build_debug -DCONFIG_AUDIO_DEV=2
    -- west build: generating a build system
    Loading Zephyr default modules (Zephyr base).
    -- Application: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio
    -- CMake version: 3.20.5
    -- Using NCS Toolchain 2.4.0 for building. (C:/ncs/toolchains/31f4403e35/cmake)
    -- Found Python3: C:/ncs/toolchains/31f4403e35/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Cache files will be written to: C:/ncs/v2.4.0/zephyr/.cache
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr)
    -- Found west (found suitable version "1.0.0", minimum required is "0.7.1")
    -- Board: nrf5340_audio_dk_nrf5340_cpuapp
    -- Found host-tools: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found toolchain: zephyr 0.16.0 (C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk)
    -- Found Dtc: C:/ncs/toolchains/31f4403e35/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    
    -- Found BOARD.dts: C:/ncs/v2.4.0/zephyr/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp.dts
    -- Generated zephyr.dts: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/zephyr.dts
    -- Generated devicetree_generated.h: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/include/generated/devicetree_generated.h
    -- Including generated dts.cmake file: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/dts.cmake
    
    warning: Experimental symbol NRF5340_AUDIO is enabled.
    
    
    warning: Experimental symbol BT_LL_ACS_NRF53 is enabled.
    
    
    warning: Experimental symbol BT_ISO_CENTRAL is enabled.
    
    
    warning: Experimental symbol BT_AUDIO is enabled.
    
    
    warning: Experimental symbol BT_BAP_UNICAST_CLIENT is enabled.
    
    
    warning: Experimental symbol BT_VCP_VOL_CTLR is enabled.
    
    
    warning: Experimental symbol BT_MCS is enabled.
    
    
    warning: Experimental symbol BT_MPL is enabled.
    
    
    warning: Experimental symbol MCTL is enabled.
    
    Parsing C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/Kconfig
    Loaded configuration 'C:/ncs/v2.4.0/zephyr/boards/arm/nrf5340_audio_dk_nrf5340/nrf5340_audio_dk_nrf5340_cpuapp_defconfig'
    Merged configuration 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/prj.conf'
    Merged configuration 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/misc/generated/extra_kconfig_options.conf'
    Configuration saved to 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/.config'
    Kconfig header saved to 'C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug/zephyr/include/generated/autoconf.h'
    -- Found GnuLd: c:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe (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: C:/ncs/toolchains/31f4403e35/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc.exe
    -- libmetal version: 1.3.0 (C:/ncs/v2.4.0/nrf/applications/nrf5340_audio)
    -- Build type:
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- Looking for include file stdatomic.h
    -- Looking for include file stdatomic.h - found
    -- open-amp version: 1.3.0 (C:/ncs/v2.4.0/modules/lib/open-amp/open-amp)
    -- Host:    Windows/AMD64
    -- Target:  Generic/arm
    -- Machine: arm
    -- C_FLAGS :  -Wall -Wextra
    -- Looking for include file fcntl.h
    -- Looking for include file fcntl.h - found
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:838 (message):
      No SOURCES given to Zephyr library: lib__libc__common
    
      Excluding target from build.
    
    
    CMake Warning at C:/ncs/v2.4.0/zephyr/CMakeLists.txt:1864 (message):
      __ASSERT() statements are globally ENABLED
    
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/ncs/v2.4.0/nrf/applications/nrf5340_audio/build/dev_gateway/build_debug
    -- west build: building application
    [1/445] Generating include/generated/version.h
    -- Zephyr version: 3.3.99 (C:/ncs/v2.4.0/zephyr), build: v3.3.99-ncs1
    [435/445] Linking C executable zephyr\zephyr_pre0.elf
    
    [439/445] Linking C executable zephyr\zephyr_pre1.elf
    
    [445/445] Linking C executable zephyr\zephyr.elf
    Memory region         Used Size  Region Size  %age Used
               FLASH:      608000 B         1 MB     57.98%
                 RAM:      125068 B       448 KB     27.26%
            IDT_LIST:          0 GB         2 KB      0.00%
    Using NET hex: C:\ncs\v2.4.0\nrf\lib\bin\bt_ll_acs_nrf53\bin\ble5-ctr-rpmsg_3349.hex for 1050162998 headset right
    Programming net core on: 1050162998 headset right
    Programming app core on: 1050162998 headset right
    Programming UICR
    Parsing parameters.
    Writing.
    Parsing parameters.
    Writing.
    Resetting 1050162998 headset right
    Applying system reset.
    Run.
    build_prog.py finished. Report:
    +------------+----------+---------+--------------+---------------------+---------------------+
    |    snr     | snr conn |  device | only reboot  | core app programmed | core net programmed |
    +------------+----------+---------+--------------+---------------------+---------------------+
    | 1050162998 |   True   | headset | Not selected |         Done        |         Done        |
    |    1000    |  False   | gateway | Not selected |     Not selected    |     Not selected    |
    |    1000    |  False   | headset | Not selected |     Not selected    |     Not selected    |
    +------------+----------+---------+--------------+---------------------+---------------------+

    nRF5340 Audio nRF5340 Audio DK cpuapp                      
             NCS base version: 2.4.0                            
             Cmake run : Tue May 07 18:12:14 2024
    HR [00:00:00.258,544] <inf> fw_info: ------- DEBUG BUILD -------
    HR [00:00:00.258,544] <inf> fw_info: HEADSET right device
    HR [00:00:00.269,165] <inf> board_version: Compatible board/HW version found: 1.1.0
    HR [00:00:00.307,128] <wrn> bt_hci_core: Controller to host flow control not supported
    HR [00:00:00.310,333] <inf> bt_hci_core: No ID address. App must call settings_load()
    HR [00:00:00.310,394] <inf> ble: MAC: 00:00:00:00:00:00 (public)
    HR [00:00:00.310,943] <inf> ble: Controller version: 3349
    HR [00:00:00.312,316] <inf> bt_hci_core: Identity: E3:87:52:BE:DF:F4 (random)
    HR [00:00:00.312,347] <inf> bt_hci_core: HCI: version 5.2 (0x0b) revision 0x0d15, manufacturer 0x07e8
    HR [00:00:00.312,377] <inf> bt_hci_core: LMP: version 5.2 (0x0b) subver 0x0d15
    HR [00:00:00.433,258] <inf> cis_headset: Advertising successfully started

  • Hi,

    ermalh said:
    I am able to program the unit to right channel or left channel (the LED color updates) but the unit is never discoverable via bluetooth scan.

    You could test if the application works as expected when you use both headset and gateway devices. You could also try to build the application only for headset device using "-d headset" option in your buildprog command. What are the results?

    How did you do Bluetooth scanning?

    Best regards,
    Dejan

  • Hi Dejan,

    I tried to program it as gateway from VScode, I used the nRF Kconfig GUI to change the configuration and I was able to see the device once after scanning for bluetooth devices with my laptop. I tried to connect to the device but without success (connecting...)

    I used various devices (laptop and iphones) to scan for the nrf5340. I was able to detect it only once after so many different tries.

    I have no clue if there is anything I am doing wrong or if there is a bug somewhere in the example code.

  • Hi,

    Are you using 2 different devices that you programmed as headset and gateway, or do you have only one device which you previously programmed as headset and now as gateway?

    ermalh said:
    I tried to connect to the device but without success (connecting...)

    Can you show this "connecting ..." status?

    ermalh said:
    I used various devices (laptop and iphones) to scan for the nrf5340. I was able to detect it only once after so many different tries.

    How did you perform the scan? Which application did you use on the laptop and iPhones? Did you try with Android phone?

    ermalh said:
    I used the nRF Kconfig GUI to change the configuration and I was able to see the device once after scanning for bluetooth devices with my laptop.

    Which configuration changes have you made? Have you tried editing the configuration without using Kconfig GUI?

    Best regards,
    Dejan

Related