

doomdog
Members-
Posts
2 -
Joined
-
Last visited
-
XU4, Armbian 23.02.3 Bullseye, HDMI CEC not working
doomdog replied to doomdog's topic in Odroid XU4
Ok, responding to myself lol. After many days (and nights) of testing, reflashing, up/downgrading, switching kernels/branches, even rolling my own... ....it turns out that whatever I do, kernel 5.4.x just doesn't want to give me CEC. BUT. If I run 6.1.y, CEC just works. It doesn't matter how I get to 6.1 (switching kernels, compiling my own, building from git, any branch, any userspace), it just works. It doesn't even matter what I have in boot.ini (you know, that option to supposedly turn off CEC, or that pesky HPD). So I'm at a loss. If anyone could please find out what's going on here. What could be the difference between 5.4 and 6.1 with regards to HDMI CEC? I can't figure it out. It bugs me to no end. Maybe what I described rings a bell for someone. I'm gonna stop for now and wait for the stable 23.05 with Bookworm, 6.1 and (hopefully!) still working CEC. -
Greetings, As the subject says... CEC not detected in kernel, cec-client throws errors, nothing I tried worked. root@odroidxu4:~# uname -a Linux odroidxu4 5.4.239-odroidxu4 #1 SMP PREEMPT Thu Mar 16 15:52:54 UTC 2023 armv7l GNU/Linux root@odroidxu4:~# cec-client -l libCEC version: 6.0.2, compiled on Linux-4.19.0-14-armmp-lpae ... , features: P8_USB, DRM, P8_detect, randr, Exynos, Linux, AOCEC Found devices: 1 device: 1 com port: Linux vendor id: 0000 product id: 0000 firmware version: 0 type: Linux root@odroidxu4:~# cec-client 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: [ 468] Broadcast (F): osd name set to 'Broadcast' DEBUG: [ 468] CLinuxCECAdapterCommunication::Open - m_fd=3 bStartListening=1 DEBUG: [ 468] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_G_PHYS_ADDR - addr=ffff WARNING: [ 468] CLinuxCECAdapterCommunication::Open - physical address is invalid DEBUG: [ 468] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 468] CLinuxCECAdapterCommunication::Open - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1 NOTICE: [ 469] connection opened DEBUG: [ 469] << Broadcast (F) -> TV (0): POLL TRAFFIC: [ 469] << f0 ERROR: [ 469] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 TRAFFIC: [ 469] << f0 ERROR: [ 469] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 DEBUG: [ 469] >> POLL not sent DEBUG: [ 469] TV (0): device status changed into 'not present' DEBUG: [ 469] registering new CEC client - v6.0.2 DEBUG: [ 469] SetClientVersion - using client version '6.0.2' NOTICE: [ 469] setting HDMI port to 1 on device TV (0) DEBUG: [ 469] << Broadcast (F) -> TV (0): POLL TRAFFIC: [ 469] << f0 ERROR: [ 469] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 TRAFFIC: [ 469] << f0 ERROR: [ 469] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 DEBUG: [ 469] >> POLL not sent DEBUG: [ 469] SetConfiguration: double tap timeout = 200ms, repeat rate = 0ms, release delay = 500ms DEBUG: [ 469] detecting logical address for type 'recording device' DEBUG: [ 469] trying logical address 'Recorder 1' DEBUG: [ 469] << Recorder 1 (1) -> Recorder 1 (1): POLL DEBUG: [ 469] CLinuxCECAdapterCommunication::Process - CEC_DQEVENT - CEC_EVENT_STATE_CHANGE - log_addr_mask=0000 phys_addr=ffff TRAFFIC: [ 469] << 11 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 TRAFFIC: [ 470] << 11 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 DEBUG: [ 470] >> POLL not sent DEBUG: [ 470] using logical address 'Recorder 1' DEBUG: [ 470] Recorder 1 (1): device status changed into 'handled by libCEC' DEBUG: [ 470] Recorder 1 (1): power status changed from 'unknown' to 'on' DEBUG: [ 470] Recorder 1 (1): vendor = Pulse Eight (001582) DEBUG: [ 470] Recorder 1 (1): CEC version 1.4 DEBUG: [ 470] AllocateLogicalAddresses - device '0', type 'recording device', LA '1' DEBUG: [ 470] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=0 DEBUG: [ 470] CLinuxCECAdapterCommunication::SetLogicalAddresses - ioctl CEC_ADAP_S_LOG_ADDRS - log_addr_mask=0000 num_log_addrs=1 DEBUG: [ 470] Recorder 1 (1): osd name set to 'CECTester' DEBUG: [ 470] Recorder 1 (1): menu language set to 'eng' NOTICE: [ 470] setting HDMI port to 1 on device TV (0) DEBUG: [ 470] << Recorder 1 (1) -> TV (0): POLL TRAFFIC: [ 470] << 10 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 TRAFFIC: [ 470] << 10 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 DEBUG: [ 470] >> POLL not sent DEBUG: [ 470] Recorder 1 (1): physical address changed from ffff to 1000 DEBUG: [ 470] << Recorder 1 (1) -> broadcast (F): physical address 1000 TRAFFIC: [ 470] << 1f:84:10:00:01 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 TRAFFIC: [ 470] << 1f:84:10:00:01 ERROR: [ 470] CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=64 root@odroidxu4:~# lsmod Module Size Used by rfkill 24576 1 cpufreq_powersave 16384 0 cpufreq_userspace 16384 0 cpufreq_conservative 16384 0 zstd 16384 8 joydev 20480 0 input_leds 16384 0 exynos_gsc 32768 0 s5p_mfc 135168 0 s5p_jpeg 45056 0 v4l2_mem2mem 20480 2 s5p_jpeg,exynos_gsc videobuf2_dma_contig 20480 3 s5p_jpeg,s5p_mfc,exynos_gsc mali_kbase 364544 0 videobuf2_memops 16384 1 videobuf2_dma_contig videobuf2_v4l2 24576 4 s5p_jpeg,s5p_mfc,exynos_gsc,v4l2_mem2mem videobuf2_common 40960 5 s5p_jpeg,s5p_mfc,exynos_gsc,v4l2_mem2mem,videobuf2_v4l2 s5p_cec 16384 0 evdev 24576 4 exynos_gpiomem 16384 0 zram 28672 2 sunrpc 315392 1 ip_tables 24576 0 ipv6 462848 42 autofs4 36864 2 usbhid 49152 0 gpio_keys 20480 0 root@odroidxu4:~# zgrep CEC /proc/config.gz CONFIG_TABLET_USB_ACECAD=m CONFIG_CEC_CORE=y CONFIG_CEC_NOTIFIER=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CEC_RC is not set # USB HDMI CEC adapters # CONFIG_USB_PULSE8_CEC is not set # CONFIG_USB_RAINSHADOW_CEC is not set # CONFIG_VIDEO_VIVID_CEC is not set CONFIG_CEC_PLATFORM_DRIVERS=y # CONFIG_VIDEO_CROS_EC_CEC is not set # CONFIG_CEC_GPIO is not set CONFIG_VIDEO_SAMSUNG_S5P_CEC=m # CONFIG_DRM_DP_CEC is not set Please help! Thanks in advance.