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