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.

What is this statement based on? U-Boot 24.10.х is DDR4-only.

You likely know this better than I, but while using U-Boot version 24.X, I haven’t seen any routers getting bricked.

Yet, as soon as I followed the Wiki instructions to the letter, I ended up bricking the device. If a manufacturer of OpenWrt-based routers with an OpenWrt bootloader develops a universal bootloader, it clearly means it's feasible and the flash partition capacity is sufficient.

This observation is quite consistent with the fact that U-Boot 24.10.х is DDR4-only.

I'm on a lucky streak. Not a single DDR3 router until now, and the first one I try with the SNAPSHOT bootloader is DDR3. Sadly, I never win the lottery though.

In fact, this router not only has different FLASH and RAM specifications, but also different switch chips. :rofl:

mt7531 ----> an8855

The AN8855 issue in the Xiaomi AX3000T was addressed several years ago.

My point is that the RAM type isn't tied to the alphanumeric index on the sticker; it’s strictly determined by the manufacturer's current inventory availability.

I'm sorry this has caused you trouble. I'm in China and worked as a designer for a consumer products company(but not router) for several years. I completely understand the challenges you're facing. During my time as a designer, we frequently initiated cost-reduction projects, trying to cut costs as much as possible in production-ready projects.

However, if your production volume is large enough, I recommend you customize and purchase a fixture similar to the one shown in the image below.

It’s not about the design; it’s about the attitude towards customers. It feels like you treat your clients as "disposable." How can you change product specifications like this?

Take the Xiaomi AX3000T, for example: they changed not only the ROM but the entire CPU—to a completely different manufacturer! All this without changing the model name, without any notice on the packaging, and using the exact same casing.

This completely alters the consumer properties of the product.

It reminds me of a negative experience buying something as simple as solder in China. The listing said "Solder for soldering - 100g." Naturally, having paid for it, I expected 100g of actual solder. But a Chinese marketer decided it would be more "interesting" to sell me 25g of solder wound onto a 75g spool. And when accused of fraud, they claimed I was wrong because "25 + 75 = 100," so everything is fine.

When you go to a restaurant and order 100g of rice, do you also get a plate weighing 99.9g with just two grains of rice on it?

Or is this a "special offer" exclusively for the export market?