Error: Unable to find sink PAC in unicast_audio_client sample

Hi Nordic team,

I'm trying to stream audio from the nRF5340 DK to a BLE headset (Sony inzone buds) using the [Unicast Audio Client sample] with the BAP profile.

Initially the device was not scanning properly, got err:-5 when starting scan — resolved by adjusting configurations based on this forum thread:
added the hci_ipc.conf file.
https://devzone.nordicsemi.com/f/nordic-q-a/116647/failed-to-use-periodic-advertisement-function-on-nrf5340dk 

After resolving scanning, I encountered:
Unable to find sink PAC
during discovery. See logs below with debug logs enabled.

 Device found: C4:C9:6B:BE:8C:F7 (random) (RSSI -28)
00> [AD]: 1 data_len 1
00> [AD]: 9 data_len 11
00> [AD]: 255 data_len 21
00> [AD]: 2 data_len 6
00> [AD]: 22 data_len 2
00> [AD]: 22 data_len 4
00> [AD]: 25 data_len 2
00> [AD]: 22 data_len 3
00> [AD]: 22 data_len 8
00> Audio server found with type 0, contexts 0x0fff0fff and meta_len 0; connecting
00> MTU exchanged: 23/23
00> [00:00:41.363,403] <dbg> bt_gatt: bt_gatt_connected: conn 0x200026d0
00> [00:00:41.363,464] <dbg> bt_gatt: gatt_exchange_mtu_encode: Client MTU 65
00> Connected: C4:C9:6B:BE:8C:F7 (random)
00> MTU exchanged: 517/65
00> MTU exchanged: 65/65
00> [00:00:41.615,997] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 6
00> [00:00:41.816,040] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:41.816,070] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.215,850] <dbg> bt_gatt: bt_gatt_encrypt_change: conn 0x200026d0
00> Connected
00> Discovering sinks
00> [00:00:42.216,003] <dbg> bt_gatt: gatt_read_type: start_handle 0x0001 end_handle 0xffff
00> [00:00:42.317,047] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.317,169] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.317,810] <dbg> bt_gatt: gatt_read_type_rsp: err 0x00
00> [00:00:42.317,840] <dbg> bt_gatt: parse_characteristic: handle 0x0002 uuid 2a00 properties 0x02
00> [00:00:42.318,084] <dbg> bt_gatt: parse_characteristic: handle 0x0004 uuid 2a01 properties 0x02
00> [00:00:42.318,145] <dbg> bt_gatt: parse_characteristic: handle 0x0006 uuid 2a04 properties 0x02
00> [00:00:42.318,206] <dbg> bt_gatt: parse_characteristic: handle 0x0008 uuid 2aa6 properties 0x02
00> [00:00:42.318,237] <dbg> bt_gatt: parse_characteristic: handle 0x000d uuid 2a05 properties 0x20
00> [00:00:42.318,298] <dbg> bt_gatt: parse_characteristic: handle 0x0010 uuid 2b29 properties 0x0a
00> [00:00:42.318,359] <dbg> bt_gatt: parse_characteristic: handle 0x0012 uuid 2b3a properties 0x02
00> [00:00:42.318,420] <dbg> bt_gatt: gatt_read_type: start_handle 0x0013 end_handle 0xffff
00> [00:00:42.366,180] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.366,210] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.416,046] <dbg> bt_gatt: gatt_read_type_rsp: err 0x00
00> [00:00:42.416,320] <dbg> bt_gatt: parse_characteristic: handle 0x0015 uuid be263815-3ff0-4eb9-144d-49831333dcd4 properties 0x3e
00> [00:00:42.416,351] <dbg> bt_gatt: gatt_read_type: start_handle 0x0016 end_handle 0xffff
00> [00:00:42.466,033] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.466,247] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
00> [00:00:42.515,777] <dbg> bt_gatt: gatt_read_type_rsp: err 0x0e
00> [00:00:42.515,808] <err> bt_bap_unicast_client: Unable to find sink PAC
00> Discover sinks completed without finding any sink ASEs
00> [00:00:42.515,869] <dbg> bt_gatt: bt_gatt_disconnected: conn 0x200026d0
00> [00:00:42.515,899] <dbg> bt_bap_unicast_client: unicast_client_disconnected: conn 0x200026d0 reason 0x13
00> [00:00:42.515,930] <dbg> bt_bap_unicast_client: unicast_client_ep_reset: conn 0x200026d0
00> [00:00:42.515,930] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20002ce8
00> [00:00:42.516,052] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20002ce8 handle 0x0000 id 0x00 dir Unknown state idle -> idle
00> [00:00:42.516,113] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20002dd0
00> [00:00:42.516,204] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20002dd0 handle 0x0000 id 0x00 dir Unknown state idle -> idle
00> [00:00:42.516,235] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20002eb8
00> [00:00:42.516,357] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20002eb8 handle 0x0000 id 0x00 dir Unknown state idle -> idle
00> [00:00:42.516,387] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20002fa0
00> [00:00:42.516,510] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20002fa0 handle 0x0000 id 0x00 dir Unknown state idle -> idle
00> Disconnected: C4:C9:6B:BE:8C:F7 (random) (reason 0x13)
00> Sinks discovered
00> Discovering sources
00> Failed to discover sources: -128

I could able to connect via nrf connect and view multiple uuid's related to LE Audio, refer below long screenshot.

Kindly guide me through this.
Thanks.

Parents
  • Hi, 

    What NCS version are you using? Could you try the latest version?

    Regards,
    Amanda H.

  • The previous logs are tested with SDK version 2.6.0, Tried switching to the latest version 3.0.2. After the update, the scanning issue was resolved without the additional hci_ipc.conf file, and scanning now works correctly. However, the same issue persists while reading characteristics after connection. Below is the latest log for reference.

    Connected
    Discovering sinks
    [00:00:48.217,437] <dbg> bt_gatt: gatt_read_type: start_handle 0x0001 end_handle 0xffff
    [00:00:48.219,696] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.219,726] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.288,543] <dbg> bt_gatt: gatt_read_type_rsp: err 0
    [00:00:48.288,604] <dbg> bt_gatt: parse_characteristic: handle 0x0002 uuid 2a00 properties 0x02
    [00:00:48.288,635] <dbg> bt_gatt: parse_characteristic: handle 0x0004 uuid 2a01 properties 0x02
    [00:00:48.288,696] <dbg> bt_gatt: parse_characteristic: handle 0x0006 uuid 2a04 properties 0x02
    [00:00:48.288,757] <dbg> bt_gatt: parse_characteristic: handle 0x0008 uuid 2aa6 properties 0x02
    [00:00:48.288,818] <dbg> bt_gatt: parse_characteristic: handle 0x000d uuid 2a05 properties 0x20
    [00:00:48.288,879] <dbg> bt_gatt: parse_characteristic: handle 0x0010 uuid 2b29 properties 0x0a
    [00:00:48.288,940] <dbg> bt_gatt: parse_characteristic: handle 0x0012 uuid 2b3a properties 0x02
    [00:00:48.288,940] <dbg> bt_gatt: gatt_read_type: start_handle 0x0013 end_handle 0xffff
    [00:00:48.289,276] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.289,306] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.427,398] <dbg> bt_gatt: gatt_read_type_rsp: err 0
    [00:00:48.427,551] <dbg> bt_gatt: parse_characteristic: handle 0x0015 uuid be263815-3ff0-4eb9-144d-49831333dcd4 properties 0x3e
    [00:00:48.427,581] <dbg> bt_gatt: gatt_read_type: start_handle 0x0016 end_handle 0xffff
    [00:00:48.428,253] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.428,283] <dbg> bt_gatt: bt_gatt_attr_read: handle 0x0000 offset 0 length 2
    [00:00:48.497,436] <dbg> bt_gatt: gatt_read_type_rsp: err -104
    [00:00:48.497,467] <dbg> bt_bap_unicast_client: unicast_client_pac_discover_cb: Unable to find sink PAC
    Discover sinks completed without finding any sink ASEs
    [00:00:48.497,528] <dbg> bt_gatt: bt_gatt_disconnected: conn 0x200045d8
    [00:00:48.497,558] <dbg> bt_bap_unicast_client: unicast_client_disconnected: conn 0x200045d8 reason 0x13
    [00:00:48.497,589] <dbg> bt_bap_unicast_client: unicast_client_ep_reset: conn 0x200045d8
    [00:00:48.497,589] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20004d24
    [00:00:48.497,680] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20004d24 handle 0x0000 id 0x00 dir Unknown state idle -> idle
    [00:00:48.497,711] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20004e0c
    [00:00:48.497,802] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20004e0c handle 0x0000 id 0x00 dir Unknown state idle -> idle
    [00:00:48.497,833] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20004ef4
    [00:00:48.497,924] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20004ef4 handle 0x0000 id 0x00 dir Unknown state idle -> idle
    [00:00:48.497,955] <dbg> bt_bap_unicast_client: unicast_client_reset: ep 0x20004fdc
    [00:00:48.498,046] <dbg> bt_bap_unicast_client: unicast_client_ep_set_status: ep 0x20004fdc handle 0x0000 id 0x00 dir Unknown state idle -> idle
    Disconnected: C8:FB:0B:CA:04:90 (random), reason 0x13 
    Sinks discovered
    Discovering sources
    Failed to discover sources: -128

    instead of err:0xe , now err:-104.

    am i missing any configuration?

  • Hi, 

    As we know, the Sony Inzone buds need the central to support TMAP, otherwise the stream won't be able to set up properly.

    For Zephyr examples, you could try: 

    https://github.com/zephyrproject-rtos/zephyr/tree/main/samples/bluetooth/tmap_central

    If it still cannot work, please contact Zephyr community for further support regarding their samples.

    -Amanda H.

  • Thank you for your support, i will try the suggested TMAP sample of zephyr.

    I would like to clarify a doubt, I understand that TMAP (Telephony and Media Audio Profile) helps define and expose device roles such as Media Gateway (MG) or Telephony Gateway (TG), and is typically used for media or telephony control discovery.

    However, based on the Bluetooth LE Audio specification, my understanding is that TMAP is an optional higher-level profile, and not strictly required for establishing unicast LC3 audio streams using BAP (Basic Audio Profile), PACS, and ASEs.

    Could you please confirm whether:

    1. TMAP is mandatory to connect and stream audio to Sony Inzone Buds, or

    2. If it is required only because Sony’s implementation expects TMAP roles before exposing PACs and ASEs?

    I'm trying to clarify whether TMAP is spec-required, or just implementation-required in this case.

    Appreciate your clarification on this.

    Thanks.

Reply
  • Thank you for your support, i will try the suggested TMAP sample of zephyr.

    I would like to clarify a doubt, I understand that TMAP (Telephony and Media Audio Profile) helps define and expose device roles such as Media Gateway (MG) or Telephony Gateway (TG), and is typically used for media or telephony control discovery.

    However, based on the Bluetooth LE Audio specification, my understanding is that TMAP is an optional higher-level profile, and not strictly required for establishing unicast LC3 audio streams using BAP (Basic Audio Profile), PACS, and ASEs.

    Could you please confirm whether:

    1. TMAP is mandatory to connect and stream audio to Sony Inzone Buds, or

    2. If it is required only because Sony’s implementation expects TMAP roles before exposing PACs and ASEs?

    I'm trying to clarify whether TMAP is spec-required, or just implementation-required in this case.

    Appreciate your clarification on this.

    Thanks.

Children
No Data
Related