Redmi AX6000刷机OpenWrt

刷机需要以下准备:

  • Redmi AX6000 路由器
  • 一台电脑
  • 下载刷机工具
  • 一条网线(可选)

ps.
如果路由器已经变砖了可以尝试刷回原固件

默认用网线连接电脑和路由器避免每次刷机都要通过WIFI认证

1. 解锁SSH

1.1 降级官方固件

进入路由器后台管理页面,点击常用设置-系统设置-手动升级,选择下载好的1.0.60固件
我这里已经从低版本直接升到了1.0.60,但是从高版本升级到低版本时会报如下错误:
出于安全考虑,不允许选择低于当前版本的固件进行升级
解决方法是在地址栏的url最后一个0改成1或者1改成0,然后回车就可以升级了。

1.2 获取 token

升级成1.0.60版本后,登录后台管理页面 192.168.31.1 ,记录当前token。
浏览器地址栏stok=后面那一串就是token,例如:

41e44c1c12450dab97dc34fa24a42d0e

这个token每个人都不同,每次登录也不同,后面都会用到这个token。每次重新登录后,都要重新复制这个token。

1.3 进入开发者模式

登录后台,用本次登录的token的替换到下面网址中stok=的后面,粘贴到地址栏后回车。
http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20

如果出现代码 {"code":0} 说明成功,出现{"code":401,"msg":"Invalid token"} 说明使用了错误的token。

用本次登录的token的替换到网址中stok=的后面,粘贴到地址栏后回车,作用是重启路由器。
http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

1.3 设置Bdata参数

再次登录后台管理页面,记录当前token并替换:
http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20

同样的,如果出现代码 {"code":0} 说明成功。

重启路由器:
http://192.168.31.1/cgi-bin/luci/;stok=token/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

1.4 telnet远程连接

然后就可以使用远程连接工具通过telnet远程连接了。这里我用的是Putty,用自己习惯的就好,没有的话在附件里面也提供了免安装的远程连接工具MobaXterm,具体使用方法请百度。

打开远程工具,在主机地址栏输入路由器的网关192.168.31.1,然后连接方式选择Telent就可以开始连接了。

连接后可以看到Are you ok的界面就说明成功了。

输入以下指令开启ssh并修改密码为admin:

bdata set boot_wait=on
bdata commit
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
echo -e 'admin\nadmin' | passwd root

输入 exit 回车退出Telent连接,回到Putty的界面。还是输入一样的地址,不过连接方式选择SSH。
登陆有可能会出现报错,解决方法参考这篇随笔:Redmi AX6000 SSH登录报错

首次连接会出现安全警告,选择接受Accept。

登录的用户名是root,密码是admin,输完敲回车出现欢迎界面就算SSH连接成功了。

到这一步解锁SSH就已经完成了,要继续刷入OpenWrt,不需要断开SSH直接进行下一步刷入过渡固件。
如果只需要解锁SSH日常使用,还需要进行固化ssh操作。
参考这篇随笔:Redmi AX6000 固化ssh

然后输入以下指令关闭开发者模式并重启就行了。

mtd erase crash
reboot

如果路由器出现时区异常参考这篇随笔:
Redmi AX6000修复时区异常

2. 刷入过渡固件

刷入过渡固件之前首先需要将下载好的过渡固件stock-initramfs-factory.ubi导入到路由器中,在MobaXterm中直接粘贴就行,但是Puttty遗憾的是没有文件传输的功能,只好手动传输了。

打开cmd,进入存放过渡固件的文件夹,使用scp命令传输到 /tmp 目录下:

cd "你的路径\xwrt"
scp stock-initramfs-factory.ubi root@192.168.31.1:/tmp

期间会让你输入 yes 来确认传输,然后需要输入root用户的密码,也就是admin

然后回到Putty的终端,输入以下命令检查是否传输成功,可以在tmp文件夹中看到刚刚传输的stock-initramfs-factory.ubi固件

ls /tmp

然后输入下面的命令检查系统所在分区

cat /proc/cmdline

查看返回的 firmware 等于 0 还是 1,我这里是1,根据个人实际情况为准。

如果firmware=0执行:

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
ubiformat /dev/mtd9 -y -f /tmp/stock-initramfs-factory.ubi
reboot -f

如果firmware=1执行:

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
ubiformat /dev/mtd8 -y -f /tmp/stock-initramfs-factory.ubi
reboot -f

复制执行完就会重启,进入过渡固件的后台:

  • 后台地址:192.168.15.1
  • 用户名:admin
  • 密码:admin

我们需要更新一下这个X-wrt的过渡固件到完整版,点击系统-备份与升级,选择刷写新的固件。

从下载的附件中选择X-wrt的完整版固件上传,不保留当前配置。

刷写固件完毕后路由器会自动重启,刷新页面就可以进入新的X-wrt后台页面,用户名和密码还是admin/admin

这个X-wrt的固件也是可以日常使用的,但是功能不如OpenWrt,继续下一步刷OpenWrt。

3. 刷入Openwrt固件

在刷写前需要设置 ENV ,由于这个后台默认关闭了SSH的root登录,也没有提供网页终端,需要手动打开SSH连接上终端。
点击系统-管理权-SSH访问,将密码验证和允许root用户使用密码登陆勾选上,点击保存并应用。

等待应用完成后,打开远程工具Putty,使用SSH登录,需要注意的是刷入固件后登录地址变化了:

  • SSH地址:192.168.15.1
  • 用户名:root
  • 密码:admin

登录后运行以下代码就可以退出了

fw_setenv boot_wait on
fw_setenv uart_en 1
fw_setenv flag_boot_rootfs 0
fw_setenv flag_last_success 1
fw_setenv flag_boot_success 1
fw_setenv flag_try_sys1_failed 8
fw_setenv flag_try_sys2_failed 8

回到浏览器的管理后台,选择系统-备份与升级,选择刷写新的固件。选择下载好的附件中ax6000-stock文件夹下的固件,有ax6000-full.bin(插件较多)或者ax6000-mini.bin(精简版)可供选择,full和mini版差异在于默认集成插件,其他一致。

ps.
full版的UI界面更美观

上传固件后会出现报错,这里取消选择所有的复选框,只在强制升级那打勾,然后点击继续,稍等几分钟路由器的指示灯变成蓝色和绿色常亮就刷好了。

然后就可以通过浏览器访问OpenWrt的后台:

  • 后台地址:192.168.6.1
  • 用户名:root
  • 密码:password

到这里完整的刷机教程就结束了,接下来介绍以下怎么刷回去官方的固件。

4. 刷回原厂固件

因为刷机过程中的误操作或者后续折腾时失误很容易导致路由器变砖,这个时候最简单的办法就是刷回原厂固件。
或者OpenWrt系统用不明白玩不转也可以刷回原来的官方固件。

比如像是这样变成了未识别的网络

进不去管理后台

甚至连网关都没了

以上问题都可以用小米官方的路由器修复工具救回来,首先将路由器接好电源,用网线连接电脑和路由器的LAN口

4.1 下载修复工具

小米修复工具的压缩包解压,用管理员权限运行里面的 .exe 应用程序。

刷机包就选择我们用来解锁ssh的1.0.60固件就行,点击下一步。

选择连接路由器LAN口的网卡,多网卡环境建议禁用其他网卡,防止网络干扰。实测只要选对了就没问题,选完点击下一步。

4.2 进入恢复模式

接下来会让我们在路由器上进行物理操作:

  1. 拔掉路由器的电源。
  2. 用针按住后面的 reset 恢复按钮,同时插上电源,持续等到指示灯橙灯闪烁再松开。

我这里用的是掰直了的曲别针,各位手边有什么就用什么。

4.3 关闭电脑防火墙

到此为止还不会进行刷机,必须关闭电脑防火墙才行。直接进入 cmd 输入 firewall.cpl 就可以快速打开Windows防火墙设置,时间充裕也可以去控制面板慢慢找。点击“启用或关闭Windows Defender防火墙”,把专用和公用网络的防火墙都选择不启用就好。

如果有杀毒软件可能也需要关闭,我用的火绒只用关Windows防火墙。这里电脑只接了路由器,路由器也没接其他网络,所以不用担心安全问题,但是刷完机一定要记得打开防火墙。

关闭防火墙之后刷机就会自动进行,等到路由器蓝灯闪烁(大约1分钟不到)就可以重启了。

要记得打开防火墙!

退出小米路由器修复工具,这里会把网络配置改回去,这是正常的。

重启之后会自动打开首次配置的网页,设置完成后 192.168.31.1 进入后台管理页面

自此Redmi AX6000刷回官方固件就正式完成了,你可以选择继续刷系统折腾,也可以安稳用官方固件。

5. 附件下载

因为阿里云盘对常见压缩包格式的分享限制,这里使用了WINRAR创建了exe自解压格式,解压之前请使用杀毒软件扫描是否存在恶意代码。

阿里云盘:Redmi AX6000.exe

Redmi AX6000
│  MIWIFIRepairTool.x86.zip
│  miwifi_rb06_firmware_7ddeb_1.0.60.bin
│  MobaXterm_Portable_v23.1.zip
│
├─ax6000-stock
│      ax6000-full.bin
│      ax6000-mini.bin
│      237大佬固件更新地址.txt
│
├─MIWIFIRepairTool.x86
│      libcurl.dll
│      MIWIFIRepairTool.x86.exe
│      tftp.log
│      ucrtbased.dll
│      vcruntime140.dll
│      vcruntime140d.dll
│
└─xwrt
        stock-initramfs-factory.ubi
        x-wrt-23.04-b202305152359-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin

6. 参考资料

  1. 红米AX6000开启ssh:
    https://beyondkmp.com/2023/03/05/ax6000-ssh/

  2. 红米 ax6000 刷 openwrt 教程,终于有完善好用的 openwrt 了:
    https://qust.me/post/ax6000-openwrt/

  3. 红米AX6000完美刷机 | 刷机无风险 小白适用:
    https://www.bilibili.com/video/BV1Co4y1F7wM

  4. [红米ax6000] [7-16]红米ax6000闭源驱动op/GL.inet固件:
    https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8261104&extra=page%3D1%26filter%3Dtypeid%26typeid%3D103

  5. [OpenWrt Wiki] Xiaomi Redmi AX6000:
    https://openwrt.org/toh/xiaomi/redmi_ax6000

posted @ 2023-07-29 16:13  ren_miruu  阅读(5429)  评论(0编辑  收藏  举报