Dear Team,
Is it possible to run BIS and PAwR concurrently while using PAST for synchronization?
I am using the nRF52840 DK and NCS 2.8.
I managed to start two periodic advertising trains (BIS and PAwR) concurrently without any issues (both are working as expected). However, when I attempt to create a connection to a peer device (for PAST) afterwards, it fails with error 0x0C (command disallowed).
After some debugging, I may have found the cause of this problem. To support PAwR, the configuration CONFIG_BT_PER_ADV_RSP is required. This configuration extends the struct bt_le_per_adv_param with fields related to PAwR. When setting the parameters for my periodic advertisements used for BIS, I initially set those values to zero, as I do not need them (which works without problems). However, when doing so I cannot connect with any device anymore. If I set those values to meaningful numbers, I can successfully establish a connection again, but I can no longer create a BIG (as I now have two PAwR trains).
Note: The advertising does not need to be started to resolve this issue; it is sufficient to set the parameters using bt_le_per_adv_set_param() and set the PAwR related fileds of bt_le_per_adv_param to zero.
This issue can be recreated by using the existing zephyr sample (zephyr/samples/bluetooth): periodic_adv_rsp & periodic_sync_rsp.
Just change the periodic advertising parameters in main.c of the periodic_adv_rsp sample to:
static const struct bt_le_per_adv_param per_adv_params = { .interval_min = 0xFF, .interval_max = 0xFF, .options = 0, .num_subevents = 0, .subevent_interval = 0, .response_slot_delay = 0, .response_slot_spacing = 0, .num_response_slots = 0, };
As result, a connection cannot be established anymore:
*** Booting nRF Connect SDK v2.8.0-a2386bfc8401 *** *** Using Zephyr OS v3.7.99-0bc3393fb112 *** Starting Periodic Advertising Demo [00:00:00.000,671] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: fe 2c f9 6a 7f 36 22 2e a0 79 c0 40 be 2c 03 20 |.,.j.6". .y.@.,. 40 c2 f3 32 |@..2 [00:00:00.003,021] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002) [00:00:00.003,051] <inf> bt_hci_core: HW Variant: nRF52x (0x0002) [00:00:00.003,082] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 254.63788 Build 573996906 [00:00:00.003,997] <inf> bt_hci_core: Identity: E7:C1:B9:C8:AB:0B (random) [00:00:00.004,058] <inf> bt_hci_core: HCI: version 6.0 (0x0e) revision 0x104e, manufacturer 0x0059 [00:00:00.004,089] <inf> bt_hci_core: LMP: version 6.0 (0x0e) subver 0x104e Start Periodic Advertising Start Extended Advertising Scanning successfully started [00:00:00.219,116] <wrn> bt_hci_core: opcode 0x2043 status 0x0c Create conn to ø$ failed (4294967283)
Thanks,
Rainer