LibCEC behaviour change between Raspberry Pi and Vero4K

I tested the changes and the CEC in Kodi does not work at all. To get more details, I disabled startup of mediacenter, rebooted and ran cec-client:

osmc@vero4k:~$ cec-client
No device type given. Using 'recording device'
CEC Parser created - libCEC version 4.0.2
no serial port given. trying autodetect:
 path:     /dev/aocec
 com port: AOCEC

opening a connection to the CEC adapter...
DEBUG:   [             144]     Broadcast (F): osd name set to 'Broadcast'
NOTICE:  [             145]     connection opened
DEBUG:   [             145]     processor thread started
DEBUG:   [             145]     << Broadcast (F) -> TV (0): POLL
TRAFFIC: [             145]     << f0
DEBUG:   [             214]     >> POLL sent
DEBUG:   [             214]     TV (0): device status changed into 'present'
DEBUG:   [             214]     << requesting vendor ID of 'TV' (0)
TRAFFIC: [             214]     << f0:8c
TRAFFIC: [             408]     >> 0f:87:00:00:f0
DEBUG:   [             408]     >> TV (0) -> Broadcast (F): device vendor id (87)
DEBUG:   [             409]     TV (0): vendor = Samsung (0000f0)
DEBUG:   [             409]     expected response received (87: device vendor id)
DEBUG:   [             409]     replacing the command handler for device 'TV' (0)
NOTICE:  [             409]     registering new CEC client - v4.0.2
DEBUG:   [             409]     detecting logical address for type 'recording device'
DEBUG:   [             409]     trying logical address 'Recorder 1'
DEBUG:   [             409]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [             409]     << 11
DEBUG:   [             624]     >> POLL sent
DEBUG:   [             624]     logical address 'Recorder 1' already taken
DEBUG:   [             624]     Recorder 1 (1): device status changed into 'present'
DEBUG:   [             624]     trying logical address 'Recorder 2'
DEBUG:   [             624]     << Recorder 2 (2) -> Recorder 2 (2): POLL
TRAFFIC: [             624]     << 22
DEBUG:   [             824]     >> POLL sent
DEBUG:   [             824]     logical address 'Recorder 2' already taken
DEBUG:   [             824]     Recorder 2 (2): device status changed into 'present'
DEBUG:   [             824]     trying logical address 'Recorder 3'
DEBUG:   [             824]     << Recorder 3 (9) -> Recorder 3 (9): POLL
TRAFFIC: [             824]     << 99
DEBUG:   [            1024]     >> POLL sent
DEBUG:   [            1024]     logical address 'Recorder 3' already taken
DEBUG:   [            1024]     Recorder 3 (9): device status changed into 'present'
ERROR:   [            1024]     AllocateLogicalAddresses - failed to allocate device '0', type 'recording device'
ERROR:   [            1024]     failed to find a free logical address for the client
ERROR:   [            1024]     failed to register the new CEC client - cannot allocate the requested device types
unable to open the device on port AOCEC
ERROR:   [            1025]     failed to register a CEC client
DEBUG:   [            1025]     unregistering all CEC clients

Hi,

This is the regression Sam was referring to above, issue doesn’t affect all TVs/CEC devices. You can roll back:

sudo dpkg-reconfigure vero364-image-3.14.29-98-osmc
sudo reboot 0 

Thanks Tom.

Thanks, Tom, this did the trick.

1 Like

Unfortunately neither one changes when I shut-down my TV by remote control. So I am still at my suboptimal solution - use Raspberry Pi on second HDMI cable only to monitor TV standby and source switch CEC events.

Please consider adding this feature (multiple clients, monitoring mode for second client would be sufficient) back to libCEC, or at least with the planned kernel update. I ordered Vero4K+, so maybe I could use Raspberry Pi for something better and leave old Vero4K on the second HDMI cable just for CEC watching for now.

Thanks for support, anyway.

I’m surprised those two attributes aren’t changing. Do you have HPD Lock enabled in Settings? That could cause issues

No difference when I enable HPD Lock in Kodi. The hpd_state is always 1 and disp_cap always

480p60hz
576p50hz
720p60hz
1080i60hz
1080p60hz*
720p50hz
1080i50hz
1080p30hz
1080p50hz
1080p25hz
1080p24hz

No change when I switch-off TV when watching Kodi/Vero4k nor when watching TV.

Well, I worked-around the libCEC sharing problem by disabling CEC in Kodi and using a new Python libCEC script to forward key presses to Kodi via its Event Server. I have tested it for a while and the solution looks stable.

1 Like

That would work.

Glad to hear you found a solution in the interim

Sam