我有一个AV接收器,我想打开从备用使用cec-客户端的覆盆子皮。物理所有设置如下:
RPI --HDMI-> AV接收机
电视<--ARC_HDMI-> AV接收机
使用echo "scan" | cec-client -s -d 1
扫描我的HDMI设备,我得到以下输出:
opening a connection to the CEC adapter...
requesting CEC bus information ...
CEC bus information
===================
device #0: TV
address: 0.0.0.0
active source: no
vendor: Samsung
osd string: TV
CEC version: unknown
power status: standby
language: ger
device #1: Recorder 1
address: 1.0.0.0
active source: no
vendor: Pulse Eight
osd string: CECTester
CEC version: 1.4
power status: on
language: eng
device #5: Audio
address: 3.0.0.0
active source: no
vendor: Harman/Kardon
osd string: H/K AVR
CEC version: 1.4
power status: standby
language: ???
如您所见,我的AV接收器有设备号#5和物理地址3.0.0.0
我已经尝试过使用中大-奥-马季奇作为参考,如下所示:
echo "on 3.0.0.0" | cec-client -s -d 0
echo "on 5" | cec-client -s -d 0
echo "tx 15:04" | cec-client -s -d 0
但这两个命令都没有打开AV接收器。同样的命令解决电视工作时没有任何问题。
经过大量的尝试和错误,我发现重新启动我的覆盆子Pi实际上打开了接收器!很好,至少有些东西。进一步研究发现,在/boot/config.txt
中,可以添加/设置hdmi_ignore_cec_init=1
参数,以指示Raspberry在重新启动时是否应该发送活动源消息。取决于这是设置为0还是1,当我启动/重新启动我的RPI时,我的AV接收器打开。
现在,当我想打开AV接收器时,我显然不想重新启动我的RPI。因此,我的问题是,Raspberry在引导时发送的特定于的cec消息是什么,这样我就可以用类似于echo "tx <specific-cec-message>" | cec-client -s -d 1
的东西来与cec客户机复制它。
我已经尝试过用cec-client -f cec.log
在引导时监视cec通信量,但是监视启动太晚了,并且在启动时错过了来自RPI的发送信号。
找到这个最简单的方法可能是有第二个Raspberry Pi监控总线,而另一个启动,但我只有一个RPI,所以我不能自己测试。
有没有人有主意,或者至少有我的消息来源?非常感谢你抽出时间来!
如果这很重要的话,这里还有具体的设备模型。
电视:三星ue55f8090
AVR: Harman Kardon AVR 156
RPI:树莓Pi 4型B Rev 1.4
RPI_OS: Raspbian /Linux 10 (buster) armv
RPI_KERNEL:内核: 5.10.103-v7l+
发布于 2022-07-20 16:41:10
经过更多的挖掘,我终于找到了解决我的具体问题的办法。
对于我的设置,正如我的问题中所描述的,人们可以通过广播带有电视物理地址的活动源消息来打开Harman 156。
echo "tx 1f:82:00:00" | cec-client -s -d 1
CEC框架的细目:
1=记录1 (Raspberry Pi)
F=广播
82 =活跃源
00 = ID (电视)
我希望这有助于任何人在未来的绊脚石!
https://stackoverflow.com/questions/73004517
复制相似问题