Can anyone tell me why this thing fails to boot?

So I’d like to try and use this expensive paper weight for something… Since the EMMC is permanently disabled because the bypass switch broke. I’d like to boot from SD or MiniPCI SSD… Unfortunatly this thing doesnt boot, here is the serial console log…

Any ideas why this thing doesnt boot? Its using the USB-c PD power supply and is hooked into a USB hub so i can see the console and flash images to it. (ridiculous that serial output is over the same connector that power is delivered)

also, does anyone know how to get a usable console over usb serial?


U-Boot 2017.09-g26d3b6963ed-211223 #stephen (Oct 28 2022 - 10:54:28 +0800)

Model: Radxa E25
PreSerial: 2, raw, 0xfe660000
Sysem: init
Relocation Offset: ed350000
Relocation fdt: eb9f6fd0 - eb9fece0
Using default environment

DDR Version V1.10 20210810
BW=32 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=4096MB
tdqss: cs0 dqs0: -48ps, dqs1: -120ps, dqs2: -96ps, dqs3: -192ps,
tdqss: cs1dqs0: -24ps, dqs1: -120ps, dqs2: -120ps, dqs3: -192ps,

change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x64

change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58

change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
clk skew:0x3c
cs 0:
the read training result:
DQS0:0x3d, DQS1:0x3d, DQS2:0x3f, DQS3:0x3a,
min : 0x9 0xb 0xd 0xa 0x1 0x4 0x5 0x4 , 0x7 0x7 0x1 0x3 0xc 0xb 0xd 0x9 ,
0xc 0xc 0xb 0x9 0x3 0x1 0x3 0x4 , 0x7 0x6 0x5 0x1 0xc 0xc 0xa 0xc ,
mid :0x27 0x28 0x2a 0x28 0x20 0x22 0x24 0x22 ,0x26 0x25 0x20 0x21 0x2a 0x29 0x2a 0x26 ,
0x29 0x2a 0x28 0x27 0x21 0x1e 0x20 0x21 ,0x26 0x24 0x22 0x1f 0x2a 0x2a 0x28 0x2a ,
max :0x45 0x46 0x48 0x46 0x3f 0x41 0x43 0x40 ,0x45 0x43 0x3f 0x40 0x49 0x47 0x47 0x43 ,
0x47 0x49 0x45 0x45 0x3f 0x3c 0x3d 0x3f ,0x45 0x42 0x40 0x3d 0x48 0x48 0x46 0x48 ,
range:0x3c 0x3b 0x3b 0x3c 0x3e 0x3d 0x3e 0x3c ,0x3e 0x3c 0x3e 0x3d 0x3d 0x3c 0x3a 0x3a ,
0x3b 0x3d 0x3a 0x3c 0x3c 0x3b 0x3a 0x3b ,0x3e 0x3c 0x3b 0x3c 0x3c 0x3c 0x3c 0x3c ,
the write training result:
DQS0:0x36, DQS1:0x2c, DQS2:0x30, DQS3:0x23,
min :0x5a 0x5c 0x5d 0x5b 0x52 0x56 0x57 0x58 0x56 ,0x4f 0x4f 0x4a 0x49 0x51 0x50 0x53 0x52 0x4d ,
0x55 0x55 0x51 0x51 0x4b 0x49 0x4c 0x4f 0x4f ,0x48 0x48 0x46 0x42 0x4c 0x4c 0x4a 0x4e 0x46 ,
mid :0x78 0x79 0x7b 0x78 0x6f 0x72 0x74 0x74 0x72 ,0x6c 0x6c 0x66 0x66 0x6f 0x6d 0x6f 0x6e 0x6a ,
0x72 0x73 0x6e 0x6e 0x68 0x66 0x68 0x6c 0x6c ,0x65 0x64 0x63 0x5f 0x69 0x69 0x66 0x6b 0x63 ,
max :0x96 0x97 0x99 0x96 0x8c 0x8f 0x92 0x91 0x8f ,0x8a 0x89 0x83 0x84 0x8d 0x8b 0x8c 0x8b 0x88 ,
0x90 0x91 0x8b 0x8b 0x85 0x83 0x84 0x89 0x89 ,0x82 0x80 0x80 0x7c 0x86 0x87 0x83 0x89 0x80 ,
range:0x3c 0x3b 0x3c 0x3b 0x3a 0x39 0x3b 0x39 0x39 ,0x3b 0x3a 0x39 0x3b 0x3c 0x3b 0x39 0x39 0x3b ,
0x3b 0x3c 0x3a 0x3a 0x3a 0x3a 0x38 0x3a 0x3a ,0x3a 0x38 0x3a 0x3a 0x3a 0x3b 0x39 0x3b 0x3a ,
cs 1:
the read training result:
DQS0:0x3e, DQS1:0x3f, DQS2:0x40, DQS3:0x3b,
min : 0x9 0xb 0xd 0xb 0x1 0x5 0x5 0x4 , 0x8 0x7 0x1 0x3 0xb 0xb 0xc 0x8 ,
0xd 0xd 0xb 0x9 0x4 0x1 0x3 0x5 , 0x7 0x5 0x5 0x1 0xb 0xc 0x9 0xb ,
mid :0x27 0x29 0x2a 0x29 0x20 0x23 0x24 0x22 ,0x27 0x26 0x21 0x22 0x2b 0x2a 0x2a 0x26 ,
0x2b 0x2c 0x29 0x27 0x22 0x1f 0x21 0x23 ,0x26 0x24 0x23 0x1f 0x29 0x2a 0x28 0x29 ,
max :0x45 0x47 0x48 0x47 0x3f 0x41 0x43 0x40 ,0x47 0x46 0x41 0x42 0x4b 0x49 0x49 0x44 ,
0x49 0x4b 0x47 0x46 0x41 0x3e 0x3f 0x41 ,0x45 0x43 0x410x3d 0x48 0x49 0x47 0x48 ,
range:0x3c 0x3c 0x3b 0x3c 0x3e 0x3c 0x3e 0x3c ,0x3f 0x3f 0x40 0x3f 0x40 0x3e 0x3d 0x3c ,
0x3c 0x3e 0x3c 0x3d 0x3d 0x3d 0x3c 0x3c ,0x3e 0x3e 0x3c 0x3c 0x3d 0x3d 0x3e 0x3d ,
the write training result:
DQS0:0x36, DQS1:0x2c, DQS2:0x30, DQS3:0x23,
min :0x5d 0x61 0x61 0x5e 0x55 0x5a 0x5c 0x5c 0x5a ,0x51 0x4f 0x4b 0x4a 0x53 0x52 0x54 0x52 0x4f ,
0x52 0x52 0x4e 0x4e 0x48 0x47 0x49 0x4d 0x4c ,0x49 0x49 0x46 0x43 0x4c 0x4d 0x4b 0x4f 0x46 ,
mid :0x7b 0x7e 0x7f 0x7c 0x73 0x77 0x79 0x79 0x77 ,0x6e 0x6c 0x68 0x68 0x71 0x6f 0x71 0x6f 0x6c ,
0x6f 0x6f 0x6b 0x6b 0x65 0x62 0x65 0x69 0x69 ,0x66 0x65 0x63 0x5f 0x69 0x6a 0x67 0x6c 0x63 ,
max :0x9a 0x9b 0x9d 0x9a 0x91 0x95 0x97 0x96 0x94 ,0x8c 0x8a 0x85 0x86 0x8f 0x8d 0x8e 0x8d 0x89 ,
0x8d 0x8d 0x89 0x88 0x83 0x7e 0x82 0x86 0x86 ,0x84 0x81 0x80 0x7c 0x86 0x88 0x84 0x89 0x81 ,
range:0x3d 0x3a 0x3c 0x3c 0x3c 0x3b 0x3b 0x3a 0x3a ,0x3b 0x3b 0x3a 0x3c 0x3c 0x3b 0x3a 0x3b 0x3a ,
0x3b 0x3b 0x3b 0x3a 0x3b x37 0x39 0x39 0x3a ,0x3b 0x38 0x3a 0x39 0x3a 0x3b 0x39 0x3a 0x3b ,
CA Training result:
cs:0 min :0x4a 0x47 0x42 0x41 0x42 0x3d 0x45 ,0x47 0x43 0x40 0x3c 0x3e 0x3b 0x46 ,
cs:0 mid :0x88 0x87 0x80 0x80 0x80 0x7c 0x76 ,0x85 0x83 0x7f 0x7c 0x7c 0x7b 0x76 ,
cs:0 max :0xc6 0xc7 0xbf 0xbf 0xbf 0xbb 0xa7 ,0xc4 0xc4 0xbe 0xbc 0xbb 0xbc 0xa6 ,
cs:0 range:0x7c 0x80 0x7d 0x7e 0x7d 0x7e 0x62 ,0x7d 0x81 0x7e 0x80 0x7d 0x81 0x60 ,
cs:1 min :0x48 0x4a 0x40 0x43 0x40 0x3f 0x45 ,0x45 0x45 0x3e 0x3f 0x3c 0x3f 0x42 ,
cs:1 mid :0x88 0x87 0x81 0x80 0x80 0x7d 0x77 ,0x85 0x83 0x7e 0x7c 0x7c 0x7c 0x74 ,
cs:1 max :0xc9 0xc5 0xc2 0xbe 0xc1 0xbb 0xa9 ,0xc5 0xc1 0xbf 0xba 0xbd 0xb9 0xa6 ,
cs:1 range:0x81 0x7b 0x82 0x7b 0x81 0x7c 0x64 ,0x80 0x7c 0x81 0x7b 0x81 0x7a 0x64 ,
U-Boot SPL board init
U-Boot SPL 2017.09-g26d3b6963ed-211223 #stephen (Oct 28 2022 - 10:54:28)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
Verified-boot: 0
Checking atf-1 0x00040000 … sha256(fe4f274c06…) + OK
Checking uboot 0x00a00000 … sha256(d54f1a0827…) + OK
Checking fdt 0x00b282f0 … sha256(98f55678bd…) + OK
Checking atf-2 0x00068000 … sha256(8d44036095…) + OK
Checking atf-3 0xfdcd0000 … sha256(e410275b1…) + OK
Checking atf-4 0xfdcc9000 … sha256(990c53fc01…) + OK
Checking atf-5 0x00066000 … sha256(315a4195a9…) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 232.675 ms

INFO: Preloader serial: 2
NOTICE: BL31: v2.3():v2.3-181-gc9a64cae:cl
NOTICE: BL31: Built : 10:55:41, Oct 18 2021
INFO: GICv3 without legacy suppor detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: pmu v1 is valid
INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 0
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 wold
INFO: Entry point address = 0xa00000
INFO: SPSR = 0x3c9

Please try using this image:
The baud rate for serial port debugging is 115200, you can try to use an adapter to provide power. The USB port of the PC may not be able to meet the power supply requirements.

> serial console settings on the wiki are incorrect.
> It’s not 115200 baud. Update the wiki to match this one.

I think your past statements are fair argument, but I recommend trying “Alvin” 's suggestion above.

Do not use “rkdevtoolkit” which have been reported with some troubles,
Write directly to the “SD-Card” with a simple writing tool, such as “Etcher” or “Linux dd Command”.
Then, insert the “SD-Card” into the “e25” and turn the power “ON” to start it up.
Something may change.

It’s no surprise that some people don’t notice that the baud rate is being intentionally switched on the kernel side.

I don’t own an “e25,” but
I’m sure I’m not the only one who feels uncomfortable about “changing the baud rate midway”.

I’m using the supplied 30w usbpd power brick I purchased, plugged into a usb hub that provides power over USBC to the e25. That is plugged into the computer…

It’s really too bad this thing doesn’t have a secondary USBC for console. Such a pain in the butt to need to have it on a usb hub just to get console output.

And what I meant by serial console is a useable prompt so I can input commands, not just view the debug boot info.


Can you see the circuit diagram ?

As you can see from the circuit diagram, “uart2 tx/rx” is the terminal you are requesting.
(The log you presented is also the output of this terminal, and of course you can also input it.)

Its “uart2 tx/rx” terminal is connected to CH340B,
And, as you pointed out, the CH340B is connected to the “Type-C” connector for power supply, which is an unfortunate specification.

If startup does not fail, you can also “Log-In” from the “Type-C” connector. (CH340B:115200Bps)

However, since the baud rate is switched midway through, it only works effectively at one of them (1.5MBps or 115200Bps).
The U-Boot area (1.5MBps) will pass in about 1 to 2 seconds from power on.
Therefore, in the case of the “e25” configuration, even if you set “1.5MBps”, you will not be able to obtain useful information.

If the power is not turned on, the CH340B will not be turned on either.
Therefore, we needs to launch the console app in less than 1 second upon power-on.
↑↑↑ It’s practically impossible.

It would be different if it had a reset button, but unfortunately it doesn’t seem to be provided.

Another idea is to disable “changing the baud rate on the kernel side”.
Still, under normal usage conditions, it would be impossible to get U-Boot’s output immediately after power-on.

However, if it is limited to reboot operations (soft-resset?) using “rkdevtool”, it is certainly more beneficial to keep the speed constant at 1.5MBps.
It seems to be equivalent to pressing the reset switch, so
You’ll probably get logs like the one you’re presenting, and if it’s running well, you’ll be able to “log-in” at 1.5Mbps, of course.

*) I have only used “rkdevtool” once.
So it’s possible that my thoughts on “rkdevtool” are wrong.