HDMI-CEC Problems Odroid C4 / N2 / N2+

Thank you. There is a error in the dmesg log but I will need more logs again to see what was happen.

Be sure this XML is placed in /storage/.kodi/userdata. It enable debug logging without the onscreen information so you can use Kodi like normal.
advancedsettings.xml (710 Bytes)

Alternative you can enable debug logging in Kodi and enable libCEC component like before.

After placing this xml reboot once and enable CEC verbose again:

echo 1 > /sys/class/aocec/dbg_en

When the CEC stop working just do right away:

journalctl -o short-precise | paste
cat /storage/.kodi/temp/kodi.log | paste

You should get then two ix.io URL, thank you!

1 Like

http://ix.io/2LxF
Did it after CEC broke. I was watching a film. Finished it and after it couldn’t start another film. After some button pressing it broke (CEC). I hope you can see something. Thank you for your effort.

you forgot to post the kodi.log. I need both logs to be able to libCEC and kernel actions

http://ix.io/2LzB

kodi.log

I am sorry but I can not solve your Samsung CEC issue. The TV just stop sending any CEC message to the device. Maybe a “heartbeat” or something like this is missing from libCEC.
It just stop at

Jan 10 19:23:29.505163 CoreELEC kernel: cectx ff80023c.aocec: cec a rx len 2:01 45 
Jan 10 19:23:29.505484 CoreELEC kernel: cectx ff80023c.aocec: read msg len=2

Then nothing else get received from the TV.

I can’t help here much more as I have no possibility to make any deeper research about Samsung & CEC. May you use the kodi.log and dmesg log and open a issue at libCEC:

You also can try a firmware update on your TV.

1 Like

Thank you very much! The older version of TV, the D Series works perfectly with Kodi. Only this F Series is a problem! Thank you for solving the physical address saving issue. Have a nice evening!

Can you please give me an advice for new TV. Which brand has a KODI friendly CEC implementation? What brand do you suggest?

Not really, in my opinion from the point of CEC LG is best, Panasonic is worst.
When a AVR get inline it’s mostly the end of a working CEC solution.
Best is to connect the device directly to the TV. Then the CEC implementation of the AVR does not disturb the system anymore.

Best is to choose a model you prefer and then search the internet about CEC issue about this brand/series/type.

It’s possible one type/series of the brand works flawlessly, the other type/series from the same brand not.

1 Like

@Portisch
It doesn’t seam to be a Samsung only Problem. I have the same Problem with a Sony TV and Yamaha Receiver and my Odroid C4. It never happened with my old C2. The whole CEC-Bus seam to get locked. The receiver doesn’t detect turning off the tv anymore and cec in my firetv stops working too. A reboot of the C4 fixes the problems.

1 Like

I absolutely agree. Had no problems with c2. With older D Series Samsung there are no problems. I will try it with another TV and report back.

But the logs shows nothing, so how I should be able to find the reason? I never have or had such issues and so I can not debug it.
I will try to simulate with your kodi.log if something happens.

I didn’t say it is your fault. I suppose that is bad hardware design of C4 / N2 / N2+. There were also threads about the same problem in the odroid forum there. At least now the physical address is working perfectly!

I’m running the following script to monitor the power state for my home automation. https://github.com/michaelarnauts/cec-mqtt-bridge
I had to reduce the polling interval and reduce the script to only poll the tv, because it was triggering the CEC bug on my C4 very often. Now it only happens every few days instead of every 30 min. Maybe too much traffic on the bus triggers the problem.
Another observation is, that it often happens when I start to watch a movie. Maybe related to CPU load or hdmi refresh rate change.

I had once a media player that had no cec implementation but it was pulling the cec pin constantly high (or low) and locked then also the whole communication of other devices.
If this bug somehow sets the cec pin to a wrong state, then it could explain why no other messages are send on the bus. Maybe the “CEC Activate” function in Yatse or running cec-client somehow resets the cec device and unlocks the bus again.

1 Like

How did you poll the C4 and how often?
I maybe was hit the error also here but maybe only 1/week.

I’m running this python script https://github.com/michaelarnauts/cec-mqtt-bridge on a separate RPI.

1 Like

I have here another test version what does include last CEC changes from CE-19 branch:
https://mega.nz/file/OHxR2CrI#lfRyuQkwz5OJqbGDOpdUlDm6FeD9UQoBsp0_t7ASuPE
It’s for Amlogic-ng, 9.2, Kodi Leia.

I changed some points and maybe CEC is more stable now, please test @Vodalex

EDIT:
I uploaded a new image including debug prints from CEC by default:
https://mega.nz/file/CWIhSKLa#dXSAh2zVUsxPN3jgalu0-8KnCktDuhmvdTu5Rug5fiI

1 Like

Thank you very much! I will install the one with debug prints right away. What should I do if it CEC stops responding? Which command should I execute in SSH?

Right after it happen and before reboot:

journalctl -o short-precise | paste
cat /storage/.kodi/temp/kodi.log | paste

Please place also this advancedsettings.xml in userdata folder where the other xml are located.

1 Like

I installed new image including debug prints from CEC .Cannot get it to crash as it always does!!! Normally it just stops responding and the TV don’t change to other CEC sources like Chromecast in HDMI1. Tried everything and will continue testing. Did you change something to fix this CEC bug? At the moment no problems at all. Will test it today the whole day.