Bricked E52C with OpenWRT flippy?

I’ve tried to install OpenWRT proper as I don’t need what iStoreOS brings on top and it’s running a quite old OpenWRT version as well.

I downloaded this image: 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 and then tried to flash my device via the web interface at http://192.168.100.1/cgi-bin/luci/admin/system/flash

The device won’t provide an IP anymore and the led on the NIC won’t flash. Did I brick it? The documentation is very low as to what to do so any help would be very much appreciated.

The upgrade function of the non-mainline OpenWRT firmware WebUI is generally useless or even dangerous

Great. What do I do now?

Reflash system image: https://docs.radxa.com/e/e52c/getting-started/install-os

Thanks. I tried to do that but I can’t manage to get it working. I am on MacOS, built rkdeveloptool
and followed the instructions.

sudo rkdeveloptool ld returns not found any devices!.

I am using a USB-A to USB-C cable from a portable SSD. When I connect it on my mac it takes power from that link so it seems to recognize it but lsusb -v shows nothing.

When I plug the power, the led sys led is immediately green, does not blink.

I also tried to flash a MicroSD card with the iStoreOS but nothing seems to be happening. I was hoping it would recognize that and boot from there but it doesn’t seem to do anything with it.

Please take a picture and let me see how you connect

I was able to connect to the serial port using picocom and I can issue commands to the device so that could be another way.

Do you mean that the system in EMMC can still run in a CLI mode?

I have no idea. I can connect to the debug port if I just put the power and connect the debug port to my mac. I am happy to provide more details if you tell me which command output you’d like to see.

I have non blinking sys, nothing on wan/lan both on the front and the back.

Please enter the Maskrom mode according to the document and provide the whole serial log

Can you please be a bit more explicit? I already said that maskrom with rkdeveloptool does not work. The only thing that works is power + debug port and picocom.

What full serial log?

serial log applinet debug port picocom log

If you start your serial terminal before powering it on, start to capture, then turn the power on, I suspect you’ll see the DDR training, then u-boot, then it’ll load the kernel and initrd then possibly hang without saying anything. Or maybe u-boot will complain that it doesn’t find a bootable kernel image. Or maybe you’ll see an early boot and a crash or some errors. All of this gives information about what the problem is. Also normally you can interrupt u-boot by pressing Esc or Ctrl-C when it prompts you to do so (that probably lasts a single second during boot). From there it’s possible to boot from other devices (I don’t remember exactly, it should be “run bootcmd_mmc0” or “run bootcmd mmc1” or “run bootcmd_usb0” depending where you want to boot from.

picocom v3.2a

port is        : /dev/tty.usbserial-210
flowcontrol    : none
baudrate is    : 1500000
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        :
omap is        :
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready
DDR V1.10 75d050770f typ 23/02/28-20:47:10
LPDDR4, 1866MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB
Manufacturer ID:0xff
CH0 RX Vref:34.8%, TX Vref:13.2%,0.0%
CH1 RX Vref:33.9%, TX Vref:13.2%,0.0%
CH2 RX Vref:37.3%, TX Vref:13.2%,0.0%
CH3 RX Vref:38.5%, TX Vref:13.2%,0.0%
change to F1: 528MHz
change to F2: 1068MHz
change to F3: 1560MHz
change to F0: 1866MHz
out
U-Boot SPL board init
U-Boot SPL 2017.09-OpenWrt-2024110109 (Nov 01 2024 - 03:14:15)
Trying to boot from MMC2
MMC: no card present
mmc_init: -123, time 0
spl: mmc init failed with error: -123
Trying to boot from MMC1
Trying fit image at 0x4000 sector
## Verified-boot: 0
## Checking atf-1 0x00040000 ... sha256(ac799e4aa0...) + OK
## Checking uboot 0x00200000 ... sha256(6713c0b213...) + OK
## Checking fdt 0x002b5808 ... sha256(8e66f1b12e...) + OK
## Checking atf-2 0x000f0000 ... sha256(338cd7cb83...) + OK
## Checking atf-3 0xff100000 ... sha256(c0f2f7769f...) + OK
Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
Total: 74.918/317.438 ms

INFO:    Preloader serial: 2
NOTICE:  BL31: v2.3():v2.3-557-g9609b9c19:derrick.huang
NOTICE:  BL31: Built : 14:29:57, Mar  8 2023
INFO:    spec: 0x1
INFO:    ext 32k is not valid
INFO:    ddr: stride-en 4CH
INFO:    GICv3 without legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    valid_cpu_msk=0x7f bcore0_rst = 0x0, bcore1_rst = 0x300
INFO:    system boots from cpu-hwid-0
INFO:    idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
INFO:    dfs DDR fsp_params[0].freq_mhz= 1848MHz
INFO:    dfs DDR fsp_params[1].freq_mhz= 528MHz
INFO:    dfs DDR fsp_params[2].freq_mhz= 1068MHz
INFO:    dfs DDR fsp_params[3].freq_mhz= 1560MHz
INFO:    BL31: Initialising Exception Handling Framework
INFO:    BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2017.09-OpenWrt-2024110109 (Nov 01 2024 - 03:14:15 +0000) OpenWrt

Model: Easepi RK3588 Board
MPIDR: 0x81000000
PreSerial: 2, raw, 0xfeb50000
DRAM:  4 GiB
Sysmem: init
Relocation Offset: efbf7000
Relocation fdt: ed9f94f0 - ed9fece8
CR: M/C/I
DM: v2
mmc@fe2c0000: 1, mmc@fe2e0000: 0
Bootdev(atags): mmc 0
MMC0: HS400 Enhanced Strobe, 200Mhz
PartType: DOS
No misc partition
boot mode: None
FIT: No boot partition
No valid DTB, ret=-22
Failed to get kernel dtb, ret=-22
*** Warning - bad CRC, using default environment

Model: Easepi RK3588 Board
MPIDR: 0x81000000
CLK: (sync kernel. arm: enter 1008000 KHz, init 1008000 KHz, kernel 0N/A)
  b0pll 24000 KHz
  b1pll 24000 KHz
  lpll 24000 KHz
  v0pll 24000 KHz
  aupll 24000 KHz
  cpll 1500000 KHz
  gpll 1188000 KHz
  npll 24000 KHz
  ppll 100000 KHz
  aclk_center_root 702000 KHz
  pclk_center_root 100000 KHz
  hclk_center_root 396000 KHz
  aclk_center_low_root 500000 KHz
  aclk_top_root 750000 KHz
  pclk_top_root 100000 KHz
  aclk_low_top_root 396000 KHz
Net:   eth1: ethernet@fe1c0000
Hit key to stop autoboot('CTRL+C'):  0
MMC: no card present
mmc_init: -123, time 0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
fs_devread read outside partition 299112
## Executing script at 00500000
Wrong image format for "source" command
SCRIPT FAILED: continuing...
starting USB...
No working controllers found
USB is stopped. Please issue 'usb start' first.

Sorry, I didn’t notice there was text below. The scroll bar doesn’t display!

So that means that you’ve probably ruined your kernel image and/or the boot.scr file.
You’ll need to press Ctrl-C when it suggests it and to try other commands like above.

Most likely it will be easier to dump a valid image on a micro-SD and try to boot from it
using one of the “run bootcmd*” commands above.

I did dump an image on a micro-SD card and it’s supposed to boot from it but the SD-card slot on this device is really weird. When I push the card in the slot, it bounces and does not seem to be fully inserted.

The tool does report it didn’t find it as well:

MMC: no card present
mmc_init: -123, time 0
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...

@ChenJaly is this normal? I was expecting the card to not bounce in the SD slot.

Sorry. What is " serial log applinet debug port picocom log" is that a command or multiple commands?

Ah yeah I already noticed that you need to install the SD deep into the slot. I used another one to push it fully and hear the click. Once it stands by itself it’s OK, otherwise it’s not. You’ll need another card to push it again till the click if you want to remove it.