Bricked E52C with OpenWRT flippy?

Gah! OK so I was able to boot on iStoreOS from the SD card. Now I guess I need some help to install it on the EMCC.

I would personally violently copy the files or partitions but that sounds risky. I’d rather let those who know iStoreOS suggest how to proceed. Maybe there’s an install tool to do it the right way.

It looks like using dd is the way to go but good luck finding a document that explains how to do it. It’s frustrating as the command should be pretty common.

1 Like

That’s the usual way to copy a device onto another one. The only thing is that you’ve got exactly one attempt. I don’t even know which one is which on your system so I’m not able to suggest you the correct command to get the maximum of chances on your side. As a starter, can you please issue “cat /proc/partitions” when you’ve booted it ? Then depending on what we’ll see, we could possibly expect that the boot loader from the SD is usable as well. But if we’re wrong and/or if that one is not properly flashed, it will be increasingly harder to unbrick.

You may also use another PC with a USB-A to USB-A male-male cable, with rkflashtool and friends, but given that some of them managed to incorrectly program another device for me in the past, I’m not super enthousiast into encouraging to go down that route. It might be usable to try to recover a bricked device though.

1 Like
  1. flash emmc just use dd
  2. your picocom log does not seem to enter the maskrom mode, but the recovery mode

I see that the picocom log contains Model: Easepi RK3588 Board?
You may have used the wrong image before burning emmc

No, that is correct for E52C, I had the same on my board out of the factory, and it works fine with this.

I really appreciate you helping but could you please make complete sentences?

To recap: I tried to flash from the factory iStoreOS interface to https://github.com/ophub/flippy-openwrt-actions/releases/download/OpenWrt_lede_save_2024.12/openwrt_rk3588s_e52c_R24.10.24_k5.10.160-rk3588-flippy-2410a.img.gz . I then burned the exact same image on a micro SD and I can boot just fine from it.

This should be available in the history of this thread but to avoid the hassle:

  • I’ve already asked twice what dd command I should issue. “Just use dd” isn’t helpful, what do you expect me to do with that?
  • I’ve tried rkdeveloptool and the device wasn’t recognized.

Here is a full log of me trying to enter maskroom mode (Note, there is a bootable valid image in the Micro-SD slot): https://gist.github.com/snicoll/78b0bf8da8b805c03abaf1f741e167b0

I can easily SSH in the device using the valid image I have on the MicroSD. I’d like to flash the onbard EMMC so that I can use the device without it.

When you enter the system using the sd card, use lsblk to confirm the emmc device name mmcblk* and then use the command sudo sh -c "zcat <img.gz> | dd of=/dev/<mmcblk*> bs=52M status=progress oflag=direct iflag=fullblock && sync" burn emmc

Thanks, that worked. For those that are interested by a long answer, here is.

  1. Download the image that you want to use. Assuming iStoreOS for the E52C, it is the squashfs image.

  2. Upload the image on the device:
    scp istoreos.img.gz root@router:

  3. ssh the router
    ssh root@router

  4. Invoke lsblk, this should output something as follows:

lsblk

NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
mmcblk1      179:0    0 29.4G  0 disk
├─mmcblk1p1  179:1    0   64M  0 part
├─mmcblk1p2  179:2    0  256M  0 part
└─mmcblk1p3  179:3    0    2G  0 part /mnt/mmcblk1p3
mmcblk1boot0 179:32   0    4M  1 disk
mmcblk1boot1 179:64   0    4M  1 disk
mmcblk0      179:96   0 58.2G  0 disk
├─mmcblk0p1  179:97   0  256M  0 part /boot
├─mmcblk0p2  179:98   0    1G  0 part /
├─mmcblk0p3  179:99   0    1G  0 part /mnt/mmcblk0p3
└─mmcblk0p4  179:100  0   56G  0 part /mnt/mmcblk0p4/docker
                                      /mnt/mmcblk0p4

EMMC is mmcblk1. You can easily see that because / (which is from the SDcard) is mounted on the other one (mmcblk0p2).

  1. Unmount the partitions that are currently mounted

I have no idea if that’s required, but in the log above you can see one partition from the EMMC mounted. Just to be safe I unmounted it:

umount /mnt/mmcblk1p3
  1. Flash!
sh -c "zcat istoreos.img.gz dd of=/dev/mmcblk1 bs=52M status=progress oflag=direct iflag=fullblock && sync"
1360003072 bytes (1.4 GB, 1.3 GiB) copied, 32 s, 42.1 MB/s
24+1 records in
24+1 records out
1360003072 bytes (1.4 GB, 1.3 GiB) copied, 33.181 s, 41.0 MB/s

Make sure that you’re in the directory where you uploaded the image (istoreos.img.gz).

  1. Reboot

Invoke poweroff to shutdown the device. You can now remove the SD card and the device should boot on the EMMC.

1 Like

In my experience with recent Macs, the USB-A OTG port doesn’t work on Macs when using Maskrom mode. You either want a combination that involved an intermediate USB hub, or you want to use a USB power blocker, such as this one: https://www.amazon.co.uk/PortaPow-USB-Power-Blocker-Cased/dp/B094FYL9QT/

Glad that it ultimately worked for you!

1 Like

Hi @snicoll , finally the image you installed is the openwrt flippy one?
Are the complete steps to follow those described above? Or are there steps not specified in your message that must be followed for the installation?

The easiest to install flippy is to burn the image to an SD card and boot from the SD card (you’ll need a paper clip to make sure it’s installed correctly, it should “click”).

I’ve tried to install flippy using the method above and it did work but not fully. Someone on another thread was complaining that luci wouldn’t start and I experienced that too. Not when I did boot on the SD card. A bit odd.

Having experienced with the two. flippy is also lagging behind quite a bit and if you don’t mind the extra layers, the iStoreOS version provides good experience OOB.