1.安装降级固件
此处需要用到小米路由器修复工具,仅支持 Windows。
2.获取 stok 值
登录路由器 Web 管理后台(默认为 http://192.168.31.1 ),获取 stok 值。
3.启用SSH权限
打开CMD依次执行如下请求,其中需要将上文中获取到的 stok 值替换。
开启 SSH 配置
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=此处替换为上面记录的stok值/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20set%20ssh_en%3D1%0A"
提交配置
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=此处替换为上面记录的stok值/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20commit%0A"
设置 dropbear SSH 为 debug
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=此处替换为上面记录的stok值/api/misystem/arn_switch -d "open=1&model=1&level=%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%0A"
启动 dropbear SSH
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=此处替换为上面记录的stok值/api/misystem/arn_switch -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A"
设置 root 密码为空
curl -X POST "http://192.168.31.1/cgi-bin/luci/;stok=此处替换为上面记录的stok值/api/misystem/arn_switch" -d "open=1&model=1&level=%0Apasswd%20-d%20root%0A"
以上命令执行成功,则会响应 {“code”: 0} ,如为其他则请检查 stok 或 IP 地址是否正确替换了。
4.SSH登录
在上一步,我们已经成功开启了 SSH,下面使用 SSH 登录路由器(使用MobaXterm)。
ssh root@192.168.31.1
备份原厂分区信息。
mkdir /tmp/bak
nanddump -f /tmp/bak/BL2.bin /dev/mtd1
nanddump -f /tmp/bak/Nvram.bin /dev/mtd2
nanddump -f /tmp/bak/Bdata.bin /dev/mtd3
nanddump -f /tmp/bak/Factory.bin /dev/mtd4
nanddump -f /tmp/bak/FIP.bin /dev/mtd5
nanddump -f /tmp/bak/ubi.bin /dev/mtd8
nanddump -f /tmp/bak/KF.bin /dev/mtd12
用MobaXterm将/tmp/bak/下的备份文件传输至电脑上。
5.OpenWrt / ImmortalWrt 固件下载
OpenWrt:
ImmortalWrt:
6.刷入 initramfs system
将要刷入的文件上传到路由器 /tmp 目录(使用MobaXterm)。
查看硬件信息:cat /proc/cmdline,视情况执行下面的命令:
firmware = 0 时:
ubiformat /dev/mtd9 -y -f /tmp/immortalwrt-23.05.3-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-factory.ubi
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=1
nvram set flag_last_success=1
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
reboot
firmware = 1 时:
ubiformat /dev/mtd8 -y -f /tmp/immortalwrt-23.05.3-mediatek-filogic-xiaomi_mi-router-ax3000t-initramfs-factory.ubi
nvram set boot_wait=on
nvram set boot_wait=on
nvram set uart_en=1
nvram set flag_boot_rootfs=0
nvram set flag_last_success=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit
reboot
执行完后路由器会重启,进入到 initramfs system 。
7.升级固件
重启后 IP 发生变化,我这里路由器 IP 变为 192.168.1.1 ,使用此地址重新 SSH 登录。
将要刷入的文件上传到路由器 /tmp 目录(使用MobaXterm)。
sysupgrade -n -v /tmp/immortalwrt-23.05.3-mediatek-filogic-xiaomi_mi-router-ax3000t-squash
fs-sysupgrade.bin
刷入后路由器会自动重启进入正式系统。
默认网关地址 http://192.168.1.1 , 账号 root ,密码为空,进入后按照引导开始设置即可。(后续 SSH 登录也会用到这个密码)。