酥逗菌
酥逗菌
Published on 2025-01-22 / 87 Visits
3
0

小米 AX3000T 路由器刷入类OpenWrt固件

1.安装降级固件

此处需要用到小米路由器修复工具,仅支持 Windows。

https://www.miwifi.com/miwifi_download.html

2.获取 stok 值

登录路由器 Web 管理后台(默认为 http://192.168.31.1 ),获取 stok 值。

3.启用SSH权限

打开CMD依次执行如下请求,其中需要将上文中获取到的 stok 值替换。

  1. 开启 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"
  2. 提交配置

    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"
  3. 设置 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"
  4. 启动 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"
  5. 设置 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 登录也会用到这个密码)。


Comment