HDMI-CEC Problems Odroid C4 / N2 / N2+

Here is the log…


Loss of CEC happened at 17:16 when I recall correctly. I have restarted it using Yatse and tried to make it happen again by pressing the directions buttons but it doesn’t happen. It is random… Maybe you see something there. When the connection is lost the whole CEC doesnt work. I cannot change to Chromecast connected to the HDMI 1 Port of the TV. I have to restart Kodi using Yatse. This never happened on Odroid C2, happens on C4, N2, N2+. Maybe you can help…

Happened again at 18.42.


Accessed Amazon Prime Video before that. But happens in different situations too… maybe you see something.

thank you, I will check it. the other log I did only find right now cectx ff80023c.aocec: bus confilct too long in dmesg and:

	Line 85319: 2021-01-09 18:05:56.744 T:3710907264   DEBUG: CecLogMessage - >> 01:01:44:01
	Line 85320: 2021-01-09 18:05:56.745 T:3710907264   DEBUG: CecLogMessage - sending abort with opcode 01 and reason 'unrecognised opcode' to TV

This 01:01:44:01 should be only 01:44:01. so maybe the TV sent a “ping” with 01 but then he sent without start/stop or restart the other 3 bytes.

But I guess it’s more the bus confilct too long error. I will check your second log later

1 Like

I do not see a error in kodi log. It just stop receiving anything by CEC.
Once more if it does happen: do nothing, just open a SSH connection and post your dmesg by dmesg | paste please, thx.

@Vodalex please start aocec debugging by enter this cmd after booting to CE by SSH:
echo 1 > /sys/class/aocec/dbg_en

You need to do this after each reboot!

It will enable verbose mode for the cec driver for more information in dmesg post.
Then after it happened again login by SSH again and call dmesg | paste, thx

1 Like

http://ix.io/2Lu6

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