Rock64 cec-utils appears not to work

Creating a bug report/issue

Required Information

  • DietPi version | cat /boot/dietpi/.version
    G_DIETPI_VERSION_CORE=8
    G_DIETPI_VERSION_SUB=10
    G_DIETPI_VERSION_RC=2
    G_GITBRANCH=‘master’
    G_GITOWNER=‘MichaIng’

  • Distro version | echo $G_DISTRO_NAME $G_RASPBIAN
    bullseye

  • Kernel version | uname -a
    Linux DietPi 5.15.74-rockchip64 #22.08.6 SMP PREEMPT Tue Oct 18 06:50:17 UTC 2022 aarch64 GNU/Linux

  • SBC model | echo $G_HW_MODEL_NAME or (EG: RPi3)
    ROCK64 (aarch64)

  • Power supply used | (EG: 5V 1A RAVpower)
    5V 3A (from pine64 store)

  • SD card used | (EG: SanDisk ultra)
    None

  • List block Devides | lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    mtdblock0 31:0 0 16M 0 disk
    mmcblk1 179:0 0 14.7G 0 disk
    └─mmcblk1p1 179:1 0 14.7G 0 part /
    mmcblk1boot0 179:32 0 4M 1 disk
    mmcblk1boot1 179:64 0 4M 1 disk

Additional Information (if applicable)

  • Software title | (EG: Nextcloud)
    cec-utils
  • Was the software title installed freshly or updated/migrated?
    fresh install
  • Can this issue be replicated on a fresh installation of DietPi?
    ← If you sent a “dietpi-bugreport”, please paste the ID here →
  • Bug report ID | echo $G_HW_UUID
    a34a9f18-079c-420e-b824-d11ef755007d

Steps to reproduce

run | cec-client

Expected behaviour

Should show a list of hdmi connected devices

Actual behaviour

No device type given. Using ‘recording device’
CEC Parser created - libCEC version 6.0.2
no serial port given. trying autodetect:
path: /dev/cec0
com port: Linux

opening a connection to the CEC adapter…

DEBUG:   [              65]     Broadcast (F): osd name set to 'Broadcast'
DEBUG:   [              65]     CLinuxCECAdapterCommunication::Open - m_fd=3 bStartListening=1
DEBUG:   [              65]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=ffff
WARNING: [              65]     CLinuxCECAdapterCommunication::Open - physical address is invalid
DEBUG:   [              65]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [              65]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1
NOTICE:  [              66]     connection opened
DEBUG:   [              66]     CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff
DEBUG:   [              66]     << Broadcast (F) -> TV (0): POLL
TRAFFIC: [              66]     << f0
DEBUG:   [              66]     processor thread started
DEBUG:   [             210]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
TRAFFIC: [             210]     << f0
DEBUG:   [             358]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
DEBUG:   [             358]     >> POLL not sent
DEBUG:   [             358]     TV (0): device status changed into 'not present'
DEBUG:   [             358]     registering new CEC client - v6.0.2
DEBUG:   [             358]     SetClientVersion - using client version '6.0.2'
NOTICE:  [             358]     setting HDMI port to 1 on device TV (0)
DEBUG:   [             358]     << Broadcast (F) -> TV (0): POLL
TRAFFIC: [             358]     << f0
DEBUG:   [             505]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
TRAFFIC: [             505]     << f0
DEBUG:   [             653]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
DEBUG:   [             653]     >> POLL not sent
DEBUG:   [             653]     SetConfiguration: double tap timeout = 200ms, repeat rate = 0ms, release delay = 500ms
DEBUG:   [             653]     detecting logical address for type 'recording device'
DEBUG:   [             653]     trying logical address 'Recorder 1'
DEBUG:   [             653]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [             653]     << 11
ERROR:   [             653]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
TRAFFIC: [             653]     << 11
ERROR:   [             653]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
DEBUG:   [             653]     >> POLL not sent
DEBUG:   [             653]     using logical address 'Recorder 1'
DEBUG:   [             653]     Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG:   [             653]     Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG:   [             653]     Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG:   [             653]     Recorder 1 (1): CEC version 1.4
DEBUG:   [             653]     AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG:   [             653]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [             653]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1
DEBUG:   [             653]     Recorder 1 (1): osd name set to 'CECTester'
DEBUG:   [             653]     Recorder 1 (1): menu language set to 'eng'
NOTICE:  [             653]     setting HDMI port to 1 on device TV (0)
DEBUG:   [             653]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [             653]     << 10
DEBUG:   [             653]     CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff
DEBUG:   [             795]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [             796]     << 10
DEBUG:   [             943]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [             943]     >> POLL not sent
DEBUG:   [             943]     Recorder 1 (1): physical address changed from ffff to 1000
DEBUG:   [             943]     << Recorder 1 (1) -> broadcast (F): physical address 1000
TRAFFIC: [             943]     << 1f:84:10:00:01
ERROR:   [             943]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
TRAFFIC: [             943]     << 1f:84:10:00:01
ERROR:   [             943]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
DEBUG:   [             943]     using device/input physical address 0000
NOTICE:  [             944]     CEC client registered: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 0, logical address(es) = Recorder 1 (1) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, compiled on Linux-4.19.0-14-arm64 ... , features: P8_USB, DRM, P8_detect, randr, Exynos, Linux, AOCEC
DEBUG:   [             944]     << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
DEBUG:   [             944]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [             944]     << 10
DEBUG:   [            1091]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [            1091]     << 10
DEBUG:   [            1238]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [            1238]     >> POLL not sent
DEBUG:   [            1238]     not sending command 'set osd name': destination device 'TV' marked as not present
DEBUG:   [            1238]     << requesting power status of 'TV' (0)
DEBUG:   [            1238]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [            1239]     << 10
DEBUG:   [            1386]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [            1386]     << 10 
waiting for input
DEBUG:   [            1533]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [            1533]     >> POLL not sent
DEBUG:   [            1533]     not sending command 'give device power status': destination device 'TV' marked as not present
DEBUG:   [            2666]     changing physical address to FFFF
DEBUG:   [            2666]     SetDevicePhysicalAddress - not setting invalid physical address ffff

Extra details

I am just a end-user following instructions from: hdmi-cec using cec-client

Some additional information:

(reconnect to the CEC adapter)
r

DEBUG:   [         5922750]     << requesting active source
TRAFFIC: [         5922751]     << 1f:85
ERROR:   [         5922751]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
TRAFFIC: [         5922751]     << 1f:85
ERROR:   [         5922751]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
closing the connection
DEBUG:   [         5922751]     unregistering all CEC clients
NOTICE:  [         5922751]     unregistering client: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 0, logical address(es) = Recorder 1 (1) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, compiled on Linux-4.19.0-14-arm64 ... , features: P8_USB, DRM, P8_detect, randr, Exynos, Linux, AOCEC
DEBUG:   [         5922751]     Recorder 1 (1): power status changed from 'on' to 'unknown'
DEBUG:   [         5922751]     Recorder 1 (1): vendor = Unknown (000000)
DEBUG:   [         5922751]     Recorder 1 (1): CEC version unknown
DEBUG:   [         5922751]     Recorder 1 (1): osd name set to 'Recorder 1'
DEBUG:   [         5922751]     Recorder 1 (1): device status changed into 'unknown'
DEBUG:   [         5922751]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [         5922751]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [         5922751]     unregistering all CEC clients
DEBUG:   [         5922752]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [         5922752]     CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff
DEBUG:   [         5923758]     CLinuxCECAdapterCommunication::Process - stopped - m_fd=3
opening a new connection
DEBUG:   [         5923758]     CLinuxCECAdapterCommunication::Close - m_fd=3
DEBUG:   [         5923758]     TV (0): device status changed into 'unknown'
DEBUG:   [         5923759]     CLinuxCECAdapterCommunication::Open - m_fd=3 bStartListening=1
DEBUG:   [         5923759]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=ffff
WARNING: [         5923759]     CLinuxCECAdapterCommunication::Open - physical address is invalid
DEBUG:   [         5923759]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [         5923759]     CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1
DEBUG:   [         5923759]     CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff
NOTICE:  [         5923759]     connection opened
DEBUG:   [         5923760]     processor thread started
DEBUG:   [         5923760]     << Broadcast (F) -> TV (0): POLL
TRAFFIC: [         5923760]     << f0
DEBUG:   [         5923903]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
TRAFFIC: [         5923903]     << f0
DEBUG:   [         5924051]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
DEBUG:   [         5924051]     >> POLL not sent
DEBUG:   [         5924051]     TV (0): device status changed into 'not present'
DEBUG:   [         5924051]     registering new CEC client - v6.0.2
DEBUG:   [         5924051]     SetClientVersion - using client version '6.0.2'
NOTICE:  [         5924052]     setting HDMI port to 1 on device TV (0)
DEBUG:   [         5924052]     << Broadcast (F) -> TV (0): POLL
TRAFFIC: [         5924052]     << f0
DEBUG:   [         5924199]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
TRAFFIC: [         5924199]     << f0
DEBUG:   [         5924346]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=f0 opcode=ffffffff
DEBUG:   [         5924346]     >> POLL not sent
DEBUG:   [         5924346]     SetConfiguration: double tap timeout = 200ms, repeat rate = 0ms, release delay = 500ms
DEBUG:   [         5924346]     detecting logical address for type 'recording device'
DEBUG:   [         5924346]     trying logical address 'Recorder 1'
DEBUG:   [         5924346]     << Recorder 1 (1) -> Recorder 1 (1): POLL
TRAFFIC: [         5924346]     << 11
ERROR:   [         5924346]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
TRAFFIC: [         5924346]     << 11
ERROR:   [         5924346]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
DEBUG:   [         5924346]     >> POLL not sent
DEBUG:   [         5924346]     using logical address 'Recorder 1'
DEBUG:   [         5924346]     Recorder 1 (1): device status changed into 'handled by libCEC'
DEBUG:   [         5924346]     Recorder 1 (1): power status changed from 'unknown' to 'on'
DEBUG:   [         5924346]     Recorder 1 (1): vendor = Pulse Eight (001582)
DEBUG:   [         5924346]     Recorder 1 (1): CEC version 1.4
DEBUG:   [         5924346]     AllocateLogicalAddresses - device '0', type 'recording device', LA '1'
DEBUG:   [         5924347]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0
DEBUG:   [         5924347]     CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1
DEBUG:   [         5924347]     Recorder 1 (1): osd name set to 'CECTester'
NOTICE:  [         5924347]     setting HDMI port to 1 on device TV (0)
DEBUG:   [         5924347]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [         5924347]     << 10
DEBUG:   [         5924347]     CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff
DEBUG:   [         5924489]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [         5924489]     << 10
DEBUG:   [         5924636]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [         5924636]     >> POLL not sent
DEBUG:   [         5924636]     << Recorder 1 (1) -> broadcast (F): physical address 1000
TRAFFIC: [         5924636]     << 1f:84:10:00:01
ERROR:   [         5924636]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
TRAFFIC: [         5924637]     << 1f:84:10:00:01
ERROR:   [         5924637]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64
DEBUG:   [         5924637]     using device/input physical address FFFF
NOTICE:  [         5924637]     CEC client registered: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 0, logical address(es) = Recorder 1 (1) , base device: TV (0), HDMI port number: 1, physical address: 1.0.0.0, compiled on Linux-4.19.0-14-arm64 ... , features: P8_USB, DRM, P8_detect, randr, Exynos, Linux, AOCEC
DEBUG:   [         5924637]     << Recorder 1 (1) -> TV (0): OSD name 'CECTester'
DEBUG:   [         5924637]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [         5924637]     << 10
DEBUG:   [         5924784]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [         5924784]     << 10
DEBUG:   [         5924931]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [         5924932]     >> POLL not sent
DEBUG:   [         5924932]     not sending command 'set osd name': destination device 'TV' marked as not present
DEBUG:   [         5924932]     << requesting power status of 'TV' (0)
DEBUG:   [         5924932]     << Recorder 1 (1) -> TV (0): POLL
TRAFFIC: [         5924932]     << 10
DEBUG:   [         5925079]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
TRAFFIC: [         5925079]     << 10
DEBUG:   [         5925227]     CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT - tx_status=24 len=1 addr=10 opcode=ffffffff
DEBUG:   [         5925227]     >> POLL not sent
DEBUG:   [         5925227]     not sending command 'give device power status': destination device 'TV' marked as not present