移动XR30路由器救砖方法
前言
为了重新截取上一篇刷机教程的过程图,想着把路由器先刷回原系统,但是网上关于这款路由器的刷机资料很少,了解到XR30与移动另一款路由器RAX3000M的硬件配置相近,就想着用RAX3000M的固件来刷机,没想到后面直接开不了机了,然后就走上了漫长的救砖之路,希望能给遇到相同情况的网友一些参考。
当前状态
电源灯不亮
启动报错ERROR: BL2: Failed to load image id 3 (-5)
NMBM元数据被破坏
U-Boot环境被破坏
U-Boot的BL2和FIP部分仍然存活
解决方法
拆掉外壳,取出主板
找到TTL接口,从上往下顺序依次是GND、TX、VCC、RX
通过USB转TTL工具连接到电脑USB口
在设备管理器查看对应的COM口,这里是COM4(如果看不到的话有可能是没装驱动,装一下CH340驱动)
用网线连接电脑网口与路由器的LAN口
进入设置,修改电脑的IPv4网段为192.168.1.x(按以下例子修改就好),保存
打开MT798X串口TTL救砖命令.bat
输入COM口编号,这里输入4,回车
下载波特率选择1,回车
选择11这个uboot固件,回车
插上路由器电源,会自动下载uboot救砖固件
看到出现FIP SENT的时候,再等待一会
直到出现下面的页面(如果是空白的话按两下CTRL+C键)
输入以下命令擦除其他固件的数据:
1 | nand erase 0x07fe0000 0x20000 # 擦除存放NMBM签名的物理块 (1023号块) |
通过TFTP的方式将固件下载到路由器的内存里,先执行以下命令配置网络
1 | setenv serverip 192.168.1.2 # 你的电脑IP,也就是上面设置的静态IP |
打开tftpd64.exe
这个要允许
选择OpenWRT固件(这里是firmware.bin,其实就是之前的immortalwrt-mediatek-mt7981-cmcc_xr30-squashfs-factory.bin)所在的目录,选择IP对应的有线网卡
继续执行以下命令进行固件下载和写入
1 | tftpboot 0x46000000 firmware.bin # 通过TFTP下载固件到内存,firmware.bin是固件的文件名 |
reset重启路由器
重启后报错变成了ERROR: BL2: Failed to load image id 3 (-2)
我们需要关闭NMBM只读模式并重建环境。先拔掉路由器电源,关闭这个窗口,重新打开MT798X串口TTL救砖命令.bat并重复前面的步骤,然后会出现这个界面
按两次CTRL+C回到命令行模式
输入以下命令关闭NMBM只读模式并重建环境
1 | setenv nmbm_mode default |
看到OK后输入reset重启路由器
现在还需要修复U-Boot主程序(FIP)。重复前面的步骤,进入这个界面(不需要CTRL+C)
浏览器打开192.168.1.1/uboot.html这个页面
上传fip.bin固件
上传成功后点击更新,等待重启
拔掉路由器电源,关闭命令行窗口,重新打开MT798X串口TTL救砖命令.bat并重复前面的步骤
浏览器打开192.168.1.1,再次上传firmware.bin并更新,等待重启
重启完成后即可正常使用,完成救砖
结语
救砖完成后,把路由器装回外壳正常使用就可以了。建议定期对路由器进行备份,这样一旦出现问题重刷系统后也能通过备份文件快速恢复配置信息。

配套资源

(部分素材来源于网络,如有侵权请联系作者删除)








