Help--I'm about to package the board up and send it back

Okay, I’ve tried to get it to work, so such luck.
StarFive Vision5 2
Samsung Pro Endurance 32GB SD card

Using Balena Etcher (on macOS), I’ve tried:

  1. starfive-jh7110-VF2_515_v2.5.0-69.img
  2. starfive-jh7110-VF2-VF2_515_v2.3.0-55.img
  3. sdcard.img

I’ve tried the DIP switches in all four possible positions.
I’ve connected a USB<->Serial cable to pins 6, 8, & 10.

I get nothing other than a red LED and a lit Ethernet LED, no green LED, nothing on HDMI, nothing on the serial port (sound familiar)?

I have no clue what to do with the u-boot-spl.bin.normal.out and visionfive2_fw_payload.img files. As best I can tell from the amazingly crappy documentation is that you have to have the Vision5/2 up and running to do anything with these files.

Any suggestions?
I’m not a kernel hacker, I just want to use the board to write some RISC-V assembly code. If I knew the board wasn’t ready for prime time, I would have waited another year and tried again.

Anyone got some simple solutions? I really can’t afford to waste too much more time with this; I have real work to do.

Tried this:

read through this:

Nothing seems to apply to me, most of the examples assume something comes up at some point or another.

Randy Hyde

Hello rhyde,

how do you try to connect with the serial connection ? With screen or minicom ?

Do tried to change the cable for pin 8 & 10. It should be cross over RX → TX and TX–> RX.

I think changing the dip switches was a wrong move. Try to get them back in the original position.
Image V55 and sdcard.img should at least work by flashing the green led (can take like 20s or more before that happens).
Image 55 should output a signal on the HDMI port, but there are people reporting problems with monitors with a higher resolution than 1080p.
sdcard.img doesn’t output on the HDMI port, but it has ssh enabled. Once you have this image working, you can update the firmware (u-boot-spl.bin.normal.out and visionfive2_fw_payload.img).

1 Like

Okay, got it to work. Didn’t realize it would take so long to boot… :frowning:

1 Like

Also discovered that I had the TXD/RXD wires switched (for some reason, had labeled the wires from my adapter RXD and TXD meaning “connect to RXD and TXD” rather than the actual functions on the adapter.

Logged in on the HDMI display. Screen went blank after entering password. On Serial port, I’m getting “soft lockup, CPU#1 stuck for nnnn secs”.

UART is always like this, you need to connect tx to rx and rx to tx.

You misunderstood.
I realize they have to be swapped.
I reversed the labels on my cable to match TXD to TXD and RXD to RXD.
Alas, I forgot I’d done that and did the normal RXD->TXD and RXD->TXD.
That’s what I get for trying to make life a little less confusing.


There are strange situations where you really do want to connect RX->RX and TX->TX e.g. with an Arduino. Because the labels on the ports are for 99.999% of normal use cases and not for how the hardware can really be used if you are actually thinking totally outside the box. And misleading labelling would add an extra layer of confusion to the confusion!

Here is the comment from the very strange source code which makes you wonder what is going on, what they are doing looks really stupid, but is the total opposite:

It is a neat trick. The summary would be: Arduino your task is to ignore everything, do absolutely nothing at all. I’m just going to borrow this built-in USB to UART that is normally used to program you, or watch output from your UART, to debug some other hardware.

1 Like

I think I first noticed TXD and RXD reversed labelling on the V24 interfaces of some terminals in the 80s. :thinking:

I speak through my mouth and hear through my ears and would never think of whispering into someone’s mouth. :roll_eyes:


Have you tried booting sdcard.img and connecting to the board with SSH over Ethernet?

Hi rhyde,

Dont give up. Its doable.

How far alow are you in your process ?

First to achive reliable boot you have to flash the firmware.

To do this there are two ways to do it. The one is with the UART cable but the second one with the sdcard.img is much easier.

Note: the sdcard.img is not a full image with GUI it is just used to easily patch the firmware.

To boot from the SD Card you have to have the SPI levers in the right way see here. Look for TF Card: Look for board boot options.

I will try to describe this:

  1. Write the image sdcard.img onto the sdcard. You can use balea etcher for this.

  2. Plug in the ethernet cable on the “middle” ethernet port. The one on the edge does not give you a DHCP adress.

  3. Monitor your router so see what new IP adress gets handet out.

  4. Turn on the VF2 now the Router should assign a new IP adress to your VF2.

  5. Open a Terminal on linux or Download Putty.exe on Windows.

  6. Connect to the risc v with the user root and the password starfive and the ip you read from your router.

  7. Now you should be connected to the VF2 and be logged in now you can flash the firmware and after that shutdown the sdcard.img

  8. Flash firmware. See here for a video:
    Updating the VisionFive 2 Firmware (Read video description!) - YouTube
    With forum post: VisionFive 2 Debian Image(December) Released - #43 by LivingLinux
    Or here for text instructions (Can be translated with google): Starfive VisonFive2(RISC-V SBC) で遊ぶ – その2 ファームウェアの書き換え | ず@沖縄

  9. After the successful firmware flash, flash the debian69 image onto the SDcard and boot it up.

  10. you should have hdmi output.

I hope this helps. Please describe on what step do you have questions etc.

Please reach out for questions and help! Best

Dont give up :slight_smile:


Another thing i just realized:
The debian image needs to be bunziped it it “zipped” with bz2 when you want to put this onto the sdcard make sure to uncompress it first.