Rock Pi 4A - emmc issues

Hello - I am a new Rock Pi and Linux user, so apologies in advance for my “newb-ness”.

I bought a Rock Pi 4A, with 16 gb emmc and NVMe SSD 256GB.
I have generally been following the wiki setup instructions.

I was unable to flash the emmc with an OS, as none of the 3 different readers I tried would acknowledge the uSD emmc adapter. So, I instead flashed a uSD card with OS. My goal is to get Ubuntu 20.4 on the Rock. I flashed SEVERAL different versions of Ubuntu to the uSD, but the only one that would boot on the Rock is Ubuntu 18.04 Bionic beaver (downloaded directly from Radxa website - https://wiki.radxa.com/Rockpi4/downloads).

So I am in the Ubuntu desktop, and have been trying to flash the emmc with an OS so i can operate from the emmc, not the uSD. I have successfully (I believe) flashed ubuntu onto the emmc using dd command as shown here : https://wiki.radxa.com/Rockpi4/install/eMMC.

However, when I then power down and remove the uSD, and power back up with the intent on booting from the emmc, nothing happens. I have tried to flash the emmc with several different Ubuntu versions (similar as to what I did with the uSD), and nothing seems to work.

Any help/suggestions would be appreciated, as I have been at this for days and days with no success.

Thanks

Only images built specifically for this board will work on it, either the official images from radxa, or Armbian, or one of the other third party images listed on the download page.

There is an SPI flash where a bootloader can be installed. Its possible that is causing you an issue… You can try disabling that flash as a test by shorting SPI1_CLK to GND (pin 23 to pin 25).

You could also try updating the bootloader. From an image with radxa’s apt setup, run: sudo apt-get install -y rockpi4a-rk-u-boot-latest. It should ask if you want to upgrade the SPI flash (yes) as well as emmc/sdcard (up to you).

I’m waiting for an emmc module to arrive for my Rock Pi 4B - so this is all a bit of a guess until I get it and can test it out. Hope it helps.

1 Like

However, when I then power down and remove the uSD, and power back up with the intent on booting from the emmc, nothing happens.

How is the led status? Blue led on?

I’m having similar problems with a Rock PI 4A, but with Linaro.
I can boot from SD card, but even if I image the eMMC with a card reader it refuses to boot.

When I try
sudo /usr/local/sbin/rockpi_erase_spi_flash.sh
Returns:
Erasing 4 Kibyte @ 0 – 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 0 (mtd0)
error 110 (Connection timed out)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 110 (Connection timed out)

So I tried
sudo apt-get install -y rockpi4a-rk-u-boot-latest
This fails too:
Unpacking rockpi4a-rk-ubootimg (2017.09-2694-g04d66f4b45) …
dpkg: error processing archive /var/cache/apt/archives/rockpi4a-rk-ubootimg_2017.09-2694-g04d66f4b45_all.deb (–unpack):
trying to overwrite ‘/usr/local/sbin/rockpi_erase_spi_flash.sh’, which is also in package rockpi4b-rk-ubootimg 2017.09-2694-g04d66f4b45
Errors were encountered while processing:
/var/cache/apt/archives/rockpi4a-rk-ubootimg_2017.09-2694-g04d66f4b45_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Any ideas?

flash_erase: error!: /dev/mtd0: MTD Erase failure

what’s your board version? It seems the SPI flash is not detected. Can you check if you have /dev/mtd* ?

How can I tell which board version it is?
There are /dev/mtd0, /dev/mtd0ro and /dev/mtdblock0

The board version is on the silkscreen of the PCB or the label of the plastic package box. You have SPI device detected but the flash is refuse to erase, this is strange. What’s the output of:

    sudo /usr/local/sbin/rockpi4a_upgrade_bootloader.sh

RockPi4_4GB_Aver_1_4

sudo /usr/local/sbin/rockpi4a_upgrade_bootloader.sh
Results in:
command not found

Because
rockpi4b_upgrade_bootloader.sh
resides in that directory, not 4a

Try to run the /usr/local/sbin/rockpi4b_upgrade_bootloader.sh script.

You are currently running on board:
ROCK PI 4B
There will be two steps that you have to confirm. One is upgrading bootloader on SPI Flash.
The other is upgrading bootloader on eMMC or uSD card.

Step two: upgrade bootloader on uSD card or eMMC
Boot device, uSD card or eMMC, is found. Would you like to upgrade bootloader on it?
If yes, type Y/y. If no, type N/n.
y
Backup bootloader on boot device (/dev/mmcblk0p2).
8192+0 records in
8192+0 records out
4194304 bytes (4.2 MB, 4.0 MiB) copied, 0.198459 s, 21.1 MB/s
Overwrite bootloader to boot device (/dev/mmcblk0p2).
2048+0 records in
2048+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.248351 s, 4.2 MB/s
Done.

Try to run

sudo flash_erase /dev/mtd0 0 0

sudo flash_erase /dev/mtd0 0 0
Erasing 4 Kibyte @ 0 – 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 0 (mtd0)
error 110 (Connection timed out)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 110 (Connection timed out)

The flash looks broken.

Wonderful, just what I need.
How do I get the SBC replaced?

I have sent an Email to Allnet China.
I await a response.