I’ve been playing with building and flashing u-boot and OpenSBI from upstream which worked at first but now I’m getting a hard hang early on when booting from the SD card.
I switched the DPI for UART booting and followed the process described here. However, after uploading any of the recovery images with minicom using xmodem protocol, I get a “CRC Error try again” error message as shown below:
(C)StarFive
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCRC Error, Try again
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
This issue is the same as reported here but I think no solution was offered?
@rvalles I checked that thread before but I’m not sure how it can help.
Is there a correct recovery image, if yes which one? I tried all of them from GitHub - starfive-tech/Tools and still got the same issue. Or, do I have to build my own recovery image?
Tried jh7110-recovery-20221205.bin with minicom and tio, got the same “CRC Error, Try again” error. I don’t see teraterm packaged for my Linux distro, so I guess I’d have to build it from sources…
It’s impossible to brick the board. The zero stage bootloader is in ROM, and unchangeable. When you set the boot mode to sdcard, the SPI flash will be bypasased, and the zero stage will directly load from sdcard. If you are still seeing the CRC errors, check if you’ve copied the correct file to the sdcard, and also the sdcard should have the appropriate layout.
Yes! I was able to recover it using the sdcard. But I didn’t use the recovery image. Instead, I used the sdcard.img image. However, when booting from the sdcard I was getting:
dwmci_s: Response Timeout.
BOOT fail,Error is 0xffffffff
I kept rebooting, maybe 5 or 7 times, until it booted into the u-boot shell. From there I was able to flash the SPL and u-boot images and everything is working now.
Yeah, I’m seeing the same thing. The root cause is that the zero stage bootloader in the ROM doesn’t set the sdcard PIN properly (drive strength). And there’s a possibly that booting directly from sdcard could fail (depending on type/model of the card). I usually get 1/3 failure rate. So flashing the image to SPI flash is the way to go. The SPL code will adjust drive strength to the proper value. There’s no way to fix the zero stage however (burnt in silicon).