HDMI CEC not working after october update

After today’s update, my HDMI CEC is not working anymore.
Yesterday it was working fine.
I’ve checked configuration and seems ok.
Any clue?

Some extra info:

2019-11-04 11:30:22.938 T:1915172400  NOTICE: Raspberry PI firmware version: Oct 23 2018 14:41:50
                                            Copyright (c) 2012 Broadcom
                                            version 724d81b3f87eb71045e938e572eca140fb8828ab (clean) (release)
2019-11-04 11:30:22.938 T:1915172400  NOTICE: ARM mem: 768MB GPU mem: 256MB MPG2:0 WVC1:0
2019-11-04 11:30:22.938 T:1915172400  NOTICE: cache.memorysize: 20MB
2019-11-04 11:30:22.938 T:1915172400  NOTICE: Config:
                                            aphy_params_current=819
                                            arm_freq=1200
                                            audio_pwm_mode=514
                                            config_hdmi_boost=5
                                            core_freq=400
                                            desired_osc_freq=0x36ee80
                                            disable_commandline_tags=2
                                            disable_l2cache=1
                                            disable_splash=1
                                            display_hdmi_rotate=-1
                                            display_lcd_rotate=-1
                                            dphy_params_current=547
                                            force_eeprom_read=1
                                            force_pwm_open=1
                                            framebuffer_ignore_alpha=1
                                            framebuffer_swap=1
                                            gpu_freq=300
                                            hdmi_channel_map=8
                                            hdmi_force_cec_address=65535
                                            hdmi_ignore_cec_init=1
                                            init_uart_clock=0x2dc6c00
                                            lcd_framerate=60
                                            over_voltage_avs=0x13d62
                                            pause_burst_frames=1
                                            program_serial_random=1
                                            sdram_freq=450
                                            sdtv_aspect=1
2019-11-04 11:30:22.939 T:1915172400  NOTICE: Config:
                                            device_tree=-

and some more:

2019-11-04 11:31:00.751 T:1741673184  NOTICE: Register - new cec device registered on cec->RPI: CEC Adapter (2708:1001)

After october update, osmc boot in my rpi3 has a long black screen lag.
I’ve always loved how fast OSMC boots in my rpi, so I don’t understand what has changed.
Is it only me?

I merged your threads as I didn’t see a reason why they could not be addressed together.

It would be helpful for you to provide full debug logs so we may see exactly what your system is reporting.

Regarding the long black screen and slow boot I think that is just you. I have noticed no change in that regard on any of my systems and I don’t remember seeing anyone else report this condition.

Sorry for the delay. After a couple of reboots (yep, exactly two reboots) my CEC started working again.
So it looks like a local failure, still not sure where, but has been solved with no changes from my side.
After that, wasn’t able to reproduce the CEC issue.

Could this explain why my Samsung smart tv remote control cannot control my OSMC anymore?

It is possible. CEC can sometimes get confused and stop working as it should do. Sometimes rebooting devices allows for this feature to start working again. As most CEC capable devices only actually ‘sleep’ when they are ‘off’ the best course of action is usually to unplug all the devices from the wall for several minutes to ensure that when powered back up the devices will establish new CEC connections to each other.

and surprise surprise today it’s working. I didn’t do anything. So like you said it must be some strange sleep mode they get into

hahaha, same “solution” fixes automagically

CEC is dark sorcery and after watching this I’m surprised it works as “Reliably” as it does. It’s one of the first things I turn off on all my devices.

Well CEC commands is a great feture, should be available in all HDMI-enabled devices.
Problem, as always, relies in the implementation each manufacturer does.
Problems usually come from TVs, because of old protocols, buggy software and many others.
I really think CEC could work fine when all parts already do too.

Yes on paper is great but in reality it’s a bit of a joke considering we are in 2019. Just watch the video

Looking for issue about CEC with my Sony TV I may have something similar. I’m on the October update and after a while the CEC entry disappear from the external source. On Sony TV you can select external source but when an CEC device is connected and recognized it appears on the top of the external source list. After stop/start both TV and RPI the entry appears but after some time (days? to determine) it’s gone. HDMI cable changed already, CEC adapter enabled/disabled, no change.

I added a new HDMI device on the setup but by Sony only one HDMI is CEC enabled. I’ll update to the last version and see if it helps.

If it helps… (not updated yet)

echo 'scan' | cec-client -s -d 1
opening a connection to the CEC adapter...
requesting CEC bus information ...
CEC bus information
===================
device #0: TV
address:       0.0.0.0
active source: no
vendor:        Unknown
osd string:    TV
CEC version:   1.4
power status:  on
language:      ???


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

And

cec-client -r
using settings from EEPROM
No device type given. Using 'recording device'
CEC Parser created - libCEC version 4.0.4
no serial port given. trying autodetect:
 path:     Raspberry Pi
 com port: RPI

opening a connection to the CEC adapter...
DEBUG:   [             157]     Broadcast (F): osd name set to 'Broadcast'
DEBUG:   [             158]     Open - vc_cec initialised
DEBUG:   [             158]     logical address changed to Free use (e)
NOTICE:  [             158]     connection opened
DEBUG:   [             158]     processor thread started
DEBUG:   [             158]     << Broadcast (F) -> TV (0): POLL
DEBUG:   [             158]     initiator 'Broadcast' is not supported by the CEC adapter. using 'Free use' instead
TRAFFIC: [             158]     << e0
DEBUG:   [             219]     >> POLL sent
DEBUG:   [             219]     TV (0): device status changed into 'present'
DEBUG:   [             219]     << requesting vendor ID of 'TV' (0)
TRAFFIC: [             219]     << e0:8c
DEBUG:   [            1279]     expected response not received (87: device vendor id)
TRAFFIC: [            1279]     << e0:8c
DEBUG:   [            2340]     expected response not received (87: device vendor id)
NOTICE:  [            2340]     registering new CEC client - v4.0.4
DEBUG:   [            2340]     detecting logical address for type 'recording device'
DEBUG:   [            2340]     trying logical address 'Recorder 1'
DEBUG:   [            2340]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [            2340]     << 11
TRAFFIC: [            2610]     << 11
DEBUG:   [            2881]     >> POLL not sent
DEBUG:   [            2881]     using logical address 'Recorder 1'
DEBUG:   [            2881]     Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG:   [            2881]     Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG:   [            2881]     Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG:   [            2881]     Recorder 1 (1): CEC version 1.4
DEBUG:   [            2881]     AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG:   [            2881]     logical address changed to Recorder 1 (1)
DEBUG:   [            2881]     Recorder 1 (1): osd name set to ''
DEBUG:   [            2881]     Recorder 1 (1): menu language set to 'eng'
DEBUG:   [            2881]     GetPhysicalAddress - physical address = 3500
DEBUG:   [            2881]     AutodetectPhysicalAddress - autodetected physical address '3500'
DEBUG:   [            2881]     Recorder 1 (1): physical address changed from ffff to 3500
DEBUG:   [            2881]     << Recorder 1 (1) -> broadcast (F): physical address 3500
TRAFFIC: [            2881]     << 1f:84:35:00:01
TRAFFIC: [            2971]     << 1f:84:35:00:01
NOTICE:  [            3062]     CEC client registered: libCEC version = 4.0.4, client version = 4.0.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 3.5.0.0,  compiled on Sun Jul  7 00:42:00 UTC 2019 by root@compiler2 on Linux 4.9.0-3-amd64 (armv7l), features: P8_USB, DRM, P8_detect, RPi
DEBUG:   [            3062]     << Recorder 1 (1) -> TV (0): OSD name ''
TRAFFIC: [            3062]     << 10:47
DEBUG:   [            3122]     << requesting power status of 'TV' (0)
TRAFFIC: [            3122]     << 10:8f
TRAFFIC: [            3283]     >> 01:90:00
DEBUG:   [            3283]     >> TV (0) -> Recorder 1 (1): report power status (90)
DEBUG:   [            3283]     TV (0): power status changed from 'unknown' to 'on'
waiting for input
DEBUG:   [            3283]     expected response received (90: report power status)
TRAFFIC: [           11733]     >> 01:83
DEBUG:   [           11734]     >> TV (0) -> Recorder 1 (1): give physical address (83)
DEBUG:   [           11734]     << Recorder 1 (1) -> broadcast (F): physical address 3500
TRAFFIC: [           11734]     << 1f:84:35:00:01
TRAFFIC: [           11825]     << 1f:84:35:00:01
WARNING: [           12005]     unhandled response received: opcode=84 initiator=1 destination=f response=1
WARNING: [           12095]     unhandled response received: opcode=84 initiator=1 destination=f response=1
TRAFFIC: [           26738]     >> 01:83
DEBUG:   [           26738]     >> TV (0) -> Recorder 1 (1): give physical address (83)
DEBUG:   [           26739]     << Recorder 1 (1) -> broadcast (F): physical address 3500
TRAFFIC: [           26739]     << 1f:84:35:00:01
TRAFFIC: [           26829]     << 1f:84:35:00:01
WARNING: [           27009]     unhandled response received: opcode=84 initiator=1 destination=f response=1
WARNING: [           27099]     unhandled response received: opcode=84 initiator=1 destination=f response=1
^Csignal caught: 2 - exiting
DEBUG:   [           28100]     unregistering all CEC clients
NOTICE:  [           28100]     unregistering client: libCEC version = 4.0.4, client version = 4.0.4, firmware version = 1, logical address(es) = Recorder 1 (1) , physical address: 3.5.0.0,  compiled on Sun Jul  7 00:42:00 UTC 2019 by root@compiler2 on Linux 4.9.0-3-amd64 (armv7l), features: P8_USB, DRM, P8_detect, RPi
DEBUG:   [           28101]     Recorder 1 (1): power status changed from 'on' to 'unknown'
DEBUG:   [           28101]     Recorder 1 (1): vendor = Unknown (000000)
DEBUG:   [           28101]     Recorder 1 (1): CEC version unknown
DEBUG:   [           28101]     Recorder 1 (1): osd name set to 'Recorder 1'
DEBUG:   [           28101]     Recorder 1 (1): device status changed into 'unknown'
DEBUG:   [           28101]     unregistering all CEC clients
DEBUG:   [           28165]     UnregisterLogicalAddress - releasing previous logical address
DEBUG:   [           28165]     logical address changed to Broadcast (f)