Kelvie Wong Posted Tuesday at 02:11 AM Posted Tuesday at 02:11 AM (edited) So I have two boards, and two images, both built with armbian-build. I built `current` on March 24th 2025 and HDMI and everything works great I built one this week and there is no HDMI output. Logs of the non-working one: Apr 07 18:36:09 radxa-zero3 kernel: mmc2: new UHS-I speed SDR104 SDIO card at address 390b Apr 07 18:36:09 radxa-zero3 kernel: rk808-rtc rk808-rtc.4.auto: registered as rtc0 Apr 07 18:36:09 radxa-zero3 kernel: rk808-rtc rk808-rtc.4.auto: setting system clock to 2017-08-05T09:00:10 UTC (1501923610) Apr 07 18:36:09 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: Adding to iommu group 0 Apr 07 18:36:09 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe040000.vop (ops vop2_component_ops [rockchipdrm]) Apr 07 18:36:09 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY) Apr 07 18:36:09 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver Apr 07 18:36:09 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops dw_hdmi_rockchip_ops [rockchipdrm]) Apr 07 18:36:09 radxa-zero3 kernel: [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 0 Apr 07 18:36:09 radxa-zero3 kernel: rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes Apr 07 18:36:09 radxa-zero3 kernel: rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes Logs of the working one: Mar 24 21:17:04 radxa-zero3 kernel: mmc_host mmc2: Bus speed (slot 0) = 150000000Hz (slot req 150000000Hz, actual 150000000HZ div = 0) Mar 24 21:17:04 radxa-zero3 kernel: dwmmc_rockchip fe2c0000.mmc: Successfully tuned phase to 150 Mar 24 21:17:04 radxa-zero3 kernel: mmc2: new ultra high speed SDR104 SDIO card at address 390b Mar 24 21:17:04 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: Adding to iommu group 0 Mar 24 21:17:04 radxa-zero3 kernel: rk808-rtc rk808-rtc.4.auto: registered as rtc0 Mar 24 21:17:04 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe040000.vop (ops vop2_component_ops [rockchipdrm]) Mar 24 21:17:04 radxa-zero3 kernel: rk808-rtc rk808-rtc.4.auto: setting system clock to 2017-08-05T09:00:10 UTC (1501923610) Mar 24 21:17:04 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY) Mar 24 21:17:04 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver Mar 24 21:17:04 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops dw_hdmi_rockchip_ops [rockchipdrm]) Mar 24 21:17:04 radxa-zero3 kernel: [drm] Initialized rockchip 1.0.0 for display-subsystem on minor 0 Mar 24 21:17:04 radxa-zero3 kernel: Console: switching to colour frame buffer device 240x67 Mar 24 21:17:04 radxa-zero3 kernel: rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device On the non-working one, I've tried both the same kernel version (6.12.20) as well as the most recent `current` (6.12.21), and edge (6.14.1). Buildling a vendor image on bookworm works fine. Given I have two systems where one works and one doesn't, what can I check between them (deb package versions maybe? DTB files?) to help debug this? Edited Wednesday at 02:20 AM by Kelvie Wong update with discovery 0 Quote
Kelvie Wong Posted Tuesday at 06:40 PM Author Posted Tuesday at 06:40 PM Digging through my build logs, it seems the last kernel that worked is "linux-image-current-rockchip64_25.05.0-trunk_arm64__6.12.20-Sf491-Da873-Pe64b-C1f18H02eb-HK01ba-Vc222-B9bbb-R448a.deb" -- anyone know how I can rebuild this? 0 Quote
Kelvie Wong Posted Wednesday at 01:45 AM Author Posted Wednesday at 01:45 AM Hm, I found the debs locally and installed them (along with the DTBs), still don't have HDMI. At this point I'd suspect the hardware but the vendor image works. 0 Quote
Kelvie Wong Posted Wednesday at 02:19 AM Author Posted Wednesday at 02:19 AM I disassembled my other radxa and swapped the SD cards, and it is just something funny with this hardware. I also just realized I bought a different configuration -- the one that works with `current` is a 2GB RAM version, and the one that has no HDMI (except on `vendor`) is a 4GB RAM version. I wonder if there are hardware differences. 0 Quote
Kelvie Wong Posted Wednesday at 02:24 AM Author Posted Wednesday at 02:24 AM Here are the logs on the vendor side (grepping for drm and edid): root@radxa-zero3:~# journalctl -k -b 0 | grep -e hdmi -e drm Apr 08 11:26:19 radxa-zero3 kernel: OF: fdt: Reserved memory: failed to reserve memory for node 'drm-logo@0': base 0x0000000000000000, size 0 MiB Apr 08 11:26:19 radxa-zero3 kernel: OF: fdt: Reserved memory: failed to reserve memory for node 'drm-cubic-lut@0': base 0x0000000000000000, size 0 MiB Apr 08 11:26:19 radxa-zero3 kernel: platform fe040000.vop: Fixed dependency cycle(s) with /hdmi@fe0a0000 Apr 08 11:26:19 radxa-zero3 kernel: platform fe0a0000.hdmi: Fixed dependency cycle(s) with /vop@fe040000 Apr 08 11:26:19 radxa-zero3 kernel: [drm] all windows should be assigned, full plane mask: Cluster0 | Cluster1 | Esmart0 | Esmart1 | Smart0 | Smart1[0x3f], current plane mask: [0x0 Apr 08 11:26:19 radxa-zero3 kernel: [drm] use default plane mask Apr 08 11:26:19 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: [drm:vop2_bind] vp0 assign plane mask: Cluster0 | Cluster1 | Esmart0 | Esmart1 | Smart0 | Smart1[0x3f], primary plane phy id: Smart0[4] Apr 08 11:26:19 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: [drm:vop2_bind] vp1 assign plane mask: [0x0], primary plane phy id: INVALID[-1] Apr 08 11:26:19 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: [drm:vop2_bind] vp2 assign plane mask: [0x0], primary plane phy id: INVALID[-1] Apr 08 11:26:19 radxa-zero3 kernel: [drm] failed to init overlay plane Cluster0-win1 Apr 08 11:26:19 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe040000.vop (ops 0xffff80000939a0c0) Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Looking up avdd-0v9-supply from device tree Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Looking up avdd-0v9-supply property in node /hdmi@fe0a0000 failed Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Looking up avdd-1v8-supply from device tree Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Looking up avdd-1v8-supply property in node /hdmi@fe0a0000 failed Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY) Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: error -ENXIO: IRQ index 1 not found Apr 08 11:26:19 radxa-zero3 kernel: rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops 0xffff8000093b2958) Apr 08 11:26:19 radxa-zero3 kernel: [drm] Initialized rockchip 4.0.0 20140818 for display-subsystem on minor 0 Apr 08 11:26:19 radxa-zero3 kernel: rockchip-drm display-subsystem: failed to parse loader memory Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: failed to get edid Apr 08 11:26:19 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: failed to get edid Apr 08 11:26:19 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_enable] Update mode to 1280x720p60, type: 11(if:HDMI0, flag:0x0) for vp0 dclk: 74250000 Apr 08 11:26:19 radxa-zero3 kernel: rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_enable] set dclk_vop0 to 74250000, get 74250000 Apr 08 11:26:19 radxa-zero3 kernel: rockchip-drm display-subsystem: [drm] fb0: rockchipdrmfb frame buffer device Apr 08 11:26:19 radxa-zero3 kernel: rockchip-drm display-subsystem: [drm] run display error_event monitor Apr 08 11:26:19 radxa-zero3 kernel: rc rc0: dw_hdmi as /devices/platform/fe0a0000.hdmi/rc/rc0 Apr 08 11:26:19 radxa-zero3 kernel: input: dw_hdmi as /devices/platform/fe0a0000.hdmi/rc/rc0/input0 Apr 08 11:26:19 radxa-zero3 kernel: input: hdmi_cec_key as /devices/platform/fe0a0000.hdmi/dw-hdmi-cec.1.auto/input/input1 Apr 08 11:26:19 radxa-zero3 kernel: #0: rockchip-hdmi0 Apr 08 11:26:19 radxa-zero3 systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm... Apr 08 11:26:19 radxa-zero3 systemd[1]: modprobe@drm.service: Deactivated successfully. Apr 08 11:26:19 radxa-zero3 systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm. Apr 08 11:26:19 radxa-zero3 kernel: [drm] Initialized panfrost 1.2.0 20180908 for fde60000.gpu on minor 1 Apr 08 11:28:40 radxa-zero3 kernel: dwhdmi-rockchip fe0a0000.hdmi: failed to get edid root@radxa-zero3:~# This happens on multiple monitors and cables. 0 Quote
Igor Posted Wednesday at 05:03 AM Posted Wednesday at 05:03 AM Thank you for reporting this problem and Welcome to forums! Looks-like issues with HDMI driver / edid readout, perhaps forcing resolution might be a workaround? But how-to, you need to look into the kernel code. Also make sure to try daily builds from time to time to see if things are fixed. https://docs.armbian.com/User-Guide_Armbian-Config/System/#switch-system-to-rolling-packages-repository I hope the general difference between vendor and mainline derived kernel (and u-boot) is understandable? https://docs.armbian.com/User-Guide_FAQ/#why-does-hardware-feature-xy-work-in-old-kernel-but-not-in-more-recent-one On 4/8/2025 at 4:11 AM, Kelvie Wong said: what can I check between them (deb package versions maybe? DTB files?) to help debug this? Depends on your technical understanding - look into the code, compile kernel with additional debug, understand how it works ... I am not familiar with HDMI subsystem, so you need to hope from attention from someone that is. Or just dig into the code and share findings. Telling that it fails / errors out, is just a very first step from a possible long journey. This is community support, we all have this problem. Helping others is helping yourself. You are welcome to help the project anywhere you can. That helps too. The amount of issues in open source code (not Armbian problem per se) that are waiting to be fixed is already enormous and we fight this without your help and without help from company that should be around actively (Rockchip). Whenever I spoke to them, they brag how good they are and how many engineers they have and how well their products are ... while I know state of their products better then themselves. Functional regressions you experienced are totally normal, expected and will happen in the future. No matter how much time goes into the code, Linux is maintained and developed by many people, overall complexity is quite extreme. This problem is not yours, but from everyone. So it is approach for solving it. 0 Quote
going Posted Wednesday at 08:56 AM Posted Wednesday at 08:56 AM 08.04.2025 в 05:11, Kelvie Wong сказал: On the non-working one, I've tried both the same kernel version (6.12.20) as well as the most recent `current` (6.12.21), and edge (6.14.1). The driver in these kernels works well for "old" 1080p monitors. It has been verified that it does not work with SAMSUNG, LG 2k, 4k resolution models. This problem is in the drivers 08.04.2025 в 05:11, Kelvie Wong сказал: Buildling a vendor image on bookworm works fine. Given I have two systems where one works and one doesn't, what can I check between them (deb package versions maybe? DTB files?) to help debug this? You can set in the file /boot/armbianEnv.txt verbosity=10. The output of this command in a working and non-working version may possibly suggest which of the driver modules is failing. dmesg | grep -E 'hdmi|drm|gpu|edid|cec' 0 Quote
Werner Posted Wednesday at 01:23 PM Posted Wednesday at 01:23 PM 4 hours ago, going said: verbosity=10. I don't think this will increase verbosity even higher. 7 is max https://www.kernel.org/doc/html/v6.12/admin-guide/kernel-parameters.html 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.