Incorrect information about the HW CMCC RAX3000Me

The router was killed because it was actually DDR4, not DDR3.


Summary
PS D:\mtk_uartboot> .\mtk_uartboot -s COM3 --aarch64 --fip openwrt-mediatek-filogic-cmcc_rax3000m-emmc-ddr4-bl31-uboot.fip --payload mt7981-ram-ddr4-bl2.bin; .\kitty.exe -serial COM3 -sercfg 115200,8,n,1,N
mtk_uartboot - 0.1.1
Using serial port: COM3
Handshake...
hw code: 0x7981
hw sub code: 0x8a00
hw ver: 0xca00
sw ver: 0x1
Baud rate set to 460800
sending payload to 0x201000...
Checksum: 0x32fc
Setting baudrate back to 115200
Jumping to 0x201000 in aarch64...
Waiting for BL2. Message below:
==================================
NOTICE:  BL2: v2.10.0   (release):OpenWrt v2024.01.17~bacca82a-3 (mt7981-ram-ddr4)
NOTICE:  BL2: Built : 16:37:45, Oct 19 2025
NOTICE:  WDT: Cold boot
NOTICE:  WDT: disabled
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 512MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  CPU: MT7981 (1300MHz)
NOTICE:  Starting UART download handshake ...
==================================
BL2 UART DL version: 0x10
Baudrate set to: 921600
FIP sent.
==================================

Some more reliable information is needed to accurately determine the router revision.

Send the DDR4 files instead ?

Or do you mean it got flashed with DDR3, while it was actually DDR4 ?

What I mean is, according to the Wiki table, this version of CH EC should be DDR3, but it's actually DDR4. Naturally, U-Boot for DDR3 killed the router. I had to disassemble the router and restore it via UART. As you can see from the startup log, the memory is DDR4. If I run it with the DDR3 file, the router won't boot, and the log shows 0 MB instead of RAM: 512 MB.

The firmware for all router versions is naturally the same and works normally.

Or continue to use the same approach as in version 24.X, so that U-Boot is universal for both DDR3 and DDR4. One file for both versions.

@csharper2005 has it been verified CH EC really is DDR3 based ?

Moreover, the CH (NAND) version also exists with both DDR3 and DDR4. Using this table is like walking through a minefield.

This info was taken from the commit and some statistics left no room for doubt:

And here we need to ask whether the OP is a China Telecom subscriber and whether the router was received directly from the provider. Refurbished devices are common on the Chinese trading platforms. And there could be anything inside them.

Naturally, the author is not located in China. These aren't refurbished versions; they're new, imported from China, ordered by a local resident, and shipped to me. More routers are on their way from there. Once they arrive, they'll also be flashed to OpenWRT. The versions with UART holes are fine—you just insert the pins and refurbish them, but the versions with solder-only spots—that's a nightmare! All those contact pads are very flimsy, and you really don't want to make any mistakes there.

Summary

Believe me, I'm not joking - it's not in my interests)).

Means the only way to be sure is to open it up ?

I couldn't find a way to fix this programmatically (what commands to enter in the console).

The Chinese firmware is based on version 21.02 or 21.2 SNAPSHOT, I don't remember exactly, and unflashed routers are no longer available. Moreover, there are routers for which the method described in the WIKI (saving configuration, modification and flashing) does not allow access to the console. Configuration upload is blocked by the firmware. I couldn't find a software unlock for these routers at all, only UART.

The production date of these routers is 2025 or later. But again, this may not be 100% accurate.

This is China.

Furthermore, I couldn't find a way to check the type of memory installed in an already-flashed OpenWrt router. Given my poor English, my questions to the developers are usually relegated to the sandbox, implying that I'm not particularly bright and too young to ask adults questions, let alone give advice))).

I'd like to point out an inaccuracy in the WIKI instructions. It's generally assumed that all files we flash to the router are first placed in /tmp. Therefore, the commands are incorrect.

dd if=openwrt-mediatek-filogic-cmcc_rax3000me-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync

It doesn't work, although it certainly protects the router 100% from damage))).

dd if=/tmp/openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync

That's right.

The same applies to the other lines.

It's good that Wiki clarified that the tables don't match, but I don't understand why U-Boot version 24.X is universal for both DDR3 and DDR4, while version 25.X already differentiates them.

Why create a problem for yourself and then heroically solve it?

Is this a boring life?

In this case, you just need to decide whether it's NAND or eMMC.