CEC not working

Hi,

I have the following setup:
-Raspberry Pi B - Model V2
-OSMC (with Kodi on it) → installed on Raspberry
-TV Sony Bravia 48r550c
-a common/simple/normal HDMI cable between the devices.

Problem: CEC is not working; i am not able to use the TV’s remote control to control the menu of the KODI.

TV has the “Bravia Sync” option enabled, but when i try to search a device (via bravia sync), it does not detect any.
The raspberry also has the CEC enabled and i can see it has libcec-3.0.1; however, the TV and the raspberry seem to not be able to communicate and see each other. I have attached a image with CEC settings

I would appreciate if someone could provide any troubleshoot steps. I couldn’t find any explicit tutorial regarding this issue.

Thanks

The very first thing to try is a different HDMI cable - not all HDMI cables support CEC, and even some that do do not do so reliably. Out of the 4 HDMI cables I have (bought from various places at various prices) two do not support CEC at all.

So try borrowing cables from other devices to try a few different cables. Each time you swap the cable you should shut down the Pi first, connect the new cable, and make sure the TV is turned on before you boot the Pi.

ok, i am going to try that. but how can i know what cable supports CEC? at different shops i noticed that most of the cables have no indication on them regarding CEC.

I think you posted last night here: Kodi CEC not working - Raspberry Pi Forums

You should follow the advice there first.

Sam

If the manufacturer doesn’t specifically mention CEC support and it’s a cheap cable, it will be pot luck I’m afraid.

Hi sam,

Yes you are right, i posted last night there and you gave me some advices. Also, another user there told me to check the osmc forum (which i did) for further questions.
Regarding your advices:
** Try powering off your TV at the mains for a few minutes, as this can sometimes cause issues.* –> did that, no change.
** Try another HDMI cable* –> did that only with one cable (tomorrow i wil try several ones), still no change
** Try running cec-client (you will need to use the full path) to see what the output is* –> please tell me how to do that . i tried like this:
osmc@raspi:~$ /usr/bin/cec-client
No device type given. Using ‘recording device’
CEC Parser created - libCEC version 2.1.4
no serial port given. trying autodetect: FAILED

** Obtain a full set of debug logs so we can look at the problem further* –> please tell me how to do that

This is not correct. You must have installed libcec yourself, which will cause issues.

You should be on libCEC version 3.0.1. Try /usr/osmc/bin/cec-client.

yes, i installed myself libcec 2.1.4 ; i tried several things, but none seem to work. Here is the output from your command:

osmc@raspi:~$ /usr/osmc/bin/cec-client
No device type given. Using ‘recording device’
CEC Parser created - libCEC version 3.0.1
no serial port given. trying autodetect:
path: Raspberry Pi
com port: RPI

opening a connection to the CEC adapter…
DEBUG: [ 75] Broadcast (F): osd name set to ‘Broadcast’
DEBUG: [ 76] InitHostCEC - vchiq_initialise succeeded
DEBUG: [ 76] InitHostCEC - vchi_initialise succeeded
DEBUG: [ 76] InitHostCEC - vchi_connect succeeded
DEBUG: [ 77] Open - vc_cec initialised
DEBUG: [ 77] logical address changed to Free use (e)
NOTICE: [ 77] connection opened
DEBUG: [ 78] << Broadcast (F) → TV (0): POLL
DEBUG: [ 78] initiator ‘Broadcast’ is not supported by the CEC adapter. using ‘Free use’ instead
TRAFFIC: [ 78] << e0
DEBUG: [ 78] processor thread started
DEBUG: [ 169] initiator ‘Broadcast’ is not supported by the CEC adapter. using ‘Free use’ instead
TRAFFIC: [ 169] << e0
DEBUG: [ 259] >> POLL not sent
DEBUG: [ 259] TV (0): device status changed into ‘not present’
NOTICE: [ 259] registering new CEC client - v3.0.1
DEBUG: [ 259] detecting logical address for type ‘recording device’
DEBUG: [ 259] trying logical address ‘Recorder 1’
DEBUG: [ 259] << Recorder 1 (1) → Recorder 1 (1): POLL
TRAFFIC: [ 259] << 11
TRAFFIC: [ 530] << 11
DEBUG: [ 711] >> POLL not sent
DEBUG: [ 711] using logical address ‘Recorder 1’
DEBUG: [ 711] Recorder 1 (1): device status changed into ‘handled by libCEC’
DEBUG: [ 711] Recorder 1 (1): power status changed from ‘unknown’ to ‘on’
DEBUG: [ 711] Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG: [ 711] Recorder 1 (1): CEC version 1.4
DEBUG: [ 711] AllocateLogicalAddresses - device ‘0’, type ‘recording device’, LA ‘1’
ERROR: [ 712] RegisterLogicalAddress - vc_cec_set_logical_address(1) returned device is busy (3)
DEBUG: [ 712] UnregisterLogicalAddress - releasing previous logical address
WARNING: [ 801] unhandled response received: opcode=0 initiator=1 destination=0 response=1
DEBUG: [ 801] logical address changed to Broadcast (f)
DEBUG: [ 801] Recorder 1 (1): osd name set to ‘CECTester’
DEBUG: [ 801] Recorder 1 (1): menu language set to ‘eng’
DEBUG: [ 802] GetPhysicalAddress - physical address = 1000
DEBUG: [ 802] AutodetectPhysicalAddress - autodetected physical address ‘1000’
DEBUG: [ 802] Recorder 1 (1): physical address changed from ffff to 1000
DEBUG: [ 802] << Recorder 1 (1) → broadcast (F): physical adddress 1000
TRAFFIC: [ 802] << 1f:84:10:00:01
DEBUG: [ 803] sending command ‘report physical address’ failed (4)
TRAFFIC: [ 803] << 1f:84:10:00:01
DEBUG: [ 803] sending command ‘report physical address’ failed (4)
NOTICE: [ 803] CEC client registered: libCEC version = 3.0.1, client version = 3.0.1, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 1.0.0.0, git revision: ce9bc98, compiled on Tue Dec 22 17:33:23 UTC 2015 by root@vero on Linux 3.14.14-cubox (armv7l), features: P8_USB, P8_detect, ‘RPi’
DEBUG: [ 804] << Recorder 1 (1) → TV (0): OSD name ‘CECTester’
DEBUG: [ 804] << Recorder 1 (1) → TV (0): POLL
TRAFFIC: [ 804] << 10
DEBUG: [ 804] sending command ‘feature abort’ failed (4)
TRAFFIC: [ 804] << 10
DEBUG: [ 804] sending command ‘feature abort’ failed (4)
DEBUG: [ 804] >> POLL not sent
DEBUG: [ 804] not sending command ‘set osd name’: destination device ‘TV’ marked as not present
DEBUG: [ 804] << requesting power status of ‘TV’ (0)
DEBUG: [ 805] << Recorder 1 (1) → TV (0): POLL
TRAFFIC: [ 805] << 10
DEBUG: [ 805] sending command ‘feature abort’ failed (4)
TRAFFIC: [ 805] << 10
DEBUG: [ 805] sending command ‘feature abort’ failed (4)
DEBUG: [ 805] >> POLL not sent
DEBUG: [ 805] not sending command ‘give device power status’: destination device ‘TV’ marked as not present
waiting for input

After issuing the command again, i repeately get the warning:
WARNING: [ 89669] unhandled response received: opcode=0 initiator=1 destination=0 response=1

Full logs can be found here (thx user ActionA):
http://paste.osmc.io/civugepaqe

Also, how can i remove libcec 2.1.4 and remain only with libcec 3…0.1?

Try:

sudo apt-get purge libcec2 libcec-dev

thx, i removed it.

the problem was the cable. i have tried today with other HDMI cables and CEC works fine.
Thanks everybody for the support.

This topic can now be closed