chawrt

专业商用 WiFi OpenWrt 发行版

CMCC RAX3000M (中国移动)

MediaTek MT7981B 稳定支持

⚠️ 重要提示:区分 eMMC / NAND 版本

CMCC RAX3000M 有两个版本,刷机步骤完全不同,请务必先确认您的设备版本:

  • eMMC 版本:机身标签带 "CH EC CMIIT ID"
  • NAND 版本:机身标签带 "CH CMIIT ID" (EC 位置为空)

⛔ 两个版本的 Preloader 和 FIP 文件不可混用,使用错误固件会导致设备变砖!

设备规格

SoC MediaTek MT7981B (2×ARM Cortex-A53 @ 1.3GHz)
内存 256MB DDR3
闪存 eMMC 版: 128MB eMMC
NAND 版: 128MB SPI NAND
无线 MT7981 (2.4G) + MT7976 (5G)
WiFi 6 (802.11ax)
端口 3×GbE LAN + 1×GbE WAN
制造商 中国移动 (CMCC)

刷机教程

CMCC RAX3000M 采用 TFTP + initramfs 临时系统 → sysupgrade 固化的刷机方式。请根据您的设备版本选择对应教程:

步骤 0:获取 SSH 访问(原厂固件)

1

下载并解包配置文件

  • 登录路由器 Web 管理界面,下载备份配置文件 cfg_export_config_file.conf
  • 解包配置:
    tar -zxf cfg_export_config_file.conf
2

修改配置启用 SSH

  • 编辑 etc/config/dropbear,将 enable 设置为 1
  • 编辑 etc/shadow,清空 root 密码字段:
    root::19523:0:99999:7:::
3

重新打包并上传

  • 重新打包配置:
    tar -zcf cfg_export_config_file.conf etc/
  • 上传修改后的配置文件到路由器
  • 重启路由器后即可 SSH 登录(用户名 root,无密码)

📘 eMMC 版本刷机步骤

适用于:机身标签带 "CH EC CMIIT ID" 的设备

所需文件:*-emmc-gpt.bin, *-emmc-preloader.bin, *-emmc-bl31-uboot.fip, *-initramfs-recovery.itb, *-squashfs-sysupgrade.itb

1

备份 Factory 分区(重要!)

dd if=/dev/mmcblk0p2 of=/tmp/factory_backup.bin

⚠️ Factory 分区包含设备 MAC 地址等关键信息,请务必备份并保存到电脑!

2

写入新的 GPT 分区表

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

擦除并写入 BL2 (Preloader)

echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin \
   of=/dev/mmcblk0boot0 bs=512 conv=fsync
4

擦除并写入 FIP (BL31 + U-Boot)

dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip \
   of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5

准备 TFTP 服务器

  • 在 PC 上设置静态 IP:
    • IP: 192.168.1.254
    • 网关: 192.168.1.1
  • 启动 TFTP 服务器,提供文件: openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
6

TFTP 恢复启动

  • 路由器断电 → 上电
  • 设备会自动通过 TFTP 下载 initramfs 镜像并启动
  • 等待 LED 指示灯稳定,设备进入 OpenWrt 临时系统
7

执行 sysupgrade 固化系统

  • SSH 登录:ssh root@192.168.1.1
  • 执行固化命令:
    sysupgrade openwrt-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb
  • 等待系统重启完成
8

(可选)写入 Recovery 引导

dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb \
   of=/dev/mmcblk0p4 bs=512 conv=fsync

这样可在系统出现问题时通过 TFTP 快速恢复。

📗 NAND 版本刷机步骤

适用于:机身标签带 "CH CMIIT ID" (EC 位置为空) 的设备

所需文件:*-nand-preloader.bin, *-nand-bl31-uboot.fip, *-initramfs-recovery.itb, *-squashfs-sysupgrade.itb

1

备份 Factory 分区(重要!)

dd if=/dev/mtdX of=/tmp/factory_backup.bin

💡 通过 cat /proc/mtd 查看 factory 分区对应的 mtdX

2

擦除并写入 BL2

mtd erase BL2
mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3

擦除并写入 FIP

mtd erase FIP
mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4

准备 TFTP 服务器

  • PC 设置静态 IP:192.168.1.254,网关:192.168.1.1
  • 启动 TFTP 服务器,提供文件: openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
5

TFTP 恢复启动

  • 路由器断电 → 上电
  • 等待 TFTP 恢复启动到 OpenWrt 临时系统
6

清理 NAND 并重建 UBI

ubidetach -p /dev/mtd0
ubiformat -y /dev/mtd0
ubiattach -p /dev/mtd0
7

创建 UBI 卷

ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
8

(可选)创建 Recovery 卷

ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
ubiupdatevol /dev/ubi0_2 \
   openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
9

执行 sysupgrade 固化系统

sysupgrade openwrt-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb

等待系统重启完成即可。

✅ TFTP 恢复功能说明

  • TFTP 恢复功能在 eMMC 和 NAND 设备上都永久保留
  • 即使刷机失败,也可以通过 TFTP 恢复,不会变砖
  • initramfs 镜像用于临时启动,sysupgrade 镜像用于固化系统
  • ⚠️ eMMC 与 NAND 的 preloader/FIP 完全不同,不可混用!

恢复原厂固件

⚠️ 恢复原厂需要原厂固件文件

由于中国移动未公开 RAX3000M 的原厂固件下载,恢复原厂较为困难。建议:

  • 在刷机前通过 dd 命令备份完整的系统分区
  • 保留一台未刷机的同型号设备作为备份
  • 联系移动运营商获取官方固件

✅ 通过 TFTP 临时启动原厂系统

如果您在刷机前备份了原厂系统:

  1. 使用 TFTP 加载 initramfs 进入临时 OpenWrt
  2. 通过 dd 命令恢复备份的系统分区
  3. 重启即可回到原厂系统

备份系统分区命令示例

eMMC 版本:

# 查看分区
cat /proc/partitions

# 备份整个 eMMC (危险!文件很大)
dd if=/dev/mmcblk0 of=/tmp/emmc_full_backup.img bs=1M

# 或只备份关键分区
dd if=/dev/mmcblk0p2 of=/tmp/factory.bin
dd if=/dev/mmcblk0p5 of=/tmp/rootfs.bin

NAND 版本:

# 查看 MTD 分区
cat /proc/mtd

# 备份关键分区
dd if=/dev/mtd4 of=/tmp/factory.bin
dd if=/dev/mtd5 of=/tmp/rootfs.bin

常见问题

如何确认我的设备是 eMMC 还是 NAND 版本?

查看机身底部标签:

  • eMMC 版本:标签上有 "CH EC CMIIT ID"(EC 两个字母)
  • NAND 版本:标签上有 "CH CMIIT ID"(EC 位置为空格)

两个版本的刷机步骤和固件文件完全不同,请务必确认后再刷机。

刷机后无法启动怎么办?

不要担心! RAX3000M 内置 TFTP 恢复功能,即使刷机失败也不会变砖。

恢复步骤:

  1. 在 PC 上设置静态 IP: 192.168.1.254
  2. 启动 TFTP 服务器,提供 initramfs-recovery.itb 文件
  3. 路由器断电 → 上电
  4. 设备会自动通过 TFTP 下载并启动临时系统
  5. 进入临时系统后重新执行 sysupgrade
为什么必须备份 Factory 分区?

Factory 分区包含设备的唯一信息

  • MAC 地址
  • WiFi 校准数据
  • 设备序列号

如果丢失 Factory 分区:

  • WiFi 性能可能下降
  • MAC 地址可能变成随机值
  • 无法恢复原厂固件

请务必将备份文件保存到电脑上安全的位置!

WiFi 性能不如原厂固件?

可能原因和解决方案:

  1. 未恢复 Factory 分区:确保正确备份并恢复了 Factory 分区
  2. 信道拥挤:在 LuCI 中调整 WiFi 信道,选择干扰较少的信道
  3. 发射功率:可以在 LuCI → 网络 → 无线 中调整发射功率
  4. 国家码设置:确认国家码设置为 CN (中国)
TFTP 服务器推荐使用什么软件?

Windows 系统:

  • Tftpd64 / Tftpd32(推荐,简单易用)
  • SolarWinds TFTP Server

Linux / macOS 系统:

  • 使用系统自带的 in.tftpd
  • 或安装 atftpd

记得将固件文件重命名为 initramfs-recovery.itb 并放在 TFTP 根目录。

可以直接从 eMMC 版本切换到 NAND 版本吗?

不可以!

eMMC 和 NAND 是硬件层面的差异,两者的存储介质完全不同:

  • eMMC 版本使用 eMMC 闪存芯片
  • NAND 版本使用 SPI NAND 闪存芯片

固件、分区表、引导加载程序都完全不同,不能互刷。必须根据您的硬件版本选择对应的固件。