How to boot from MicroSD to erase eMMC

My attempt to flash the eMMC failed (user error), and now the N10 won’t boot. How do I force it to boot from MicroSD so that I can erase the eMMC? I read that one can remove the eMMC on the RockPi 4, but that doesn’t seem to be the case on the N10.

EDIT: I read that the eMMC is under the heat sink on some RockPi models. Is that the case with the N10? That’s a pretty inconvenient placement.

1 Like

Hi,

From what I understand, the N10 has onboard eMMC, ie, its not user removable:
https://wiki.radxa.com/RockpiN10/getting_started#Close_look_of_ROCK_Pi_N10

One way to reflash eMMC found via maskrom mode:
https://wiki.radxa.com/RockpiN10/dev/usb-install

1 Like

Thank you, @aaditya! That helps a lot. Now I just have to find an appropriate USB cable. Male A to Male A isn’t commonly used anymore.

1 Like

Male A to Male A has NEVER been common, because it is a violation of USB specifications.

Does N10 not prioritize booting from SD over eMMC? The 4’s do, so you just put a bootable SDcard into it, and power it up, then it boots off the SD.

I do have a bootable MicroSD card; that’s what I booted into in order to screw up my eMMC! :smile: But it definitely does not take boot precedence over eMMC. I was hoping there was some way to force a MicroSD boot, but it seems that’s not possible.

Do you have access to U-Boot via the serial console?

Bootloader from SoC firstly load idbloader from emmc. But idbloader firstly load, if found, uboot from SDcard. I have Android on emmc, but if I insert SD with uduntu or debian from radxa, they are boot. If I insert SD witth non radxa images (as armbian, libreelec), then was Android booting, idbloader not found uboot on them, theirs images have another strucrture of loaders. That is on the rockpi4.

1 Like

I just re-flashed the MicroSD card with the image I downloaded from the Radxa site and then tried to boot the N10 from it. Nothing happened.

I just bought a USB Male A to USB Male A cable so I’ll try @aaditya’s suggestion next.

Well, that didn’t go so well. The utility does see my N10:

$ rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x330c,LocationID=1401	Maskrom

And I was able to install the bootloader:

$ rkdeveloptool db rk3399pro_loader_v1.20.115.bin
Downloading bootloader succeeded.

But then the connection went a little crazy, alternating between “Did not find…” and “Write LBA failed!”

$ rkdeveloptool wl 0 rockpin10_debian_buster_xfce4_arm64_20200106_0710-gpt.img
Did not find any rockusb device, please plug device in!

$ rkdeveloptool wl 0 rockpin10_debian_buster_xfce4_arm64_20200106_0710-gpt.img
Write LBA failed!

Then I tried to erase the eMMC with similar results:

$ rkdeveloptool ef
Did not find any rockusb device, please plug device in!

$ rkdeveloptool ef
Starting to erase flash...
Getting flash info from device failed!

Any ideas as to why it would be so inconsistent? This is a brand new USB cable, so it’s definitely not worn out. It’s plugged into the front USB 3 port, as per the instructions.

Hellllllp! This is so frustrating. I made one tiny, albeit stupid, mistake and I have what is effectively a brick.

EDIT: I just unplugged the N10 and then got it back into maskrom mode. It acted the same as before, failing to erase the eMMC.

I searched on google, and found some links.

Am making a guess, but the firmware file may not be working…

Newer version available here for trying (note: maybe better for a @radxa person to confirm if its safe!) :

https://github.com/rockchip-linux/rkbin/blob/master/bin/rk33/rk3399pro_bl32_v1.21.bin

I dont know the current Corona virus status in China, tagging @jack in case he can help.

1 Like

Thanks, @aaditya. The GitHub issue sounds very similar to my problem. I’m not using a VM, however: I’m on macOS. Maybe only the Linux utility works properly.

1 Like

I’m finally erasing the eMMC flash memory. Just by chance I tried connecting via USB and booting into maskrom mode again. Once I connected I tried the ef command with the same Getting flash info from device failed! result. I tried again and it said Starting to erase flash.... It’s still going so I’ll see how things actually turn out soon, I hope.

EDIT: The erasing is still going after about half an hour. Does anyone know how long it’s supposed to take?

EDIT: It’s now been two hours. :face_with_raised_eyebrow:

EDIT: It’s now been 20 hours. I guess I shouldn’t have got my hopes up. :frowning_face:

I feel you.

One more idea is to try and write the image piece by piece.
https://wiki.radxa.com/RockpiN10/dev/usb-install#Install_by_partitions.28optional.29

If this compilcated for you, will suggest to fetch an experienced nerd in your area and work at it together! :slight_smile:

I can also try and help remotely, DM me if interested.

1 Like

Thanks, @aaditya. I’m a very experienced nerd. :smile: I just wanted to erase the damn flash. I guess I’ll try to do it partition by partition as you suggest. It’s the only remaining option!

1 Like

So far that’s not gong well either. The first time I downloaded the bootloader it took very little time. This time around it’s just sitting there. It’s been like that for about 15 minutes. I guess I shouldn’t be surprised. I’m starting to think it was a mistake buying a Radxa product.

$ rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x330c,LocationID=1401	Maskrom

$ rkdeveloptool db rk3399pro_loader_v1.20.115.bin
Downloading bootloader...

The default boot device order of ROCK Pi N10 is

TF SD - > eMMC

Despite that, when I boot via SD, nothing happens. As stated previously I was able to boot via SD. Then after I flashed the eMMC it never again booted from SD. I even re-flashed the MicroSD card with the same image that worked the first time and it failed to boot.

Have you tried this way?

Keep pressing the maskrom button, short press and release the reset button. Finally release the maskrom button.

Then use rkdeveloptool tool to flash the images

I’m sorry, but that doesn’t help at all. If you read what’s been posted in this thread (including the message immediately before your first message) you’ll see that I’m already in maskrom mode, which implies that I’ve pressed the right buttons in the right order:

$ rkdeveloptool ld
DevNo=1	Vid=0x2207,Pid=0x330c,LocationID=1401	Maskrom

You are right.

What about the MicroSD card boot? What messages shown on the screen
when it failed to boot? Do you use serial console or HDMI monitor?