CEC not working properly

I’m running:

CoreELEC (official): 20.1-Nexus (Amlogic-ng.arm)
      Machine model: Amlogic
     CoreELEC dt-id: g12a_s905x2_4g_1gbit

my setup is a Yamaha AVR, sony TV, and the CoreELEC box.
CEC is only very partially working.
the only thing that’s working with it, is that the AVR is switching to it when I turn it on.
I should note that I was previously running CoreELEC 9.2.5 with a different TV (samsung) and it was working properly (e.g. volume buttons changed AVR volume, waking from screensaver turned on both TV and AVR, etc).
I didn’t use CE for quite some time before I returned to it, and upgraded to 20.1, but now it is no longer functioning properly.

running cec-client -s -d 1 returns:

CEC bus information
device #1: Recorder 1
active source: no
vendor:        Pulse Eight
osd string:    CECTester
CEC version:   1.4
power status:  on
language:      eng

device #5: Audio
address:       f.f.f.f
active source: no
vendor:        Unknown
osd string:    Audio
CEC version:   unknown
power status:  unknown
language:      ???

and a bunch of Write: write failed messages in verbose

I also tried the bl301 injection, but there’s no difference.
the CEC settings on the sony tv are turned off (causing other trouble), but on the AVR they are turned on.
I also have an XBOX which can trigger AVR on/off, mute, and volume changes with CEC.

can anyone point me to any direction?

CEC on TV must be enabled as it’s the CEC master. All others are only slaves. And AVR are normally know to produce CEC issues.

I hope you have done a clean instand did not just upgrade.

the installation was clean (previous .kodi folder renamed for backup purposes).
the XBOX knows to send volume/mute CEC commands to the AVR without having the TV setting enabled.

is How to configure used libCEC version still relevant?
can I try to use the libcec version that was in 9.2.5 in this way?

No, it’s not available anymore. I just know LibCEC needs to have a master with id 0 to work probably.
Not sure how this should work without TV…

You can enable LibCEC component debug logging and make a Kodi log.

that’s too bad. is there a way to manually try a different libcec version? what was the presence of /storage/.config/libcec-4.0.5.conf doing behind the scenes? I see here Amlogic-ng: add possibility to choose libCEC version · CoreELEC/CoreELEC@5111183 · GitHub that a symlink is created. is it possible to use libcec v4 with CE v20(+)?

here’s the kodi log with cec debug: http://ix.io/4ziy
here’s the dmesg: http://ix.io/4zix

As I thought, libCEC search for the TV, master and do not find it. It find the Audio system but I don’t know how this should work and I am almost sure Kodi is not able to handle such setup.

You can request support for your setup here:

1 Like

and can you say if there’s a way (willing to try) of using libcec v4?

Not by CE, you can try by yourself.

yes I mean by myself/
which files do I need to have (and where), and how do I tell the system to use /var/lib/libcec.so.4 and not /var/lib/libcec.so.6?

trying to place libcec.so.4 in /var/lib/ alongside libcec.so.6 does nothing.
when I restart kodi, according to /usr/lib/kodi/kodi-config, the libcec.so.6 symlink is always regenerated.
the system is read-only.
how can I try it for myself? do you have any idea?

Feature of using different libcec versions was removed and only default symbolic link is created.

You can try mount bind over current version (adjust path /storage/libcec.so.4 if needed):

mount -o bind /storage/libcec.so.4 /usr/lib/libcec.so.6.0.2
systemctl restart kodi

thanks for the suggestion.
for some reason, this causes CE to reboot into safe mode.

I tried reverting to 9.2.5 and test the CEC, and while direct commands such as echo volup | cec-client -s -d, now works, the control using volume keys still doesn’t, so it might be that the CEC should be enabled on the TV like @Portisch suggested.
now I can say for certainty that libcec6 removed support for some devices.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.