Jump to content

yopp

Members
  • Posts

    8
  • Joined

  • Last visited

  1. Pure chance, some random knowledge about HDMI protocol and some googling around 🙂 If video output works with other distributions on the same hardware, then it's most likely not a hardware issue. Since it works when OS booted without HDMI and @AlexanderTN said that it worked with FHD display and failed on 2K and my display is 4k and it didn't work, then it might be related to resolution. HDMI-equipped output devices have a feature to exchange information about supported video modes: EDID. So my hypothesis was when HDMI is plugged on boot, then it negotiates resolution that is not supported by GPU. And x96mini support max of FHD. I've googled is there a way to force linux kernel to use specific resolution regardless of what EDID presented and boom: there is an `drm_kms_helper.edid_firmware` option exactly for that. References: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html I wonder how to fix that in u-boot aml_autoboot script. When Armbian is installed on eMMC, for some reason changes in `/boot` are rolled back after reboot. I've bricked one device by trying to use one of the `armbian-*` scripts (don't remember which one), that offered boot partition update. Not a big deal at this point, I'll try to re-flash some compatible android image using AML Tools later. But still, it would be nice to find a way to fix this in bootloader.
  2. Temporary workaround is to add drm_kms_helper.edid_firmware=HDMI-A-1:edid/1920x1080.bin video=HDMI-A-1:1920x1080-24@60 at the end of `append` in `extlinux.conf`. Video signal now appears after kernel initializes
  3. As I suspected, that's HDMI subsystem issue. Here is `dmesg` where we can see driver crash: [ 5.636243] [drm] Initialized lima 1.1.0 20191231 for d00c0000.gpu on minor 2 [ 5.645822] ------------[ cut here ]------------ [ 5.676515] [CRTC:42:meson_crtc] vblank wait timed out [ 5.693403] WARNING: CPU: 0 PID: 623 at drivers/gpu/drm/drm_atomic_helper.c:1635 drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 5.717231] Modules linked in: meson_gxl dwmac_generic lima hid_logitech_dj(+) gpu_sched dw_hdmi_i2s_audio dwmac_meson8b rtc_meson_vrtc simpledrm drm_shmem_helper [ 5.743721] CPU: 0 PID: 623 Comm: irq/28-dw_hdmi_ Not tainted 6.1.11-meson64 #23.02.2 [ 5.763529] Hardware name: Amlogic Meson GXL (S905W) P281 Development Board (DT) [ 5.783127] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 5.802271] pc : drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 5.821299] lr : drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 5.840179] sp : ffff80000ac93960 [ 5.857939] x29: ffff80000ac93960 x28: 0000000000000000 x27: 0000000000000014 [ 5.877352] x26: ffff00007af4a800 x25: 0000000000000000 x24: 0000000000000001 [ 5.896681] x23: 0000000000000038 x22: 0000000000000001 x21: ffff0000091cf400 [ 5.915863] x20: ffff00007af4d080 x19: 0000000000000000 x18: 0000000000000010 [ 5.934906] x17: 0000000000000040 x16: 0000000000000000 x15: 000000000000014c [ 5.953744] x14: ffff80000ac93720 x13: 00000000ffffffea x12: ffff80000993b840 [ 5.972520] x11: 0000000000000003 x10: 0000000000000001 x9 : ffff800009923858 [ 5.991193] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : ffff800009923800 [ 6.009806] x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : ffff80000ac93718 [ 6.028367] x2 : ffff8000098cb750 x1 : c1fc788129109500 x0 : 0000000000000000 [ 6.046955] Call trace: [ 6.064029] drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 6.081904] drm_atomic_helper_commit_tail_rpm+0x64/0x80 [ 6.099072] commit_tail+0xa4/0x1a8 [ 6.116140] drm_atomic_helper_commit+0x170/0x188 [ 6.133272] drm_atomic_commit+0x94/0x120 [ 6.150312] drm_client_modeset_commit_atomic.isra.14+0x208/0x278 [ 6.167851] drm_client_modeset_commit_locked+0x60/0x1a0 [ 6.184945] drm_client_modeset_commit+0x30/0x58 [ 6.201828] __drm_fb_helper_restore_fbdev_mode_unlocked+0xcc/0x110 [ 6.219351] drm_fb_helper_set_par+0x3c/0x78 [ 6.236194] drm_fb_helper_hotplug_event.part.33+0x98/0xf8 [ 6.253010] drm_fbdev_client_hotplug+0x3c/0x1b8 [ 6.269862] drm_client_dev_hotplug+0x80/0xe0 [ 6.286283] drm_kms_helper_connector_hotplug_event+0x34/0x48 [ 6.302452] drm_helper_hpd_irq_event+0x120/0x130 [ 6.318352] dw_hdmi_top_thread_irq+0x78/0xa0 [ 6.333911] irq_thread_fn+0x2c/0xa8 [ 6.349003] irq_thread+0x11c/0x220 [ 6.363653] kthread+0x10c/0x118 [ 6.377897] ret_from_fork+0x10/0x20 [ 6.391643] ---[ end trace 0000000000000000 ]--- <snip> [ 17.893803] meson-drm d0100000.vpu: [drm] *ERROR* flip_done timed out [ 17.894628] meson-drm d0100000.vpu: [drm] *ERROR* [CRTC:42:meson_crtc] commit wait timed out [ 28.133780] meson-drm d0100000.vpu: [drm] *ERROR* flip_done timed out [ 28.134579] meson-drm d0100000.vpu: [drm] *ERROR* [CONNECTOR:34:HDMI-A-1] commit wait timed out [ 38.373778] meson-drm d0100000.vpu: [drm] *ERROR* flip_done timed out [ 38.374576] meson-drm d0100000.vpu: [drm] *ERROR* [PLANE:36:meson_primary_plane] commit wait timed out [ 38.485778] ------------[ cut here ]------------ [ 38.485800] [CRTC:42:meson_crtc] vblank wait timed out [ 38.489921] WARNING: CPU: 3 PID: 734 at drivers/gpu/drm/drm_atomic_helper.c:1635 drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 38.501923] Modules linked in: hid_logitech_hidpp meson_gxl dwmac_generic lima hid_logitech_dj gpu_sched dw_hdmi_i2s_audio dwmac_meson8b rtc_meson_vrtc simpledrm drm_shmem_helper [ 38.517710] CPU: 3 PID: 734 Comm: plymouthd Tainted: G W 6.1.11-meson64 #23.02.2 [ 38.526418] Hardware name: Amlogic Meson GXL (S905W) P281 Development Board (DT) [ 38.533750] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 38.540648] pc : drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 38.547203] lr : drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 38.553759] sp : ffff800009e0b960 [ 38.557036] x29: ffff800009e0b960 x28: 0000000000000000 x27: 0000000000000014 [ 38.564109] x26: ffff00007af4a800 x25: 0000000000000000 x24: 0000000000000001 [ 38.571181] x23: 0000000000000038 x22: 0000000000000001 x21: ffff00000935ea00 [ 38.578253] x20: ffff00007af4d080 x19: 0000000000000000 x18: 0000000000000010 [ 38.585326] x17: 00480168027808ca x16: 0882087808ca0870 x15: 0000000000000186 [ 38.592398] x14: ffff800009e0b720 x13: 00000000ffffffea x12: ffff80000993b840 [ 38.599471] x11: 0000000000000003 x10: 0000000000000001 x9 : ffff800009923858 [ 38.606544] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : ffff800009923800 [ 38.613616] x5 : 0000000000057fa8 x4 : 0000000000000000 x3 : ffff800009e0b718 [ 38.620689] x2 : ffff8000098cb750 x1 : c1fc788129109500 x0 : 0000000000000000 [ 38.627762] Call trace: [ 38.630178] drm_atomic_helper_wait_for_vblanks.part.23+0x274/0x290 [ 38.636387] drm_atomic_helper_commit_tail_rpm+0x64/0x80 [ 38.641647] commit_tail+0xa4/0x1a8 [ 38.645097] drm_atomic_helper_commit+0x170/0x188 [ 38.649755] drm_atomic_commit+0x94/0x120 [ 38.653723] drm_atomic_helper_set_config+0xdc/0x118 [ 38.658639] drm_mode_setcrtc+0x194/0x780 [ 38.662606] drm_ioctl_kernel+0xc0/0x178 [ 38.666488] drm_ioctl+0x1fc/0x490 [ 38.669851] __arm64_sys_ioctl+0xa8/0xe8 [ 38.673733] invoke_syscall+0x44/0x108 [ 38.677441] el0_svc_common.constprop.3+0x94/0xf8 [ 38.682099] do_el0_svc+0x2c/0xc8 [ 38.685376] el0_svc+0x20/0x50 [ 38.688395] el0t_64_sync_handler+0x98/0xc0 [ 38.692535] el0t_64_sync+0x170/0x174 [ 38.696158] ---[ end trace 0000000000000000 ]---
  4. @AlexanderTN In my case this monitor does work, but only if cable plugged in after boot. Hum, my monitor is 4K, and since your FHD worked and 2K does not, it might be related to resolutions that are higher than supported by GPU. Maybe it tries to initialize HDMI using max resolution reported obtained by HDMI's EDID and defaults to some hard-coded "safe" value if there is no device to initialize from, hence no resolution is reported by monitor.
  5. If HDMI cable plugged in on power-on there is no video signal at all. If HDMI cable is not plugged in on power-on and attached 30 seconds later, there is video signal and everything work as expected. So far I've tried `Armbian_23.02.2_Aml-s9xx-box_jammy_current_6.1.11` and `Armbian_23.02.2_Aml-s9xx-box_bullseye_current_6.1.11`. Both have same issues I don't have other monitors around, only this one. I don't think it's either cable, monitor or SD card, as CoreELEC and stock android work just fine on the same hardware. On monday, I'll try to dump boot logs for both cases when HDMI attached and not attached at boot. I'm curios whose fault is that: u-boot or kernel.
  6. Okay, wild thing: I've tried to poke UART with jumper wire with a help of my friend, who plugged/unplugged power on my command. We did that without HDMI cable connected. I finally was able to see serial port logs and guess what... it booted! At first I've thought that I haven't waited long enough for it to boot. I've attached HDMI cable back, rebooted and... same black screen. I've detached HDMI thinking of asking friend to do power thing again. I thought maybe I've shorted something around while I was poking UART. I've plugged power back and went for a friend. Accidentally I left ping pinging IP of the box and when I was back... host was responding to ICMP. And I was able to SSH into the host, I've attached HDMI back and voila: I had terminal on a screen. I've installed Armbian on emmc using `install-aml.sh` script and without USB stick it behaved the same: if HDMI is plugged there is no output after boot. I've tried to verify my findings on another brand new box. My steps: Plugged USB stick with Plugged network cable Held reset button Plugged power Waited about 2-5 seconds and released reset button Waited until box acquired IP over DHCP Plugged HDMI cable Got terminal output on screen I suppose there is some bug in video initialization at early stages of boot (u-boot?) that breaks HDMI when cable plugged in. Is there a place I can report it? I contribute boot logs over UART with cable both plugged and unplugged.
  7. @SteeMan, thanks for the link! I don't have original firmware around, but I do have 10 boxes I've flashed `Armbian_23.02.2_Aml-s9xx-box_jammy_current_6.1.11` on sd card and inserted it in fresh box, that was only booted in stock Android And with following configuration $ md5sum u-boot.ext u-boot-s905x-s912 81af2e7c3577b983e4ec88ff870c5ffb u-boot.ext 81af2e7c3577b983e4ec88ff870c5ffb u-boot-s905x-s912 $ cat extlinux/extlinux.conf LABEL Armbian LINUX /uImage INITRD /uInitrd #FDT /dtb/amlogic/meson-gxbb-p200.dtb #FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb FDT /dtb/amlogic/meson-gxl-s905w-p281.dtb #FDT /dtb/amlogic/meson-gxm-q200.dtb #FDT /dtb/amlogic/meson-g12a-x96-max.dtb #FDT /dtb/amlogic/meson-g12b-odroid-n2.dtb append root=UUID=89c45261-1cd5-4b2d-9970-1b5a56ff98e2 rootflags=data=writeback console=ttyAML0,115200n8 console=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 splash plymouth.ignore-serial-consoles I'm getting black screen if I hold reset for 2,3,4,5 seconds. With 6 seconds and more I get X96mini splash screen for a second and then black screen again. I tried using `gxl_p281_2g.dtb` from coreelec image, but result is the same — black screen.
  8. I have X96mini on hardware revision Q6X v2.3 18186 with SanDisk nand chip and I'm facing same issue: it can't boot into Armbian. I've tried images: * `Armbian_23.02.2_Aml-s9xx-box_bullseye_current_6.1.11.img` * `Armbian_23.02.2_Aml-s9xx-box_jammy_current_6.1.11.img` * `Armbian_23.05.0_amlogic_s905w_jammy_5.15.106_server_2023.04.06.img` * `Armbian_23.05.0_amlogic_s905w_bullseye_6.1.22_server_2023.04.05.img` I've copied `u-boot-s905x-s912` to `u-boot.ext` and changed `extlinux.conf` to use `meson-gxl-s905w-p281.dtb` DTB. It doesn't matter how long I press reset button, if it's pressed it boots straight into Android Recovery. I've tried factory reset from said recovery, but no luck. At the same time I have no issues booting into CoreELEC (`CoreELEC-Amlogic-ng.arm-21.0-Omega_nightly_20230402-Generic.img`) with `gxl_p281_2g.dtb`, just by inserting SD card without even touching reset button. It boots even from USB stick inserted in white port. Btw, is there any way to force u-boot to log to HDMI instead of uart in aml_autoscript/boot.scr? Thanks!
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines