I use custom carrier board, AGX ORIN rel36.4.
I have a similar issue with the link below.
I’m using ABKO’s SP1 speaker model for audio testing in GUI.
In rel35.5.0, I didn’t modify any DT files related to audio codecs. It worked well and the sound came out of the speaker.
However, In rel36.4, I also didn’t modify any DT files related to the audio codec, but the speaker doesn’t make any sound.
I only deleted the PD controller code from the “tegra234-p3737-0000+p3701-0000.dts” DT file because there is no PD controller on the custom carrier board.
All other DT files are the same as the official BSP source.
Are there any changes related to audio codecs while updating from rel35.5.0 to rel36.4?
** edit
I tried to flash the official rel36.4 BSP to the AGX ORIN developer kit and tested it with the same speaker, but the speaker still doesn’t make any sound.
flash the rel35.5.0 BSP to the AGX ORIN DEVKIT, worked.
Hi kcs,
Thanks for your inputs. Just to cross check if data is reaching codec. Attaching the commands required to test RT5640 internal loopback data test.
Can you run the commands in the attached script to pull out the “cap.wav” from target
to analyze if you could hear sine tone from it.
I upload the “input.wav” and “cap.wav” by running the commands in the text file you attached. script_output.zip (980.3 KB)
I executed the “cap.wav” file, but I didn’t hear anything from the speaker.
And when executing the command of the attached script, most of the error messages the were printed. (picture below)
Except for "amixer -qc 1 cset name=“I2S1 Mux” “ADMAIF1"” and "amixer -qc 1 cset name=“ADMAIF1 Mux” “I2S1"” commands.
Hi kcs,
The captured file is silence. It is expected as the snap shot from your terminal shows codec controls control set errors. Suspecting codec is not binded properly on your board.
Please provide the below logs from target.
Attach the files (DT and driver) if any change done on your side.
The code you mentioned already exists in the “nv-public/overlay/tegra234-p3737-0000+p3701-0000-dynamic.dts” DT file. Should it be added to another DT file as well?
** In “nv-public/nv-soc/tegra234-soc-audio-dai-links.dtsi” file, the code has “DUMMY” specified. Is this normal? From what I understand, “DUMMY” has a meaning similar to “DISABLE.”
Hi kcs,
Yes, “nv-public/overlay/tegra234-p3737-0000+p3701-0000-dynamic.dts” has this change. Seems this override is not applied as your control dump log doesn’t have any codec related controls. Can you cross or you can directly use the audio related change in this DT in main dts file.
However, when testing the speaker using the command speaker-test -c 2, it behaves abnormally.
The speaker test repeat every 10 seconds normally, but after adding code directly to the tegra234-p3737-0000+p3701-xxxx-nv-common.dtsi, the test repeats every 0.2 seconds, and no noise is heard from the speakers.
Hi kcs,
This seems DAPM path is not set properly. I believe it should be set by default by alsa conf. Just for your offline try give a try with below commands.
amixer -qc APE cset name=“CVB-RT DAC MIXL INF1 Switch” “on”
amixer -qc APE cset name=“CVB-RT DAC MIXR INF1 Switch” “on”
amixer -qc APE cset name=“CVB-RT Stereo DAC MIXL DAC L1 Switch” “on”
amixer -qc APE cset name=“CVB-RT Stereo DAC MIXR DAC R1 Switch” “on”
amixer -qc APE cset name=“CVB-RT HPO MIX DAC1 Switch” “on”
amixer -qc APE cset name=“CVB-RT HP L Playback Switch” “on”
amixer -qc APE cset name=“CVB-RT HP R Playback Switch” “on”
amixer -qc APE cset name=“CVB-RT HP Playback Volume” “31,31”
amixer -qc APE cset name=“CVB-RT DAC1 Playback Volume” “100,100”
amixer -qc APE cset name=“CVB-RT RECMIXL BST1 Switch” “on”
amixer -qc APE cset name=“CVB-RT RECMIXR BST1 Switch” “on”
amixer -qc APE cset name=“CVB-RT RECMIXL OUT MIXL Switch” “on”
amixer -qc APE cset name=“CVB-RT RECMIXR OUT MIXR Switch” “on”
amixer -qc APE cset name=“CVB-RT OUT MIXL DAC L1 Switch” “on”
amixer -qc APE cset name=“CVB-RT OUT MIXR DAC R1 Switch” “on”
amixer -qc APE cset name=“CVB-RT Stereo ADC1 Mux” “ADC”
amixer -qc APE cset name=“CVB-RT Stereo ADC MIXL ADC1 Switch” “on”
amixer -qc APE cset name=“CVB-RT Stereo ADC MIXR ADC1 Switch” “on”
amixer -c APE cset name=“CVB-RT ADC Boost Gain” 2
amixer -c APE cset name=“CVB-RT IN1 Boost” 2
amixer -c APE cset name=“CVB-RT IN2 Boost” 2
amixer -qc 1 cset name=“I2S1 Mux” “ADMAIF1”
amixer -qc 1 cset name=“ADMAIF1 Mux” “I2S1”
I typed the commands in the attached commands.txt file.
I confirmed that no error messages appear, unlike before.
However, even after entering all the commands, sound still does not come out of my speaker.
Just to verify, I tested with a properly functioning rel35.5.0 of the AGX Orin module, and the speaker produced sound without any issues.
I searched information about “DAPM path” and “alsa conf” in the forum, but I couldn’t find a suitable answer. Where can I find the files or code to modify the “DAPM path”?
Also, where can I find the configuration file named “alsa conf”?
After adding the “widget” and “routing” entries in sound node of the main dts file, the speaker is now producing sound correctly even in the rel36 version!
Thanks to your support, I was able to resolve the issue.
I really appreciate your kind and detailed assistance.