Krescue for EDGE (Rockchip rk3399)

NEW Manjaro Linux images for Edge

  • Edge.Manjaro-ARM-mini-20.01.raw.img.xz
  • Edge.Manjaro-ARM-xfce-20.06.raw.img.xz

KRESCUE : https://dl.khadas.com/Firmware/Krescue/

2 Likes

Hi @hyphop, krescue seems like great little tool.
But I have problem with it - does not recognize/init MMC on my Edge-V at all.
I’m currently running latest Android Qt image (Edge_Qt_V200908) on MMC, and after some initial problems like boot loops it worked.

In krescue uboot mmc is correctly initiated, and I can work with it with mmc commands.
When The linux krescue boots there is bunch of errors and mmc is not found. And in KBI state, board version and device type are totally wrong (don’t know if relevant, but also the android tool in maskrom mode, can not issue any command to get board details: readgflashid, readflashinfo, readchipinfo, readcapability,… all fails).

I’m attaching some screenshots.

  1. be sure u have enough power
  2. provide more detailed log dmesg
  3. i will check last version from my side soon

\2. dmesg output attached, mmc info output attached in filebin: Filebin :: bin d4ec6jtbjp9c7wea
\1. tried with 60W and 100W PD power suplies (for Lenovo and Google Pixel)
\3. I’ve got same results from Edge.krescue.sd.210112_271.img.gz and Edge.krescue.sd.210105_309.img.gz

@hyphop It seems that Edge boards (or broader rk3399) share kernel problems with some eMMC used.
The eMMC is correctly recognized and initialized with OS images with kernel 4.4. None of the images with kernel 5.7 works - and that also is true for Krescue.

Digging the internet I’ve found that same problems have been identified for RockPi 4 boards: Armbian Buster current (with Linux 5.4.y) on the Rock Pi 4 - Rockchip 3399 - Armbian forum
The fix is to change the MMC definition in DTS:

index 1ae1ebd4efdd..5ea6286e5faa 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts
@@ -592,8 +592,7 @@
 
 &sdhci {
        bus-width = <8>;
-       mmc-hs400-1_8v;
-       mmc-hs400-enhanced-strobe;
+       mmc-hs200-1_8v;
        non-removable;
        status = "okay";
 };

@Spikerguy this seems relevant to all ROMs sharing new kernels - including the Manjaro

1 Like

hello.

possible or not in Krescue?
thank you

TwisterOS Armbian is currently Not available to be installed from Krescue utility.

3 Likes

yes its possible - i will add this OS for testing soon

2 Likes

this patch decrease mmc speed about 2x times

-       mmc-hs400-1_8v;
-       mmc-hs400-enhanced-strobe;
+       mmc-hs200-1_8v;
#       mmc-hs400-1_8v;
#       mmc-hs400-enhanced-strobe;
root@Krescue:/# pv /dev/mmcblk2 > /dev/null
2.14GiB 0:00:08 [ 267MiB/s] [>                                 ]  1% ETA 0:07:06

#-       mmc-hs400-1_8v;
#-       mmc-hs400-enhanced-strobe;
#+       mmc-hs200-1_8v;
root@Krescue:/# pv /dev/mmcblk2 > /dev/null
5.25GiB 0:00:32 [ 169MiB/s] [>                                 ]  4% ETA 0:11:18

what reason to use it ? (all works fine on my side )

PS:

uname -a
Linux Krescue 5.11.1 #1 SMP PREEMPT Fri Apr 23 11:45:04 CST 2021 aarch64 GNU/Linux

@hyphop

hello.

I look forward. to test it. knowing no wifi and fan.

1 Like

My eMMC has been not recognized in any of the images featuring the 5.x kernel.
I’ve been trying with:

  • Edge_Ubuntu-minimal-focal_Linux-5.12_arm64_EMMC_V1.0.5-210504-develop.img
  • Manjaro-ARM-xfce-edgev-20.06.img.xz
  • Edge_Debian-server-buster_Linux-5.9-rc2_arm64_EMMC_V0.9.3-200908.img.xz
  • Edge_Ubuntu-gnome-focal_Linux-5.7_arm64_SD-USB_V0.9.1-20200602.7z
  • Edge_Ubuntu-server-focal_Linux-5.7_arm64_SD-USB_V0.9.1-20200602
    As for kRescue:
  • Edge.krescue.sd.210112_271
  • Edge.krescue.sd.210105_309
  • and the latest one Edge.krescue.sd.210430_254

The one image that worked for me was:

  • Edge_Ubuntu-server-bionic_Linux-4.4_arm64_EMMC_V0.8.3-20200110
    But to make things stranger it does use the hs400, so there must have been some other changes to eMMC subsystem between 4.4 and 5.x kernels.

Maybe it’s the revision of the Edge-V board I’ve (or just a eMMC chip that does not meet specification?) - board image attached.

can u start ! krescue from sd cad ( press KeyF x 3 ) and get some info about your board

root@Krescue:/# mmc_info 
/dev/mmcblk2   => MMC           DUTA42  116.4 G 125069950976

or

root@Krescue:/# grep "" /sys/class/mmc_host/mmc2/mmc2\:0001/*
/sys/class/mmc_host/mmc2/mmc2:0001/cid:150100445554413432025cd8b8928400
/sys/class/mmc_host/mmc2/mmc2:0001/cmdq_en:1
/sys/class/mmc_host/mmc2/mmc2:0001/csd:d02701320f5903fff6dbffef8e404000
/sys/class/mmc_host/mmc2/mmc2:0001/date:08/2017
/sys/class/mmc_host/mmc2/mmc2:0001/dsr:0x404
/sys/class/mmc_host/mmc2/mmc2:0001/enhanced_area_offset:18446744073709551594
/sys/class/mmc_host/mmc2/mmc2:0001/enhanced_area_size:4294967274
/sys/class/mmc_host/mmc2/mmc2:0001/enhanced_rpmb_supported:0x1
/sys/class/mmc_host/mmc2/mmc2:0001/erase_size:524288
/sys/class/mmc_host/mmc2/mmc2:0001/ffu_capable:1
/sys/class/mmc_host/mmc2/mmc2:0001/fwrev:0x0200000000000000
/sys/class/mmc_host/mmc2/mmc2:0001/hwrev:0x0
/sys/class/mmc_host/mmc2/mmc2:0001/life_time:0x01 0x01
/sys/class/mmc_host/mmc2/mmc2:0001/manfid:0x000015
/sys/class/mmc_host/mmc2/mmc2:0001/name:DUTA42
/sys/class/mmc_host/mmc2/mmc2:0001/ocr:0x00000080
/sys/class/mmc_host/mmc2/mmc2:0001/oemid:0x0100
/sys/class/mmc_host/mmc2/mmc2:0001/pre_eol_info:0x01
/sys/class/mmc_host/mmc2/mmc2:0001/preferred_erase_size:4194304
/sys/class/mmc_host/mmc2/mmc2:0001/prv:0x2
/sys/class/mmc_host/mmc2/mmc2:0001/raw_rpmb_size_mult:0x80
/sys/class/mmc_host/mmc2/mmc2:0001/rca:0x0001
/sys/class/mmc_host/mmc2/mmc2:0001/rel_sectors:0x1
/sys/class/mmc_host/mmc2/mmc2:0001/rev:0x8
/sys/class/mmc_host/mmc2/mmc2:0001/serial:0x5cd8b892
/sys/class/mmc_host/mmc2/mmc2:0001/type:MMC
/sys/class/mmc_host/mmc2/mmc2:0001/uevent:DRIVER=mmcblk
/sys/class/mmc_host/mmc2/mmc2:0001/uevent:MMC_TYPE=MMC
/sys/class/mmc_host/mmc2/mmc2:0001/uevent:MMC_NAME=DUTA42
/sys/class/mmc_host/mmc2/mmc2:0001/uevent:MODALIAS=mmc:block

/dev/mmcblk2 => MMC BJTD4R 29.1 G 31268536320

UPDATE:

start Krescue from SD / better to do this via press KEY_F x 3 times

Krescue Updates for Edge

  • FROM: Wed May 12 03:50:47 2021
  • TIME: 1620791447
  • VER : 210512_153
  • fast emmc erase - FIXED
  • device info - FIXED
  • fethernet problem - FIXED
  • some other small bug - FIXED
2 Likes

@hyphop
hello.

you don’t forget us.
thank you

2 Likes

Krescue have same support level for both series (Edge Vim)

1 Like

@hyphop Updated to the latest Krescue 210608_422, the MMC is still not accessible without the hs400->hs200 modification.

If missed my MMC details: /dev/mmcblk2 => MMC BJTD4R 29.1 G 31268536320

OK ! problems was detected !!!
Krescue already update and this issue was fixed too

plz check and confirm it ! how its works on your side !!!

@hyphop
I just downloaded this file Edge.krescue.sd.img.gz and let my Edge-V boot into Mask Rom mode (3x Function button in 2 sec), I can see that Rescue starts booting, but I don’t get the menu.
I see Edge-V gets IP and is searching for boot.src.uimg from TFTP Server (from my router)??

Fev lines before that after part where “Booting kernel” are listed I see:

Ramdisk image is corrupt or invalid
OOOOOPS

SCRIPT FAILED: continuing...
Card did not respond to voltage select!: -110
Scanind disk mmc@fe31000.blk...
Disk mmc@fe310000.blk not ready.
Scanning disk mmc@fe320000.blk...
Scanind disk sdhci@fe330000.blk...
** Unrecognized filesystem type **
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
switch to partitions #0, OK
mmc0(part 0) is current device
** No partition table - mmc 0 **
Couldn'f find partition mmc 0:1
rockchip_pcie pcie@fe8000000: failed to find ep-gpios property
Speed: 10000m full duplex
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
DHCP client bount to address 1x.x.x.x (3803 ms)
Using ethernet@fe300000 device
TFTP from server 1x.x.x.x; our IP address is 1x.x.x.x
Filename 'boot.scr.uimg'.
Load address: 0x1000000
Loading: T T T T T T T T
Retry count exceeded; starting again
Retrieving file: pxelinux.cfg/00000000-0000-0000-0000-000000000000
Speed: 1000, full duplex

And so going on and nothing happens. What I am doing wrong?