Hi,
I have a custom nRF5340-based LE Audio broadcast sink built on nRF Connect SDK v3.2.0 (Zephyr 4.2.x). It scans for a broadcast source, establishes PA sync, creates a BAP broadcast sink, syncs to a BIS, and receives audio normally. No problems.
Problem:
If the broadcast source reboots while audio is streaming, the sink stops receiving audio and never reconnects automatically.
What I observe:
- Audio stops permanently after the source reboots. Other threads continue.
- I often see this warning on the sink:
bt_hci_core: Unhandled vendor-specific event 0x01 len 37: 240000000162010000000000005d0100005801000021000000850c0201acb3000118000081
- The normal app-level teardown callbacks do not seem to fire in this case:
- bt_bap_broadcast_sink_cb.stopped
- bt_le_per_adv_sync_cb.term
- I also tried registering a low-level bt_iso_big_cb and did not see its stopped callback fire either
Current sink behavior:
- This build is using self-scan, not scan offload / Broadcast Assistant
- On source reboot, since no stop/term callback arrives, I eventually detect no more ISO data with an application timeout and force a reboot as a workaround
Expected behavior:
I would expect some supported callback/event path to indicate that the BIG or PA sync was lost so the sink can restart:
scan -> PA sync -> broadcast sink create -> BIG sync
Questions:
1. Is this vendor-specific event 0x01 expected from the Nordic controller when a broadcast BIG is lost because the source rebooted?
2. If so, what is the supported host/app callback that should be relied on in NCS for this condition?
3. Should bt_bap_broadcast_sink_cb.stopped and/or bt_le_per_adv_sync_cb.term normally fire on source reboot?
4. Is this a known issue on nRF5340/NCS 3.2.0 for LE Audio broadcast sink teardown when the source disappears abruptly?
5. Is there a recommended workaround or patch other than rebooting the sink application?
Additional detail:
- The source reboot is abrupt from the sink’s point of view
- The sink was previously receiving audio successfully
- The problem is not that scanning/re-sync logic is missing; the issue is that the expected loss/termination indication does not seem to surface to the application
Thanks.