Pulse-Eight / libcec

USB CEC Adapter communication Library http://libcec.pulse-eight.com/
Other
705 stars 282 forks source link

RPi4 only gets switch on and standby TV working #596

Open Enjoy-Combi opened 2 years ago

Enjoy-Combi commented 2 years ago

Hi,

I have a raspberry under bullseyes 32bits / libcec6.0.2-2 / kodi 19.3. This one switch off & on the TV from kodi. I can do from a terminal as well. But this is the only interaction I see between the TV & the raspberry.

When I use the TV's remote only the power on/off event is intercepted by libcec (cec-client -m available here after.

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: Philips osd string: TV CEC version: 1.4 power status: standby language: fre

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

currently active source: unknown (-1)

cec-client -m starting a monitor-only client. use 'mon 0' to switch to normal mode No device type given. Using 'recording device' CEC Parser created - libCEC version 6.0.2 no serial port given. trying autodetect: path: /sys/devices/platform/soc/fef00700.hdmi/cec0 com port: /dev/cec0

opening a connection to the CEC adapter... DEBUG: [ 90] Broadcast (F): osd name set to 'Broadcast' DEBUG: [ 90] CLinuxCECAdapterCommunication::Open - m_path=/dev/cec0 m_fd=4 bStartListening=1 DEBUG: [ 90] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=1000 DEBUG: [ 90] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 91] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=8000 num_log_addrs=1 NOTICE: [ 91] connection opened waiting for input DEBUG: [ 91] processor thread started DEBUG: [ 91] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=8000 phys_addr=1000 DEBUG: [ 39881] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff DEBUG: [ 40262] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=8000 phys_addr=1000 DEBUG: [ 42823] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=84 TRAFFIC: [ 42823] >> 0f:84:00:00:00 DEBUG: [ 42823] device TV (0) status changed to present after command report physical address DEBUG: [ 42823] >> TV (0) -> Broadcast (F): report physical address (84) DEBUG: [ 43057] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=6 addr=0f opcode=80 TRAFFIC: [ 43057] >> 0f:80:00:00:10:00 DEBUG: [ 43057] TV (0): power status changed from 'unknown' to 'on' DEBUG: [ 43057] >> TV (0) -> Broadcast (F): routing change (80) DEBUG: [ 43248] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=87 TRAFFIC: [ 43248] >> 0f:87:00:90:3e DEBUG: [ 43248] TV (0): vendor = Philips (00903e) DEBUG: [ 43248] replacing the command handler for device 'TV' (0) DEBUG: [ 43248] >> TV (0) -> Broadcast (F): device vendor id (87) DEBUG: [ 58442] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=2 addr=0f opcode=36 TRAFFIC: [ 58442] >> 0f:36 DEBUG: [ 58442] TV (0): power status changed from 'on' to 'standby' DEBUG: [ 58442] >> TV (0) -> Broadcast (F): standby (36) DEBUG: [ 91573] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff DEBUG: [ 91948] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 DEBUG: [ 91954] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=8000 phys_addr=1000 DEBUG: [ 94505] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=84 TRAFFIC: [ 94505] >> 0f:84:00:00:00 DEBUG: [ 94505] >> TV (0) -> Broadcast (F): report physical address (84) DEBUG: [ 94714] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=6 addr=0f opcode=80 TRAFFIC: [ 94714] >> 0f:80:00:00:10:00 DEBUG: [ 94714] TV (0): power status changed from 'standby' to 'on' DEBUG: [ 94714] >> TV (0) -> Broadcast (F): routing change (80) DEBUG: [ 94915] CLinuxCECAdapterCommunication::Process - ioctl CEC_RECEIVE - rx_status=01 len=5 addr=0f opcode=87 TRAFFIC: [ 94915] >> 0f:87:00:90:3e DEBUG: [ 94915] >> TV (0) -> Broadcast (F): device vendor id (87) ^Csignal caught: 2 - exiting DEBUG: [ 106688] unregistering all CEC clients DEBUG: [ 106688] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 106688] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 106688] unregistering all CEC clients DEBUG: [ 106688] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 106688] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 DEBUG: [ 106693] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=1000 DEBUG: [ 107700] CLinuxCECAdapterCommunication::Process - stopped - m_path=/dev/cec0 m_fd=4 DEBUG: [ 107700] CLinuxCECAdapterCommunication::Close - m_path=/dev/cec0 m_fd=4

FYI, I have the hdmi cable 1.4 and tested with few others. Any idea what could be wrong ?