Visionfive2 boot failed from flash

I received two development boards, After power on, one of which cannot boot normally from flash, the error is as follows:
---------------------------error-----------------------------
dwmci_s: Response Timeout.
dwmci_s: Response Timeout.
BOOT fail,Error is 0xffffffff
---------------------------------------------------------------
how to solve this error?

1 Like

Please double check the boot mode is flash mode, switch the RGPIO_1 to L, RGPIO_0 to L.

I have checked that the boot mode is FLASH mode, both RGPIO_1 and RGPIO_0 are high. If it is configured in other modes, the output log is different.

  1. Both RGPIO_1 and RGPIO_0 are high is UART mode.
  2. Both RGPIO_1 and RGPIO_0 are LOW is FLASH mode.
  3. RGPIO_1 is LOW and RGPIO_0 is HIGH is SD mode.

Sorry, I just described wrong. Both RGPIO_1 and RGPIO_0 are low,the board boot failed.
---------------------------error-----------------------------
dwmci_s: Response Timeout.
dwmci_s: Response Timeout.
BOOT fail,Error is 0xffffffff
---------------------------------------------------------------

Would you Please take a pictures of the BOOT MODE of visionfive2?


  1. You can try to recovery the firmware follow APPENDIX IV: Recovering Bootloader

  2. Or you can download sdcard.img and burn it to a TF card , switch boot mode to SD, you will enter buildroot OS.
    Releases · starfive-tech/VisionFive2 · GitHub

Thanks,i try these steps and tell you the results later.

@julie Hello, sorry the documentation is confusing me. Which boot mode do i currently have?

they are currently both high, so im in flash mode, right?

And what does this actually means? Which one should i use if i just want to boot Debian on a micro sd?
Is the bootloader protected? Can software/os/root manipulate/change it?
Thank you and sorry for annoying you!

I assume that is not possible since the bootloader lives in QSPI flash, but the u-boot on SD card might be writeable based on fstab configuration.

Though, you can modify the bootloader in QSPI flash using the bootloader recovery method.

1 Like

From your picture, both strapping pin is LOW(right),it‘s boot from qspi flash, you need adjust RGPIO_0 to H (left), then it is boot from SD.

2 Likes

So if i boot from QSPI flash, the QSPI flash (with the default data) cannot be changed. And if i boot from the SD card with the img from recovery method, the QSPI could get flashed. Right?

Regardless of whether it is boot from QSPI flash or SD, you can flash it through tftp server under the uboot command line interface.

QSPI flash just store the SPL/u-boot binary which can be updated if needed

1 Like

Thank you very much! I managed to see the uboot bootloader over minicom/USB TTL adapter. Then i updated to 2.5.0 over a tftp server. It fold a little bit hacky but it wasn’t a problem with the documentation. I’m writing this on a Visionfive 2 with debian version 69. Realy nice :slight_smile:

1 Like

Hi Damon, I thought I had the problem of the unit not booting similar to what you described.
However I tried to boot one last time and left the computer for a few minutes and came back to it booted. I tried it again and timed it, after 18 seconds the unit came to life and started booting. Prior to the 18 second mark the unit upon power up, the ethernet lights flashed and my USB hub LED then nothing for the aforementioned 18 sec.

Chuck the impatient.

1 Like

Thank you, ChunkS.
I have reflash a new bootloader bin, now the board can boot normally from the flash.
GitHub - starfive-tech/VisionFive2