nRF5340 audio dk failure to maintain connection after updating Galaxy Buds2 Pro software

I was working with the nRF5340 audio dk gateway application to connect to my Samsung Galaxy Buds2 Pro ear buds. I was able to make a cis connection and stream data bidirectionally.

Then I updated the software on the Buds2 to RS10XXUDAWF4 and now I cannot stream data between the ear buds and the gateway. I see errors in the log that seem significant: "Unable to find ASE Control Point" then "No sinks found, Disconnected." Does anyone know what that means or what changed on the new Buds2 Pro software?

  • Thanks for responding. I'm getting back to this problem now. I'm using nRF Connect SDK 2.4.2. The controller version is 3349 and my hardware is 1.0.0. I'm using the standard nrf5340_audio application with the following additions at the end of prj.conf:

    CONFIG_AUDIO_SOURCE_I2S=y
    CONFIG_BLE_ACL_CONN_INTERVAL=36
    CONFIG_BT_AUDIO_PRESENTATION_DELAY_US=40000
    CONFIG_BT_AUDIO_MAX_TRANSPORT_LATENCY_MS=100
    # CONFIG_BT_DEVICE_NAME="EarFun Air Pro 3"
    CONFIG_BT_DEVICE_NAME="Galaxy Buds2 Pro"
    CONFIG_BT_LOG_SNIFFER_INFO=y
    CONFIG_BT_BONDABLE=n
    CONFIG_STREAM_BIDIRECTIONAL=y
    I have fiddled with some of the parameters above but nothing I've tried works better than these values.
    Here is the RTT log. While collecting the log I booted the dk, connected the ear buds then listened to the choppy audio, periodically pausing and unpausing the audio by tapping the ear buds.
    00> rtt:~$ *** Booting Zephyr OS build v3.3.99-ncs1-1 ***
    00> rtt:~$ GW [00:00:00.354,156] <inf> fw_info:
    00> nRF5340 Audio nRF5340 Audio DK cpuapp
    00> NCS base version: 2.4.2
    00> Cmake run : Tue Oct 17 01:25:35 2023
    00> rtt:~$ GW [00:00:00.354,156] <inf> fw_info: ------- DEBUG BUILD -------
    00> rtt:~$ GW [00:00:00.354,187] <inf> fw_info: Compiled for GATEWAY device
    00> rtt:~$ GW [00:00:00.364,807] <inf> board_version: Compatible board/HW version found: 1.0.0
    00> rtt:~$ GW [00:00:00.402,221] <wrn> bt_hci_core: Controller to host flow control not supported
    00> rtt:~$ GW [00:00:00.405,334] <inf> bt_hci_core: No ID address. App must call settings_load()
    00> rtt:~$ GW [00:00:00.405,395] <inf> ble: MAC: 00:00:00:00:00:00 (public)
    00> rtt:~$ GW [00:00:00.405,975] <inf> ble: Controller version: 3349
    00> rtt:~$ GW [00:00:00.408,081] <inf> bt_hci_core: Identity: D8:DC:CB:11:DD:10 (random)
    00> rtt:~$ GW [00:00:00.408,111] <inf> bt_hci_core: IRK: 0x0e2c831c2be4d7fb3d399f94529c06a0
    00> rtt:~$ GW [00:00:00.408,142] <inf> bt_hci_core: HCI: version 5.2 (0x0b) revision 0x0d15, manufacturer 0x07e8
    00> rtt:~$ GW [00:00:00.408,142] <inf> bt_hci_core: LMP: version 5.2 (0x0b) subver 0x0d15
    00> rtt:~$ rtt:~$ GW [00:00:00.526,550] <inf> bt_id: RPA: 53:F3:AA:B2:17:26
    00> rtt:~$ GW [00:00:00.527,313] <inf> cis_gateway: Scanning successfully started
    00> rtt:~$ rtt:~$ GW [00:00:18.105,773] <inf> cis_gateway: Connected: 65:EA:A0:0E:15:D1 (random)
    00> rtt:~$ rtt:~$ GW [00:00:19.419,067] <inf> bt_smp: SC LTK: 0x4860fa59a51d9aa4f96c25e441d0f7ea (No bonding)
    00> rtt:~$ GW [00:00:20.229,431] <inf> cis_gateway: Scanning successfully started
    00> rtt:~$ rtt:~$ GW [00:00:20.633,117] <inf> cis_gateway: Connected: 65:AA:27:14:5C:A2 (random)
    00> rtt:~$ GW [00:00:21.308,868] <wrn> cis_gateway: More than one sink endpoints found, ep idx 0 is used by default
    00> rtt:~$ rtt:~$ GW [00:00:22.028,106] <inf> bt_smp: SC LTK: 0xae0359873bd1582933c6b0199c54efce (No bonding)
    00> rtt:~$ GW [00:00:22.839,965] <inf> cis_gateway: RIGHT sink stream configured
    00> rtt:~$ rtt:~$ GW [00:00:23.438,751] <inf> ble_audio_services: VCS discover finished
    00> rtt:~$ GW [00:00:23.528,137] <inf> cis_gateway: All headsets connected
    00> rtt:~$ rtt:~$ GW [00:00:25.657,958] <wrn> cis_gateway: More than one sink endpoints found, ep idx 0 is used by default
    00> rtt:~$ rtt:~$ GW [00:00:27.609,069] <inf> cis_gateway: LEFT sink stream configured
    00> rtt:~$ GW [00:00:28.387,847] <inf> ble_audio_services: VCS discover finished
    00> rtt:~$ rtt:~$ GW [00:00:28.719,573] <inf> cis_gateway: RIGHT source stream configured
    00> rtt:~$ GW [00:00:28.839,477] <inf> cis_gateway: Enable stream 0x20002fc4
    00> rtt:~$ GW [00:00:28.839,996] <inf> cis_gateway: Enable stream 0x20002da4
    00> rtt:~$ GW [00:00:29.228,942] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:00:29.255,493] <wrn> bt_hci_core: opcode 0x2061 status 0x0c
    00> rtt:~$ GW [00:00:29.649,414] <inf> cis_gateway: Stream 0x20002fc4 started
    00> rtt:~$ rtt:~$ GW [00:00:33.158,660] <inf> cis_gateway: LEFT source stream configured
    00> rtt:~$ GW [00:00:33.338,134] <inf> cis_gateway: Enable stream 0x20002b04
    00> rtt:~$ GW [00:00:33.338,623] <inf> cis_gateway: Enable stream 0x200028e4
    00> rtt:~$ GW [00:00:33.668,060] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:00:33.676,055] <wrn> bt_hci_core: opcode 0x2061 status 0x0c
    00> rtt:~$ GW [00:00:34.028,564] <inf> cis_gateway: Stream 0x20002b04 started
    00> rtt:~$ GW [00:00:34.241,180] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ GW [00:00:34.246,215] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:00:34.248,199] <wrn> audio_datapath: Data received, total underruns: 5006
    00> rtt:~$ GW [00:00:34.346,191] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ rtt:~$ GW [00:00:34.659,332] <wrn> audio_datapath: Data received, total underruns: 5007
    00> rtt:~$ GW [00:00:34.698,364] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:00:34.705,444] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:34.815,429] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:34.955,749] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:34.965,850] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:35.076,110] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:00:41.061,553] <wrn> audio_datapath: In I2S TX underrun condition, total: 10000
    00> rtt:~$ GW [00:00:41.856,109] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 5830000 us)
    00> rtt:~$ GW [00:00:41.856,109] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:41.858,581] <wrn> audio_datapath: Data received, total underruns: 10796
    00> rtt:~$ GW [00:00:41.869,598] <wrn> audio_datapath: Data received, total underruns: 10797
    00> rtt:~$ GW [00:00:41.986,053] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:41.996,429] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:42.105,957] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:42.246,063] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:42.256,256] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:42.348,815] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:00:46.629,730] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:00:46.643,646] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:46.646,118] <wrn> audio_datapath: Data received, total underruns: 8
    00> rtt:~$ GW [00:00:46.667,114] <wrn> audio_datapath: Data received, total underruns: 9
    00> rtt:~$ GW [00:00:46.686,157] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:00:46.687,133] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:00:46.693,725] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:46.718,505] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:00:46.786,956] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:00:47.113,800] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:00:47.123,352] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:47.233,032] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:47.373,382] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:47.383,270] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:47.493,164] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:00:53.920,013] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ GW [00:00:54.353,698] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 5470000 us)
    00> rtt:~$ GW [00:00:54.353,729] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:54.357,025] <wrn> audio_datapath: Data received, total underruns: 5436
    00> rtt:~$ GW [00:00:54.483,551] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:54.493,377] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:54.603,057] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:54.745,330] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:00:59.020,141] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:00:59.035,186] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:59.037,536] <wrn> audio_datapath: Data received, total underruns: 9
    00> rtt:~$ GW [00:00:59.048,919] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:00:59.095,581] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:00:59.096,557] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:00:59.104,949] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:59.196,411] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:00:59.522,247] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:00:59.524,414] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:59.634,582] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:59.774,597] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:59.784,545] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:59.894,622] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:01:05.175,201] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 3910000 us)
    00> rtt:~$ GW [00:01:05.175,231] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:05.178,375] <wrn> audio_datapath: Data received, total underruns: 3877
    00> rtt:~$ GW [00:01:05.304,748] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:05.314,788] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:05.424,865] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:05.564,727] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:05.574,798] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:05.636,260] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:01:09.040,466] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:01:09.056,213] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:09.058,898] <wrn> audio_datapath: Data received, total underruns: 10
    00> rtt:~$ GW [00:01:09.069,274] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:01:09.133,911] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:01:09.134,887] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:01:09.136,322] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:09.234,710] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:01:09.560,577] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:01:09.565,734] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:09.675,750] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:09.815,765] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:09.825,897] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:09.935,699] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:01:17.169,799] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ rtt:~$ GW [00:01:18.596,008] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 6460000 us)
    00> rtt:~$ GW [00:01:18.596,038] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:18.598,846] <wrn> audio_datapath: Data received, total underruns: 6428
    00> rtt:~$ GW [00:01:18.726,104] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:18.736,602] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:18.776,916] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:01:22.960,937] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:01:22.976,867] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:22.979,339] <wrn> audio_datapath: Data received, total underruns: 10
    00> rtt:~$ GW [00:01:22.990,264] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:01:23.051,361] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:01:23.052,337] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:01:23.056,823] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:23.110,229] <wrn> audio_datapath: Data received, total underruns: 11
    00> rtt:~$ GW [00:01:23.152,191] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:01:23.469,055] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:01:23.476,715] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:23.586,242] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:23.726,654] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:23.736,236] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:23.847,045] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:01:31.089,263] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ rtt:~$ GW [00:01:33.476,959] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 7420000 us)
    00> rtt:~$ GW [00:01:33.476,989] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:33.479,339] <wrn> audio_datapath: Data received, total underruns: 7389
    00> rtt:~$ GW [00:01:33.500,366] <wrn> audio_datapath: Data received, total underruns: 7390
    00> rtt:~$ GW [00:01:33.607,391] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:33.616,699] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:33.726,715] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:33.866,546] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:33.876,556] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:33.919,464] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:01:42.070,526] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:01:42.084,777] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:42.087,066] <wrn> audio_datapath: Data received, total underruns: 8
    00> rtt:~$ GW [00:01:42.101,593] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:01:42.108,093] <wrn> audio_datapath: Data received, total underruns: 9
    00> rtt:~$ GW [00:01:42.127,105] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:01:42.128,112] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:01:42.134,490] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:42.227,874] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:01:42.571,685] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:01:42.573,913] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:42.684,722] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:01:42.824,615] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:01:42.833,953] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:01:42.944,274] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:01:50.181,915] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ rtt:~$ GW [00:01:55.182,098] <wrn> audio_datapath: In I2S TX underrun condition, total: 10000
    00> rtt:~$ rtt:~$ GW [00:02:00.182,250] <wrn> audio_datapath: In I2S TX underrun condition, total: 15000
    00> rtt:~$ rtt:~$ GW [00:02:01.358,123] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 16210008 us)
    00> rtt:~$ GW [00:02:01.358,123] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:01.359,313] <wrn> audio_datapath: Data received, total underruns: 16176
    00> rtt:~$ rtt:~$ GW [00:02:05.192,443] <wrn> audio_datapath: In I2S TX underrun condition, total: 20000
    00> rtt:~$ rtt:~$ GW [00:02:10.192,596] <wrn> audio_datapath: In I2S TX underrun condition, total: 25000
    00> rtt:~$ rtt:~$ GW [00:02:15.192,779] <wrn> audio_datapath: In I2S TX underrun condition, total: 30000
    00> rtt:~$ rtt:~$ GW [00:02:20.192,962] <wrn> audio_datapath: In I2S TX underrun condition, total: 35000
    00> rtt:~$ rtt:~$ GW [00:02:22.725,524] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 21369992 us)
    00> rtt:~$ GW [00:02:22.729,034] <wrn> audio_datapath: Data received, total underruns: 37535
    00> rtt:~$ GW [00:02:22.845,367] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:22.855,468] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:22.965,576] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:23.105,560] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:23.115,295] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:23.215,850] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:02:28.303,192] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:02:28.320,220] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:28.322,601] <wrn> audio_datapath: Data received, total underruns: 11
    00> rtt:~$ GW [00:02:28.331,970] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:02:28.367,614] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:02:28.368,621] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:02:28.370,178] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:28.403,533] <wrn> audio_datapath: Data received, total underruns: 12
    00> rtt:~$ GW [00:02:28.468,444] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:02:28.802,276] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:02:28.809,967] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:28.919,708] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:29.059,844] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:29.069,427] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:29.179,656] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:02:36.430,480] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ rtt:~$ GW [00:02:41.430,664] <wrn> audio_datapath: In I2S TX underrun condition, total: 10000
    00> rtt:~$ GW [00:02:42.170,135] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 10770000 us)
    00> rtt:~$ GW [00:02:42.170,166] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:42.172,698] <wrn> audio_datapath: Data received, total underruns: 10741
    00> rtt:~$ GW [00:02:42.183,685] <wrn> audio_datapath: Data received, total underruns: 10742
    00> rtt:~$ GW [00:02:42.300,262] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:42.310,333] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:42.420,349] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:42.560,180] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:42.570,190] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:42.592,681] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ rtt:~$ GW [00:02:45.073,730] <inf> cis_gateway: Stream 0x20002da4 started
    00> rtt:~$ GW [00:02:45.088,684] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:45.091,156] <wrn> audio_datapath: Data received, total underruns: 9
    00> rtt:~$ GW [00:02:45.091,186] <inf> audio_datapath: Drft comp state: INIT
    00> rtt:~$ GW [00:02:45.092,163] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:02:45.098,785] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:45.102,539] <inf> cis_gateway: Stream 0x200028e4 started
    00> rtt:~$ GW [00:02:45.112,121] <wrn> audio_datapath: Data received, total underruns: 10
    00> rtt:~$ GW [00:02:45.191,986] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:02:45.517,822] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:02:45.518,157] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:45.628,204] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:02:45.767,913] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:02:45.777,832] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:02:45.888,122] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ GW [00:02:48.187,988] <inf> audio_datapath: sdu_ref_us not from consecutive frames (diff: 20000 us)
    00> rtt:~$ GW [00:02:48.188,018] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ rtt:~$ GW [00:02:53.213,043] <wrn> audio_datapath: In I2S TX underrun condition, total: 5000
    00> rtt:~$ rtt:~$ GW [00:02:58.213,226] <wrn> audio_datapath: In I2S TX underrun condition, total: 10000
  • After posting my results above, I briefly tried using SDK version 2.5.0 of the app. It didn't work as well as 2.4.2. I could only get audio from one ear bud and the log was spewing "Data size mismatch" warning messages.

    00> rtt:~$ *** Booting nRF Connect SDK v2.5.0 ***
    00> rtt:~$ GW [00:00:00.393,951] <inf> fw_info:
    00> nRF5340 Audio nRF5340 Audio DK cpuapp
    00> NCS base version: 2.5.0
    00> Cmake run : Sun Oct 29 12:24:25 2023
    00> rtt:~$ GW [00:00:00.393,951] <inf> fw_info: ------- DEBUG BUILD -------
    00> rtt:~$ GW [00:00:00.393,951] <inf> fw_info: Compiled for GATEWAY device
    00> rtt:~$ GW [00:00:00.404,602] <inf> board_version: Compatible board/HW version found: 1.0.0
    00> rtt:~$ GW [00:00:00.447,448] <inf> bt_mgmt_ctlr_cfg: Controller: LL_ACS_NRF53. Version: 3393
    00> rtt:~$ GW [00:00:00.449,371] <inf> bt_mgmt: Local identity addr: FD:31:C4:B9:84:DD (random)
    00> rtt:~$ GW [00:00:00.575,500] <inf> bt_mgmt_scan: Local addr: 6E:BA:8B:D8:56:5D (random). May time out. Updates not printed
    00> rtt:~$ GW [00:00:00.575,500] <inf> bt_mgmt_scan: Scanning successfully started
    00> rtt:~$ rtt:~$ GW [00:00:20.460,235] <inf> bt_mgmt_scan: Creating connection to device: 73:AA:4E:4F:0C:00 (random)
    00> rtt:~$ GW [00:00:20.643,005] <inf> bt_mgmt: Connected: 73:AA:4E:4F:0C:00 (random)
    00> rtt:~$ GW [00:00:20.651,031] <inf> bt_mgmt_scan: Local addr: 62:75:F4:4C:57:6B (random). May time out. Updates not printed
    00> rtt:~$ GW [00:00:20.651,062] <inf> bt_mgmt_scan: Scanning successfully started
    00> rtt:~$ GW [00:00:20.651,275] <inf> streamctrl_unicast_client: Device connected
    00> rtt:~$ GW [00:00:20.665,679] <inf> bt_mgmt_scan: Creating connection to device: 42:05:70:44:DA:1F (random)
    00> rtt:~$ GW [00:00:20.862,670] <inf> bt_mgmt: Connected: 42:05:70:44:DA:1F (random)
    00> rtt:~$ GW [00:00:20.862,884] <inf> streamctrl_unicast_client: Device connected
    00> rtt:~$ rtt:~$ GW [00:00:22.053,833] <inf> bt_smp: SC LTK: 0x2a38cdb73d019dca2eed913985263a75 (No bonding)
    00> rtt:~$ GW [00:00:22.054,779] <inf> streamctrl_unicast_client: Security changed
    00> rtt:~$ GW [00:00:22.121,337] <inf> bt_smp: SC LTK: 0xfdd854bafe8221a6dc87cd3fae543603 (No bonding)
    00> rtt:~$ GW [00:00:22.122,467] <inf> streamctrl_unicast_client: Security changed
    00> rtt:~$ GW [00:00:22.444,091] <inf> bt_rend_vol: VCS discover finished
    00> rtt:~$ GW [00:00:22.541,595] <inf> bt_rend_vol: VCS discover finished
    00> rtt:~$ rtt:~$ GW [00:00:26.493,835] <wrn> unicast_client: More than one sink endpoint found, idx 0 is used by default
    00> rtt:~$ GW [00:00:26.621,368] <wrn> unicast_client: More than one sink endpoint found, idx 0 is used by default
    00> rtt:~$ rtt:~$ GW [00:00:32.855,316] <inf> unicast_client: RIGHT sink stream configured
    00> rtt:~$ GW [00:00:32.884,735] <inf> unicast_client: RIGHT source stream configured
    00> rtt:~$ GW [00:00:32.974,670] <inf> unicast_client: Enable stream 0x20002e9c
    00> rtt:~$ GW [00:00:32.975,189] <inf> unicast_client: Enable stream 0x20002da8
    00> rtt:~$ GW [00:00:33.102,264] <inf> unicast_client: LEFT sink stream configured
    00> rtt:~$ GW [00:00:33.132,263] <inf> unicast_client: LEFT source stream configured
    00> rtt:~$ GW [00:00:33.222,198] <inf> unicast_client: Enable stream 0x20002c2c
    00> rtt:~$ GW [00:00:33.222,686] <inf> unicast_client: Enable stream 0x20002b38
    00> rtt:~$ GW [00:00:33.334,167] <inf> unicast_client: Stream 0x20002da8 started
    00> rtt:~$ GW [00:00:33.364,624] <inf> unicast_client: Stream 0x20002e9c started
    00> rtt:~$ GW [00:00:33.366,699] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.376,708] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.386,688] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.396,697] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.406,707] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.416,687] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.426,696] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ rtt:~$ --- 13 messages dropped ---
    00> GW [00:00:33.436,706] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.446,716] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.466,705] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.476,715] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.486,694] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.496,704] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.506,713] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.516,693] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.526,702] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.566,711] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.616,699] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.676,727] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.686,706] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.696,716] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.701,690] <inf> unicast_client: Stream 0x20002c2c started
    00> rtt:~$ GW [00:00:33.703,216] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.706,726] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.713,226] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.716,705] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.723,236] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ rtt:~$ GW [00:00:33.726,715] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.734,405] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.736,724] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.743,225] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.746,704] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.753,234] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.756,713] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.763,244] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.766,723] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.773,223] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.776,733] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.783,233] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.786,712] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.793,243] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.796,722] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.803,222] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.806,732] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.813,232] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.816,711] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.823,242] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.826,721] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ rtt:~$ GW [00:00:33.833,251] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.836,730] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.843,231] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.846,740] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.854,400] <inf> audio_datapath: Drft comp state: CALIB
    00> rtt:~$ GW [00:00:33.856,719] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:33.862,365] <wrn> audio_datapath: Data received, total underruns: 515
    00> rtt:~$ GW [00:00:33.954,376] <inf> audio_datapath: Drft comp state: OFFSET
    00> rtt:~$ GW [00:00:34.375,701] <inf> audio_datapath: Drft comp state: LOCKED
    00> rtt:~$ GW [00:00:34.383,850] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:34.493,835] <inf> audio_datapath: Pres comp state: WAIT
    00> rtt:~$ GW [00:00:34.633,850] <inf> audio_datapath: Pres comp state: INIT
    00> rtt:~$ GW [00:00:34.643,859] <inf> audio_datapath: Pres comp state: MEAS
    00> rtt:~$ GW [00:00:34.753,845] <inf> audio_datapath: Pres comp state: LOCKED
    00> rtt:~$ rtt:~$ --- 26 messages dropped ---
    00> GW [00:00:35.796,813] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.806,823] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.816,833] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.826,812] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.836,822] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.843,322] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.846,832] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.853,332] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.856,811] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.863,342] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.866,821] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.873,321] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.876,831] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.883,331] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.886,840] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.893,341] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.913,330] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.947,967] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:35.976,837] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.006,835] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.033,325] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ rtt:~$ --- 84 messages dropped ---
    00> GW [00:00:36.063,354] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.096,832] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.116,851] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.146,850] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.166,839] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.193,359] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.216,857] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.243,347] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.266,845] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.286,865] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.316,864] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.343,353] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.363,342] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.386,871] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.413,360] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.436,859] <wrn> le_audio_rx: Data size mismatch
    00> rtt:~$ GW [00:00:36.456,878] <wrn> le_audio_rx: Data size mismatch

  • Hi slswks, I noticed you're using an old controller version.  How do you get on with 3393? https://github.com/nrfconnect/sdk-nrf/tree/main/lib/bin/bt_ll_acs_nrf53/bin

    (see a few other posts linked to the buds2 where the Nordic team have suggested this)

  • Hi Ed

    What if you disable the bidirectional mode, are you still having issues? 

    One of my colleagues did some testing with the Buds2 Pro and can not get it to work reliably in bidirectional mode either. In terms of narrowing down the issue it would be good to know if you see the same behavior. 

    Is bidirectional support a requirement for you? 

    Best regards
    Torbjørn

  • ClinicalAudio, When I mentioned that I tried SDK version 2.5.0 I also upgraded the controller to 3393. You can see the results in the log above. It did not work as well as 2.4.2/3349.

Related