Flashing OpenWRT OS image on StarFive vision 2 board

Please take a look at the partition table

But that would mean, that no valid spl/u-boot is found. Btw, the green LED comes up when a working kernel is loaded, not before.
Are you sure you are running in SD mode and have valid partitions 1+2 on your SD? Or in QSPL mode and then having the same, valid partitions in the flash memory?
Oh…and are you using the correct UART pins (6,8 and 10)?
Sorry if those questions sound stupid but sometimes one overlooks the obvious :wink:

1 Like

Hi @Nightwulf ,

Please take a look at this partition. This was something we have after flashing a debian image.


And flashing with OpenWRT image. Is this fine? Is this how it should look like or am I doing something wrong?

How am I supposed to use this SD card to flash OpenWRT image that would require 2+1 partition?
Partition is something that comes with the OS image, isn’t it? Should I do something to change it?

The partitions themselves look correct. The question is, whether the contents are ok. And if not a single bit of information is shown on the serial lines, that tells me, that the BROM loader doesn’t even find a valid SPL. So there is either a worng setting on the DIP switches side or the partitions doesn’t contain SPL/U-Boot, as they should.
Could help do read the contents back and compare them to the two files provided on the release pages.
Could be, that after that still OpenWRT doesn’t boot (I don’t know how that is built…I know what it basically is but not how it boots). But at least you should then see some information on the serial console telling you, what is wrong.

1 Like

We have 3 files for this.

  • openwrt-jh71x0-generic-visionfive2-v1.3b-ext4-sdcard.img (generated using link)
    SPL and U-boot files
  • u-boot-spl.bin.normal.out
  • visionfive2_fw_payload.img

We are writing them on 3 different partitions.

Is this how we must do it? Is there any commands that you could suggest to write these on SD card properly?

If you say you write “openwrt…img” to a single partition, than that is at least one mistake. That image contains all four partitions and has to be written to the card device, not a single partition.
e.g. dd if=/dev/sdX... and NOT dd if=/dev/sdX1..... Exactly as it is stated in nr. 8 of the link you just provided.

1 Like

thanks @Nightwulf

This is the command we used to flash sd card, please correct the command if I am wrong.

dd if=openwrt-jh71x0-generic-visionfive2-v1.3b-ext4-sdcard.img of=/dev/sdb bs=1M
dd if=u-boot-spl.bin.normal.out of=/dev/sdb1 oflag=direct
dd if=visionfive2_fw_payload.img of=/dev/sdb2 oflag=direct

1 Like

maybe the spl and uboot should be flash into QSPI flash,not the sdb1 and sdb2 ? And the boot mode should be QSPI.


Since the image does not include SPL and U-Boot, Nor Flash needs to have SPL and U-Boot flashed and should boot with QSPI Nor Flash.

This is from the document. @kira @Nightwulf

May I know how to do it? Is there any commands for that?

1 Like

you can use debian image boot from sdcard boot mode,and then use flashcp to update or use a tftp.
This link will help you updating the spl and uboot of flash.
Updating SPL and U-Boot of Flash (rvspace.org)


As kira said…and then be sure, that both DIP switches are in the “off” position for booting that image. RGPIO 0 and 1 needs to be off to boot via QSPL-Flash.

1 Like

Hi @Nightwulf and @kira
Earlier I had an issue with serial converter. After fixing it, now I am able to see the logs in the serial console if I boot with the debian image. I have copied uboot and spl file as u have mentioned above and then I tried to boot with OpenWRT image. It is actually showing no logs in the serial console. The screen is just blank. If the SD card is removed, I am getting the below response (I removed it twice). This proves, the board is up and running, but what does this blank screen suggest? Any insights on this?

by your log, i find your boot mode is eMMC,the boot mode of QSPI needs RGPIO 0 and 1 to be low.

1 Like

thanks @kira,

Looks like the OpenWRT image is working now. But the green onboard LED is still off. What does this prove? Am I missing something? Or regardless of the onboard LED state, I can consider this as a complete installation?

this is the logs I m getting in serial port connection

1 Like

For me, that seems to be a kernel issue. Might it be, that the watchdog is not enabled or the LED support. Perhaps @kira has more detailed insight about that.

1 Like

yes, on openwrt the green led would not blinking and as @Nightwulf said,it is about a kernal issue. It might need to config something.

1 Like

@Nightwulf @kira ,

Could you please share the specific configuration details that you might know or let me know this OpenWRT build for starfive board is still in the development stage?

Hi @Nightwulf, @kira

I am testing a WiFi dongle with OpenWRT, which is provided with the VisionFive 2 board. in steps(link) mentioned, in step 3 (Wireless Configuration), installed some drivers:

a. → Kernel modules → Wireless Driver → kmod-cfg80211 kmod-mac80211 <*> kmod-rtl8821ae

On the Luci page, there is no tab for wireless.
Also, in ifconfig, it does not show the WiFi port.

Do we need to install any other drivers to access the wireless network on the Vision 2 board using the WiFi dongle?

1 Like

Could you please input ifconfig -a to show all port? Maybe it could be hidden.