Extended Scanning not working on nRF5340 SoftDevice Controller after first connection

We're using nRF53 flashed with SoftDevice and HCI UART example as Controller to implement LE Audio in our Bluetooth stack running on a Mac. Unrelated to BIS/CIS, we run into the issue that we don't receive any advertisings after the first connection was made - required to find the other unicast devices in a connected set, e.g. Earbuds.

On Zephyr Discourd I was recommended to post the issue here.

I've attached the HCI trace from nRF53 DK. I'm using the v2.6 release tag of ncs.

To reproduce, either create a simple Zephyr app that finds a device, connects, then starts scanning again, or use our test code.

Instructions:

# Flash SDC on nRF534 DK
- Store [hci_ipc.conf from nRF5340 Audio example])(raw.githubusercontent.com/.../hci_ipc_release.conf) in `ncs/zephyr/samples/hci_uart/child_image`
- Store usb.overlay and usb-overlay.conf [frome our repo](github.com/.../nrf5340_dongle) in `ncs/zephyr/samples/hci_uart` to route UART over USB CDC (not needed, but more convenient)
- `west build --pristine -b nrf5340dk_nrf5340_cpuapp -- -DDTC_OVERLAY_FILE=usb.overlay -DOVERLAY_CONFIG=overlay-usb.conf`
- `west flash`

# Compile examples
- Checkout out BTstack
- Change to branch `test-scan-after-conenct`
- Follow Readme.md in `port/posix-h4` to compile the examples

# Run
- You can specify the path to the /dev/tty with param -u on the command line
- Run `gatt_counter` example on one device - could be anything, just announce UUID FF10 in advertisement
- Run `scan_after_connect` on the other. It will scan and connect to the first device, after that, it starts scanning again, but there are no advertisements
- HCI trace on Mac/Linux is available in /tmp/hci_dump.pklg
hci_dump_le_audio_unicast_gateway.pklg

Parents Reply Children
  • Hi Matthias,

    I would need more information/clarifications about your setup and application functionality.

    Regarding your setup, you have your desktop (mac or linux) which runs scan_after_connect application connected to nrf5340-dk board which runs hci_uart. Then, you have another (or the same?) desktop which runs gatt_counter application and is connected to another nrf5340-dk which runs the same hci_uart application as the first board. Is this description of your setup correct?

    Could you provide information on how is your setup expected to work? What does each of the applications do and what is your goal with this setup?

    Best regards,
    Dejan

  • Hi Dejan

    Your description of this test setup is correct. Two applications run parallel on the same desktop and each is connected to a nrf55340 board.

    The setup is only intended to show the unexpected behaviour with minimal setup to simplify analysis/debugging. The gatt counter is a simple peripheral application with a gatt service. The scan after connect, first scan for a device, connects to it, then starts scanning again.

    The issue was first observed with our LE Audio Unicast Gateway implementation. This application is also running on Mac with the nRF5340 DK and the SoftDevice. It first scans for LE Audio headsets and connects to the first one it finds. It then access the remote CSIP Service to learn about the Coordinated Set Size. If the Set Size is larger than one, e.g. for Ear-Buds, it will enable scanning again and look for a device with the correct RSI. This failed with the SoftDevice as it is not receiving any advertisements. After that ASCS will be used and eventually two or more CIS streams are used to stream audio. I wanted to create a demo that connects to 3 devices, e.g. for a home theater setup.

    Thanks,

    Matthias

  • Hi Matthias,

    Thank you for additional information.

    We will look further into your reported issue during next week. I hope to get back to you by the end of next week.

    Best regards,
    Dejan

  • Hi Matthias,

    The problem you reported might be related to the known issue #20444 described in the documentation with existing workaround. Can you check if provided workaround resolves your issue?

    Best regards,
    Dejan

  • Hi Dejan. Thanks for the hint. Yes, it's exactly issue #20444 and the suggested workaround works here as well. Ok, let's see if I can get 3 unicast streams to work then.

Related