RAX3000M (MT7981) 跨代升级与 TFTP 底层救砖排错记录
- 硬件
- 16小时前
- 16热度
- 0评论
1. 背景与目标
- 设备:CMCC RAX3000M (NAND 128M版本)
- 原系统:ImmortalWrt 21.02-SNAPSHOT (2022年底层)
- 目标系统:ImmortalWrt 25.12.0 稳定版 (用于旁路由网络代理部署)
2. 升级阻断分析与排错路线
2.1 Web 与 U-Boot 升级失败 (格式断代)
尝试在 LuCI 后台与 U-Boot 恢复界面直接上传 immortalwrt-25.12.0-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb 均告失败。
- LuCI 报错堆栈:
Invalid image type. Image check failed. 不支持所上传的映像文件格式,请选择适合当前平台的通用映像文件。 - U-Boot 报错堆栈:
UPDATE FAILED Something went wrong during update Probably you have chosen wrong file. U-Boot 2022.07 (Sep 18 2023 - 17:34:15 +0800) - 故障原理:21.02 时代的 LuCI 脚本与旧版 U-Boot 的 Web 验证逻辑被硬编码为仅识别传统的
.bin格式。对 25.12.0 启用的.itb(FIT Image) 格式缺少识别魔数(Magic Number),导致文件验证被强行拦截。
2.2 CLI 强刷底层导致软砖 (引导链断裂)
尝试通过 SSH 绕过验证,直接更新底层 U-Boot (FIP):
mtd write /tmp/immortalwrt-25.12.0-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
- 现象:写入成功后重启,路由器常亮蓝灯,PC 提示“未识别的网络”,无法获取 IP,无法访问 Web 后台。

- 故障原理:MT7981 芯片的引导链分为
BL2(Preloader) 和FIP(U-Boot) 两个阶段。2022 年的古老BL2无法解析 2025 年新版FIP的内存地址偏移与签名校验,导致引导程序在硬件初始化(如网口交换芯片激活)阶段直接挂起死锁。
3. Wireshark 抓包嗅探与底层机制确认
在软砖状态下,断电、按住 Reset 通电 8 秒后,通过 Wireshark 抓包监听物理网卡。
- 网络包捕获结果:
283 61.571251 be:9b:1f:ab:40:3b Broadcast ARP 60 Who has 192.168.1.254? Tell 192.168.1.1 1109 258.951388 192.168.1.1 192.168.1.254 TFTP 139 Read Request, File: immortalwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb 1110 258.951447 192.168.1.254 192.168.1.1 ICMP 167 Destination unreachable (Port unreachable) - 故障原理:虽然常规引导卡死,但 MTK U-Boot 包含硬编码的灾难恢复机制 (Disaster Recovery)。当连续引导失败或触发特定 Reset 组合时,路由器(
192.168.1.1)会强制向局域网广播 ARP 寻找192.168.1.254,并利用 TFTP 协议(UDP 端口 69)主动拉取名为initramfs-recovery.itb的急救固件。
4. 核心解决步骤:TFTP 容灾恢复部署
4.1 网络与文件准备
- 配置网卡:将 PC 的有线网卡 IPv4 静态指定为恢复机制所需的 IP。
- 获取急救固件:前往官方底层文件服务器(如 Index of /releases/25.12.0/targets/mediatek/filogic/),下载
rax3000m-initramfs(内存文件系统:运行在RAM中的临时恢复环境,断电即丢失)。

- 精准重命名:将下载的文件必须严格匹配抓包中请求的文件名:
immortalwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
4.2 Tftpd64 喂饭级推流
- 下载免安装版
tftpd64_portable,将其与重命名后的.itb文件放置于同一目录。

- 运行
tftpd64.exe,Current Directory指向当前文件夹,Server interfaces(服务器接口:TFTP监听的本地网卡)严格指定为192.168.1.254。

- 物理触发:路由器断电 -> 持续按住
Reset不放 -> 通电 -> 倒计时 8 秒 -> 松开Reset。 - Tftpd64 界面瞬间弹出传输进度条,传输完毕后路由器自动解压并重启。

4.3 固化正式系统
由于 initramfs 仅在内存中运行,必须进入临时系统进行最终的闪存固化。
- 将 PC 网卡恢复为 自动获得 IP 地址 (DHCP)。
- 浏览器访问
192.168.1.1,进入临时恢复系统(页面会高亮提示“系统在恢复 (initramfs) 模式下运行”)。

- 导航至
系统->备份/升级->更新固件。 - 上传主线固件:
immortalwrt-25.12.0-mediatek-filogic-cmcc_rax3000m-squashfs-sysupgrade.itb。 - 极其重要:必须取消勾选
Keep settings(保留配置:跨大版本携带旧配置会引发内核模块加载冲突和网络瘫痪)。 - 确认刷写,等待路由器将系统写入
ubi存储分区并最终重启。旁路由基础环境构建完成。




