Unable to recover bootloader

I built U-boot following the instructions on Github and everything seemed to compile properly but after flashing it seems it was a bad build. I’m trying to recover the firmware using the instructions on Github and in the quick-start guide (https://doc-en.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf). I have my jumpers set to 1,1, and when I boot the device I get UART output of “CCCCCCCC” (which is what I understand it should be). However, I’m unable to send the recovery firmware file successfully.

I have tried two different USB-serial cables, each that seem fine. I have tried using minicom, picocom, and screen to send the file via xmodem, but no luck with anything.

Using picocom (my preferred console app), I get the following:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*** file: jh7110-recovery-20221205.bin
$ sx -avO jh7110-recovery-20221205.bin
Sending jh7110-recovery-20221205.bin, 1291 blocks: Give your local XMODEM receive command now.
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: NAK on sector
Retry 0: Retry Count Exceeded

Transfer incomplete

*** exit status: 128 ***
 Error

I’ve tried resetting the device with both power and the reset button while transferring, and leaving it as is. I’ve tried with MacOS and with Kali (Kali is a VM, if that makes a difference). Still no luck though. Can someone post step-by-step instructions for what to run software-wise? Everything I’ve seen says “send the file via xmodem” but there are many possibilities of how to do that, so I’d appreciate if someone can tell me how they’ve done it.

1 Like

I cross-posted this to Github where StarFive employee Michael Zhuxx was very helpful in resolving my issue. Please see here for the solution: Unable to recovery U-boot · Issue #13 · starfive-tech/VisionFive2 · GitHub.

6 Likes