Skip to content

Bluetooth: Controller: Missing CIS Established event with default ACL buffer size #89736

@Thalley

Description

@Thalley

Describe the bug
If CONFIG_BT_BUF_ACL_RX_SIZE/CONFIG_BT_CTLR_DATA_LENGTH_MAX is set to their default value of 27 then it seems that there's an issue with generating/providing the CIS Established event to the host.

To Reproduce
Steps to reproduce the behavior:

  1. Comment out CONFIG_BT_BUF_ACL_RX_SIZE and CONFIG_BT_CTLR_DATA_LENGTH_MAX in https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf
  2. west build -b nrf5340_audio_dk/nrf5340/cpuapp --sysbuild samples/bluetooth/bap_unicast_client/ -- -DCONFIG_BT_ISO_LOG_LEVEL_DBG=y
  3. west flash
  4. west build -b nrf5340_audio_dk/nrf5340/cpuapp --sysbuild samples/bluetooth/bap_unicast_server/ -- -DCONFIG_BT_ISO_LOG_LEVEL_DBG=y
  5. west flash
  6. See unicast client having a CIS stuck in the connecting state

Expected behavior
Expect that the ACL buffer size does not affect the generation of the CIS established event / CIS establishment.

Impact
A workaround is simply setting the value higher. At the time of reporting this, a minimum required value has not been determined, but at least setting 255/251 (the values configured by https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf works).

Logs and console output

Connecting streams
[00:00:09.021,728] <dbg> bt_iso: bt_iso_chan_set_state_debug: chan 0x200078b4 iso 0x20006640 disconnected -> connecting
[00:00:09.372,314] <dbg> bt_iso: hci_le_cis_established: status 0x00  handle 7
[00:00:09.372,344] <dbg> bt_iso: store_cis_info: iso_chan 0x200078b4 tx 0x200078f8 rx 0x200078d8
[00:00:09.372,344] <dbg> bt_iso: bt_iso_connected: 0x20006640
[00:00:09.372,406] <dbg> bt_iso: bt_iso_chan_set_state_debug: chan 0x200078b4 iso 0x20006640 connecting -> connected
Audio Stream 0x20007478 connected
Audio Stream 0x20007428 connected
[00:00:09.372,985] <dbg> bt_iso: bt_iso_chan_set_state_debug: chan 0x20007914 iso 0x20006738 disconnected -> **connecting**
Audio Stream 0x20007428 started

Environment (please complete the following information):

  • Toolchain (e.g Zephyr SDK, ...): Zephyr SDK
  • Commit SHA or Version used: f7a2b4e

Additional context
The issue was found during some PTS testing, and a fix was done in #89680 for the BT Tester. In those cases connecting a single CIS fails, but in the samples we properly connect the first CIS, but not the second. This could indicate that only the last (or only if there's only a single CIS) fails to be established.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions