I am running the following Nordic sample on nRF5340 development kits : https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/applications/nrf5340_audio/README.html
The USB-audio mode for gateway works perfectly. Hence the gateway is connected to a laptop with a USB cable to get the audio. The sink boards receive and play the streamed audio.
However, when using the I2S audio mode by enabling CONFIG_AUDIO_SOURCE_I2S=y in the proj.conf , the result is strange.
It was working fine at first when using an MP3 player connected to the line-in on the gateway and with a speaker connected to each board. Now it doesn't. Sometimes only the left board will play and not the right board. Sometimes nothing at all can be heard from the boards. Sometimes the audio output is choppy and flickery. It is inconsistent. I do need to reset all the boards at times to get any result.
Are there known problems with using this mode?
Below is a capture of the terminal output from both the left and right boards.
Right board:
*** Booting Zephyr OS build v3.2.99-ncs1 *** HR [00:00:00.256,835] <inf> fw_info: nRF5340 Audio nRF5340 Audio DK cpuapp NCS base version: 2.2.0 Cmake run : Fri Jan 20 16:47:24 2023 HR [00:00:00.256,835] <inf> fw_info: ------- DEBUG BUILD ------- HR [00:00:00.256,835] <inf> fw_info: HEADSET right device HR [00:00:00.267,456] <inf> board_version: Compatible board/HW version found: 1.0.0 HR [00:00:02.315,216] <wrn> bt_hci_core: Controller to host flow control not supported HR [00:00:02.318,237] <inf> bt_hci_core: No ID address. App must call settings_load() HR [00:00:02.318,298] <inf> ble: MAC: 00:00:00:00:00:00 (public) HR [00:00:02.318,847] <inf> ble: Controller version: 3310 HR [00:00:02.444,000] <inf> cis_headset: Set direct advertising to E7:0D:01:55:C6:CA (random) HR [00:00:02.444,610] <inf> cis_headset: Advertising successfully started HR [00:00:04.016,876] <inf> cis_headset: Connected: E7:0D:01:55:C6:CA (random) HR [00:00:08.416,717] <inf> cis_headset: Codec config for LC3: HR [00:00:08.416,748] <inf> cis_headset: Frequency: 48000 Hz HR [00:00:08.416,748] <inf> cis_headset: Frame Duration: 10000 us HR [00:00:08.416,778] <inf> cis_headset: Channel allocation: 0x1 HR [00:00:08.416,778] <inf> cis_headset: Octets per frame: 120 (96000 kbps) HR [00:00:08.416,778] <inf> cis_headset: Frames per SDU: 1 HR [00:00:08.421,020] <inf> cis_headset: Presentation delay 10000 us is set by initiator RESET GATEWAY BOARD <inf> cis_headset: Stream stopped HR [00:06:57.257,751] <inf> cis_headset: Disconnected: E7:0D:01:55:C6:CA (random) (reason 0x08) HR [00:06:57.258,361] <inf> cis_headset: Set direct advertising to E7:0D:01:55:C6:CA (random) HR [00:06:57.258,728] <inf> cis_headset: Advertising successfully started HR [00:06:57.262,939] <inf> audio_datapath: Pres comp state: INIT HR [00:06:58.003,936] <inf> cis_headset: Connected: E7:0D:01:55:C6:CA (random) HR [00:06:58.403,533] <err> ble_audio_services: Discovery of MCS failed (14) HR [00:06:58.606,445] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:58.704,010] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:58.903,533] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:59.004,058] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:59.204,040] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:59.304,016] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:59.603,546] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:06:59.803,558] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:07:00.103,576] <wrn> ble_audio_services: Failed to update media state: -22 HR [00:07:02.304,595] <inf> cis_headset: Codec config for LC3: HR [00:07:02.304,595] <inf> cis_headset: Frequency: 48000 Hz HR [00:07:02.304,626] <inf> cis_headset: Frame Duration: 10000 us HR [00:07:02.304,626] <inf> cis_headset: Channel allocation: 0x1 HR [00:07:02.304,626] <inf> cis_headset: Octets per frame: 120 (96000 kbps) HR [00:07:02.304,656] <inf> cis_headset: Frames per SDU: 1 HR [00:07:02.407,135] <inf> cis_headset: Presentation delay 10000 us is set by initiator HR [00:07:02.709,777] <wrn> audio_datapath: I2S RX continuing stream HR [00:07:02.717,773] <wrn> audio_datapath: I2S RX overrun. Single msg HR [00:07:02.731,781] <inf> audio_datapath: Drft comp state: INIT HR [00:07:04.336,273] <inf> audio_datapath: Drft comp state: CALIB HR [00:07:04.338,226] <wrn> audio_datapath: Data received, total underruns: 1625 HR [00:07:04.436,401] <inf> audio_datapath: Drft comp state: OFFSET HR [00:07:04.789,093] <wrn> audio_datapath: Data received, total underruns: 1626 HR [00:07:04.823,120] <inf> audio_datapath: Drft comp state: LOCKED HR [00:07:04.825,744] <inf> audio_datapath: Pres comp state: MEAS HR [00:07:04.935,760] <inf> audio_datapath: Pres comp state: WAIT HR [00:07:05.036,773] <inf> audio_datapath: Pres comp state: INIT HR [00:07:05.045,745] <inf> audio_datapath: Pres comp state: MEAS HR [00:07:05.155,731] <inf> audio_datapath: Pres comp state: LOCKED RESET HEADSET BOARD *** Booting Zephyr OS build v3.2.99-ncs1 *** HR [00:00:00.256,896] <inf> fw_info: nRF5340 Audio nRF5340 Audio DK cpuapp NCS base version: 2.2.0 Cmake run : Fri Jan 20 16:47:24 2023 HR [00:00:00.256,896] <inf> fw_info: ------- DEBUG BUILD ------- HR [00:00:00.256,927] <inf> fw_info: HEADSET right device HR [00:00:00.267,517] <inf> board_version: Compatible board/HW version found: 1.0.0 HR [00:00:02.315,277] <wrn> bt_hci_core: Controller to host flow control not supported HR [00:00:02.318,298] <inf> bt_hci_core: No ID address. App must call settings_load() HR [00:00:02.318,359] <inf> ble: MAC: 00:00:00:00:00:00 (public) HR [00:00:02.318,908] <inf> ble: Controller version: 3310 HR [00:00:02.444,000] <inf> cis_headset: Set direct advertising to E7:0D:01:55:C6:CA (random) HR [00:00:02.444,641] <inf> cis_headset: Advertising successfully started HR [00:00:04.344,757] <inf> cis_headset: Connected: E7:0D:01:55:C6:CA (random) HR [00:00:08.744,567] <inf> cis_headset: Codec config for LC3: HR [00:00:08.744,598] <inf> cis_headset: Frequency: 48000 Hz HR [00:00:08.744,598] <inf> cis_headset: Frame Duration: 10000 us HR [00:00:08.744,628] <inf> cis_headset: Channel allocation: 0x1 HR [00:00:08.744,628] <inf> cis_headset: Octets per frame: 120 (96000 kbps) HR [00:00:08.744,628] <inf> cis_headset: Frames per SDU: 1 HR [00:00:08.748,870] <inf> cis_headset: Presentation delay 10000 us is set by initiator HR [00:00:09.063,568] <wrn> audio_datapath: I2S RX overrun. Single msg HR [00:00:10.757,629] <inf> audio_datapath: Drft comp state: CALIB HR [00:00:10.758,575] <wrn> audio_datapath: Data received, total underruns: 1702 HR [00:00:10.857,604] <inf> audio_datapath: Drft comp state: OFFSET HR [00:00:11.199,981] <wrn> audio_datapath: Data received, total underruns: 1703 HR [00:00:11.305,023] <inf> audio_datapath: Drft comp state: LOCKED HR [00:00:11.306,671] <inf> audio_datapath: Pres comp state: MEAS HR [00:00:11.416,656] <inf> audio_datapath: Pres comp state: WAIT HR [00:00:11.516,662] <inf> audio_datapath: Pres comp state: INIT HR [00:00:11.526,672] <inf> audio_datapath: Pres comp state: MEAS HR [00:00:11.636,688] <inf> audio_datapath: Pres comp state: LOCKED
Left board:
*** Booting Zephyr OS build v3.2.99-ncs1 *** HL [00:00:00.260,009] <inf> fw_info: nRF5340 Audio nRF5340 Audio DK cpuapp NCS base version: 2.2.0 Cmake run : Fri Jan 20 16:21:37 2023 HL [00:00:00.260,009] <inf> fw_info: ------- DEBUG BUILD ------- HL [00:00:00.260,009] <inf> fw_info: HEADSET left device HL [00:00:00.270,629] <inf> board_version: Compatible board/HW version found: 1.0.0 HL [00:00:02.318,511] <wrn> bt_hci_core: Controller to host flow control not supported HL [00:00:02.321,624] <inf> bt_hci_core: No ID address. App must call settings_load() HL [00:00:02.321,685] <inf> ble: MAC: 00:00:00:00:00:00 (public) HL [00:00:02.322,235] <inf> ble: Controller version: 3310 HL [00:00:02.447,296] <inf> cis_headset: Set direct advertising to E1:32:DA:CE:BD:56 (random) HL [00:00:02.447,937] <inf> cis_headset: Advertising successfully started