At some point I got tired of looking for forgotten debug cables in old projects. Here is a 4-year-old photo of my collection, which has grown a bit in the meantime.
Curious, im not seeing it documented in their guide ( but i might be missing it ) but what are the various settings for the boot mode switches? Perhaps mine is not set to boot off SD? Mine are both pointing towards the CPU. I know i can just try combinations but would be nice to know what each setting is supposed to do…
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.
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 https://debian.starfivetech.com/. So for now the switches need to select the onboard flash.
well darn. back to digging out my debug cable
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.
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.36.50.54.182' loaded
[ 14.287661] PVR_K: 415: Shader binary image 'rgx.sh.36.50.54.182' 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
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?
Rich man
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…
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.
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?