No HDMI Signal - is my board dead?

In the Quick Start Guide you will find some useful hints.

thanks. the other guide all i saw is what it was for, but no chart of the settings. Asuming 1 is towards the cpu, it looks like in my case its set to boot off uart from factory… not SD. So that would be a problem. i will have to change that tonight.

SDIO 3.0 stands for a transmission standard for SD cards that, in contrast to SPI, can use up to 4 bits for data transmission and allows higher data rates.

SDIO Protocol

One of the “Known Issues / Limitation” is “Boot flow(boot from SD or eMMC) are not supported yet” from the “Release_Notes_for_Debian_Image69.pdf” found at one of the links off So for now the switches need to select the onboard flash.

1 Like

well darn. back to digging out my debug cable :slight_smile:

There is a different SD card image (not Debian) which should boot (I grabbed this post and auto translated anything that was not already in English):

There is also a picture of the boot switch positions here.

That was the image i was trying earlier and not touching the boot switch ( somewhere i read it was buildroot, so ya, not Debian ). Got home, flipped the switches around for SD but still no display, so its back to looking for my debug cable to see what its really doing… ( also for fun i tried the other positions, but same results. )

it just dont like me. didnt have as much trouble with v1. :frowning:

Board arrived this week :). I’m having the same issue. The board boots both image-55 and image-69 fine, and I updated the boot loader, etc using the sdcard.img as per another post here but I’m still yet to get anything over HDMI.

I’ve tried 3 different displays, they know something is connected but there’s no video signal.

I’ll try to check the serial console tomorrow once I dig out an adapter.

Edit: Okay… I just logged in over ssh to a booted starfive-jh7110-VF2_515_v2.5.0-69-minimal-desktop.img and killed lightdm, when it came back up I got HDMI output!

Here’s what was going on in dmesg

[   13.818472] vs_gem_dumb_create size = 1000
[   13.822620] Allocated coherent memory, vaddr: 0xFFFFFFE1FB4D5AD8, paddr: 0x1051E5000
[   13.830408] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   14.223868] PVR_K:  415: RGX Firmware image 'rgx.fw.' loaded
[   14.287661] PVR_K:  415: Shader binary image '' loaded
[   14.298844] PVR_K:  415: X connected - (devID = 0)
[   14.618521] vs_gem_dumb_create size = 7e9000
[   14.623822] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BE0C0, paddr: 0x80200000
[   14.631551] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   14.674283] vs_gem_dumb_create size = 4000
[   14.678536] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BAA80, paddr: 0x80108000
[   14.686211] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   14.691968] vs_gem_dumb_create size = 4000
[   14.696228] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BAB60, paddr: 0x8010C000
[   14.703892] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   15.693242] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate rate 148500000 tmdsclk 148500000
[   15.802751] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pixclock = 148500000
[   15.812506] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmdsclock = 148500000
[   15.822341] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->prediv = 1
[   15.831224] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->fbdiv = 99
[   15.840107] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_a = 1
[   15.849343] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_b = 1
[   15.858571] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->tmds_div_c = 1
[   15.867801] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_a = 1
[   15.877027] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_b = 2
[   15.886255] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_c = 2
[   15.895468] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->pclk_div_d = 2
[   15.904694] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->vco_div_5_en = 0
[   15.914102] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->pre_cfg->fracdiv = 0
[   15.923076] innohdmi-starfive 29590000.hdmi: *******************************************************
[   15.932217] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->tmdsclock = 148500000
[   15.942137] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->prediv = 1
[   15.951111] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->fbdiv = 20
[   15.960083] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->postdiv = 1
[   15.969145] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->post_div_en = 3
[   15.978551] innohdmi-starfive 29590000.hdmi: inno_hdmi_phy_clk_set_rate hdmi->post_cfg->version = 3
[   34.496086] mipi_0p9: disabling
[   62.485584] PVR_K:  415: X disconnected - (devID = 0)
[   62.789700] vs_gem_dumb_create size = 1000
[   62.793826] Allocated coherent memory, vaddr: 0xFFFFFFE1FB4CCF80, paddr: 0x104F68000
[   62.801591] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   62.849746] PVR_K:  586: X connected - (devID = 0)
[   62.945353] vs_gem_dumb_create size = 7e9000
[   62.951193] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BE0C0, paddr: 0x80200000
[   62.958957] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   63.000068] vs_gem_dumb_create size = 4000
[   63.004299] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BAA80, paddr: 0x80108000
[   63.011976] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[   63.017751] vs_gem_dumb_create size = 4000
[   63.021920] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BAB60, paddr: 0x8010C000
[   63.029599] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0

Edit 2: The first attempt logging into lightdm fails (PVRSRV_ERROR_DEVICEMEM_OUT_OF_DEVICE_VM), but it works on the second attempt:

[  163.583818] PVR_K:  599: X disconnected - (devID = 0)
[  163.618637] vs_gem_dumb_create size = 1000
[  163.622770] Allocated coherent memory, vaddr: 0xFFFFFFE1FB924F50, paddr: 0x118D1E000
[  163.630535] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[  163.681309] PVR_K:  756: X connected - (devID = 0)
[  163.695088] PVR_K:(Error):   756: DevmemSubAllocate: Failed! Error is PVRSRV_ERROR_DEVICEMEM_OUT_OF_DEVICE_VM. Allocation size: 0x0000010000 [1635]
[  163.708604] PVR_K:(Error):   756: DevmemSubAllocate: Failed! Error is PVRSRV_ERROR_DEVICEMEM_OUT_OF_DEVICE_VM. Allocation size: 0x0000008000 [1635]
[  163.722541] PVR_K:(Error):   756: DevmemSubAllocate: Failed! Error is PVRSRV_ERROR_DEVICEMEM_OUT_OF_DEVICE_VM. Allocation size: 0x0000008000 [1635]
[  163.801141] vs_gem_dumb_create size = 7e9000
[  163.806337] Allocated coherent memory, vaddr: 0xFFFFFFE1F97DA0C0, paddr: 0x80A00000
[  163.814024] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[  163.862671] vs_gem_dumb_create size = 4000
[  163.867103] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BA9A0, paddr: 0x80104000
[  163.874771] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0
[  163.880547] vs_gem_dumb_create size = 4000
[  163.884856] Allocated coherent memory, vaddr: 0xFFFFFFE1F97BAA80, paddr: 0x80108000
[  163.892535] ====> vs_gem_alloc_buf, 162.vs_obj->get_pages = 0

1 Like

Please keep boot switch to QSPI flash mode as we are still working on boot flow of SD/eMMC for debian.
any booting log from serial port? do you have try “modetest -M starfive -c” command to see EDID from monitor?

1 Like

Rich man :smile:

1 Like

Ill restore the switch settings back to flash mode, and in my case unsure on serial. Cant find my uart/usb debugger, ordered a new one. ETA next week. ( should have been with my fpga programmers, but it was not. )

Still waiting on a new debug cable but this is what i have done so far:

  • Grabbed the 55 Debian image. All possible switch settings.
  • Tried the buildroot image. Again, all possible switch settings
  • No SD and powered it on. All possible switch settings

I do not have eMMC or m.2 installed. this is ‘bare’ microSD. Only addition from when it showed at my door is a fan.

In both cases i get no HDMI, power light stays red, and neither Ethernet port turns on ( which blows me updating flash ). I did not expect HDMI when i powered on with no SD and need to use the serial port instead, but shouldn’t the Ethernet at least turn on?

I did try a 2nd power supply, just in case. No change in results. Am i just hosed?

Note: this is one of the super early bird specials with the 2 different speed Ethernet ports.

From “Release_Notes_for_Debian_Image55.pdf” in the “Known Issues / Limitation” section there is “Eth0 cannot be assigned IP address”. So be sure to connect the network cable to Eth1, (I am about 95% sure that is the Network port closest to the HDMI port.).

Also from the Image55 release notes “Known Issues / Limitation” section is “Boot flow(boot from SD or eMMC) are not supported yet”, so if you are using that image the only boot switch setting which will work is “Flash” - both switches moved closer to the RAM in the middle of the board and further away from the edge of the board.

The third thing is to powerup the board and just leave it there for say 5 minutes, go have a coffee, then check for blinking LED’s. It could be stuck there waiting on a timeout, and you are powering it off before it timesout. Full disclosure, I should probably add that I have no VF2 hardware yet, but the above is the steps I would take in your exact situation.

One problem I had years ago with a particularly cheap HDMI cable was that it only worked one way around, if I plugged it in the other way around I got a blank screen! Needless to say that cable was binned fast.

EDIT: From my basic understanding there are 4 main stages (5 if you count OpenSBI which is loaded with u-boot) to the boot process:

  • ROM-> CPU L1 cache (32 KiB) binary is 32 KiB
  • spl-u-boot->CPU L2 Cache (2 MiB) binary is typically about 125~140 KiB
  • u-boot->main DDR RAM (2/4/8 GiB) binary is typically about 2.7 MiB
  • kernel->main DDR RAM (2/4/8 GiB) binary manages all the RAM

As far as I know those two switch tell the CPU where it should attempt to load the spl-u-boot from.


I had cables plugged into both Ethernet ports, as i also saw that disclaimer and didnt feel like guessing/testing a 2nd time for each switch setting.

And while i started with ‘flash boot’ settings, i did try them all out of desperation.

HDMI cables, ya, tried more than one cable, but since i’m not getting a power light on either Ethernet port, and i assume the red light turns green at some point too, its not getting that far, so that was sort of academic anyway.

Only thing i have not done is write the image to emmc, as i think i read somewhere that wont work, yet.

On waiting, i left it for an hour on flashboot ( the first test ) as i left the house shortly afterward.

With luck ill get my replacement debug cable soon and can at least look at the serial console, perhaps with some useful info there…

1 Like

Mine wouldn’t boot at all with the HDMI cable connected until I updated uboot and SPL. I would boot the sdcard.img with HDMI disconnected completely and use SSH+SCP to update it first. That’s what worked for me. The HDMI port works fine after I did that.

1 Like

Even with sdcard image ( on SD ), and no hdmi i still dont get any network so i cant update.

I am sure there will be some sort of message on the serial console, once i can see it

Are you getting both a solid red light and flashing green light after some time? I would try it with just the power connected and the microSD card inserted and nothing else to see if it gets that far. Make sure the boot switches are set for flash (both DIP switches away from the the MIPI DSI connector,) not SD, since directly booting from the SD card is not yet supported.

I assume you still don’t get a green led? The ethernet port (next to the HDMI port) is still not active?
Can you try without a fan?
How did you write the image to the micro SD card?
Did you write on a Linux machine? Does the card get mounted and can you see the contents?

Nope. solid red only. Never even blinks green like it tried and failed. No light for Ethernet. even if it never got to negotiation id at least expect to see a connection light.

Currently the switches are back to flash. ( after i tried the others, i put it back )

Written with etcher on Debian Linux, etcher verified, and is mountable on my host. This is also the 2nd card. My first attempt when i first got the board i used a different one, and intentionally switched for this round just in case ( forgot to mention that ) ( this isn’t my first rodeo, so i have hit every possibility i could think of before i asked for help :slight_smile: )

I did forget to mention i used 2 different power supplies. 1 PD compliant, the other not.

First go around when i got the board i didnt yet have fan, but at your suggestion i removed it and tried again, and let it sit for ~10 minutes. Still nothing other than that damned angry red power led. ( its the fan off my v1 board, so it should have been ok anyway, but its unplugged for now. )

So frustrating, as it should not be this hard to get a little life out of it.

EDIT: after letting it run a bit longer i could feel the CPU was warm. Not hot, but warm enough to know it was warm. Donno if that means anything or not, just putting it out there.

I recommend you get a USB serial adapter and use that to troubleshoot - it’s really the lowest level. Not getting HDMI output is very much at the other end, eg. I have everything working except HDMI output.