Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: bsim: Bluetooth: Enable some high reliability CAP tests #80788

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

cvinayak
Copy link
Contributor

@cvinayak cvinayak commented Nov 3, 2024

Enable some high reliability CAP tests by increasing ISO Tx buffer counts in the Controller to sufficiently generate number of complete when multiple SDUs are transmitted in single ISO interval with use of pre-transmissions.

Includes #80775.
Includes #80691.

Fixes #80734.
Fixes #80682.

@cvinayak
Copy link
Contributor Author

cvinayak commented Nov 4, 2024

Failure log snippet in CI run that is different from local run:

d_01: @00:00:00.382414  Found broadcaster with ID 0x46653D and addr 19:CA:18:BB:FD:6D (random) and sid 0x00
d_01: @00:00:00.383271  Broadcast source found, stopping scan
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  Scan stopped, attempting to PA sync to the broadcaster with id 0x46653D
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  Broadcast source found, waiting for PA sync
d_00: @00:00:00.931075  Stream 0x84aa9a0 sent 100 SDUs
d_01: @00:00:01.584294  [00:00:01.584,289] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:01.584294  [00:00:01.584,289] <dbg> bt_bap_scan_delegator: pa_synced: Synced
d_01: @00:00:01.584294  [00:00:01.584,289] <dbg> bt_bap_scan_delegator: pa_synced: BASS receive state not found
d_01: @00:00:01.584294  PA sync 0x84dbfa0 synced for broadcast sink with broadcast ID 0x46653D

Local run PA Sync quicker:

d_01: @00:00:00.382414  Found broadcaster with ID 0x46653D and addr 19:CA:18:BB:FD:6D (random) and sid 0x00
d_01: @00:00:00.383271  Broadcast source found, stopping scan
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  Scan stopped, attempting to PA sync to the broadcaster with id 0x46653D
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  [00:00:00.383,270] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:00.383271  Broadcast source found, waiting for PA sync
d_00: @00:00:00.931075  Stream 0x84dd760 sent 100 SDUs
d_01: @00:00:01.434263  [00:00:01.434,234] <wrn> net_buf: net_buf_alloc_len: Timeout discarded. No blocking in syswq
d_01: @00:00:01.434263  [00:00:01.434,234] <dbg> bt_bap_scan_delegator: pa_synced: Synced
d_01: @00:00:01.434263  [00:00:01.434,234] <dbg> bt_bap_scan_delegator: pa_synced: BASS receive state not found
d_01: @00:00:01.434263  PA sync 0x850ed40 synced for broadcast sink with broadcast ID 0x46653D

@cvinayak cvinayak force-pushed the github_tests_bsim_audio_ctlr_conf_2 branch 2 times, most recently from 81c48ba to a706cf5 Compare November 4, 2024 11:04
@cvinayak cvinayak force-pushed the github_tests_bsim_audio_ctlr_conf_2 branch from 33feedb to 1edc322 Compare November 5, 2024 09:59
cvinayak and others added 6 commits November 5, 2024 15:02
Fix spurious ISO Sync Receiver stall due to uninitialised
value accessed due to regression introduced by
commit 64facee ("Bluetooth: controller: Stop Sync ISO
ticker when establishment fails").

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Fix ISO Sync Receiver implementation to correctly reflect
the payload number and timestamp.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Fix ISO Sync Receiver time reservation calculation to use
peer broadcasted bis_spacing and sub_interval, instead of
incorrectly calculating using local implementation used
tMSS value.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Remove a duplicated advertising set in the CAP acceptor babblesim
test. The advertising set is configured in test_start_adv.

Signed-off-by: Emil Gydesen <[email protected]>
These tests have been seen failing in CI due to the
real time execution timeout. Let's increase it so it does
not happen.

Signed-off-by: Alberto Escolar Piedras <[email protected]>
Align audio test Controller Kconfig value same as used with
nRF53bsim.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
@cvinayak cvinayak force-pushed the github_tests_bsim_audio_ctlr_conf_2 branch from 1edc322 to c133cd2 Compare November 5, 2024 14:02
Enable some high reliability CAP tests by increasing ISO Tx
buffer counts in the Controller to sufficiently generate
number of complete when multiple SDUs are transmitted in
single ISO interval with use of pre-transmissions.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
@cvinayak cvinayak force-pushed the github_tests_bsim_audio_ctlr_conf_2 branch from c133cd2 to 4950663 Compare November 5, 2024 14:19
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since these test scripts are already taking a long time to finish given the many test cases in each of them, we should consider either running them in parallel in this script somehow, or split the files.

We could either split them like
AC_14_8 -> Run all 8_x_x tests
AC_14_16 -> Run all 16_x_x tests
AC_14_24 -> Run all 24_x_x tests
etc.

or split them by high and light reliability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth Audio area: Bluetooth Controller area: Bluetooth area: Tests Issues related to a particular existing or missing test platform: nRF BSIM Nordic Semiconductors, nRF BabbleSim
Projects
Status: In Review
5 participants