我正在尝试让Coral Dev Board通过HDMI ARC从我的电视上接收音频。我很确定我在电视端启用了ARC,但我认为在Coral Linux端缺少一些东西。有人能帮我把它修好吗?还有没有人把这个弄好了?
我修改了phanbell设备树以启用spdif2和sound-hdmi-arc.
sound-hdmi-arc {
compatible = "fsl,imx-audio-spdif";
model = "imx-hdmi-arc";
spdif-controller = <&spdif2>;
spdif-in;
};
&spdif2 {
assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
assigned-clock-rates = <24576000>;
status = "okay";
};在Linux中出现了arc设备,但当我尝试从它进行记录时,收到了错误消息。
arecord -D hw:CARD=imxhdmiarc,DEV=0 -r 48000 -f S24_LE -c 2 -d 3 ~/arc.wav
Recording WAVE '/home/mendel/arc.wav' : Signed 24 bit Little Endian, Rate 48000 Hz, Stereo
arecord: pcm_read:2145: read error: Input/output error我得到相同的错误信息,如果我连接珊瑚开发板,所以一些音频测试设备。如果我将音频设备设置为禁用ARC链接协商并强制打开音频,则该命令会起作用。这让我相信在Coral Linux方面缺少某种类型的链接协商。
如果有人能帮上忙,请告诉我。谢谢。
发布于 2021-07-25 16:01:32
我想通了。
# install the cec-ctl and read-edid utilities
sudo apt install cec-utils read-edid
# find our physical address reported by the TV
read-edid /devices/platform/display-subsystem/drm/card0/card0-HDMI-A-1/edid | grep physical
# set the logical address
cec-clt --audio
# set the physical address
cec-ctl -p 1.0.0.0
# send the command
cec-ctl --to 0 --initiate-archttps://stackoverflow.com/questions/68448955
复制相似问题