红米 ax6000 刷 openwrt 教程,终于有完善好用的 openwrt 了

上次我们给红米 AX6000 解锁了 SSH,今天就再进一步来给他刷上 openwrt 顺便测试下。目前红米 AX6000 已经有 openwrt 官方的支持了,固件也达到了基本完善的状态,无线 Wi-Fi 信号和原厂差不多,只是 led 灯依然有一些 bug。不过如果你不是对 openwrt 需求强烈和爱折腾的用户,其实跟着按照上次解锁 SSH 后就够用了。当然今天这个教程刷完 openwrt 还是能直接用官方恢复工具刷回原厂固件的,不用担心变砖。

在教程开始前还是先感谢下:

准备工作

1 一台红米 ax6000 路由器(解锁好 ssh 了,如果没有可以先看看上篇)

2 一台 Windows 电脑(主要刷回原厂固件需要 Windows )

3 下载安装 Termius (termius ssh 连接比较方便,当然别的 ssh 工具也行)

4 然后下载好(原厂分区)红米 ax6000 的 openwrt 固件

第一步:刷入过渡固件

cat /proc/cmdline

这一步需要路由器是正常联网的,首先 ssh 连接上红米 ax6000 ,执行上面的命令,查看返回的 firmware 等于 0 还是 1。 (我截图这里是 1 )

如果是 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
cd /tmp
curl -L https://share.qust.me/d/%E8%B7%AF%E7%94%B1%E5%99%A8/redmi-ax6000/initramfs-factory.ubi -o initramfs-factory.ubi
ubiformat /dev/mtd9 -y -f /tmp/initramfs-factory.ubi
reboot -f

如果是 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
cd /tmp
curl -L https://share.qust.me/d/%E8%B7%AF%E7%94%B1%E5%99%A8/redmi-ax6000/initramfs-factory.ubi -o initramfs-factory.ubi
ubiformat /dev/mtd8 -y -f /tmp/initramfs-factory.ubi
reboot -f

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

  • 管理ip:192.168.5.1
  • 用户名和密码:root/password
  • 无线wifi名称:OpenWrt
  • 无线wifi密码:password

第二步:从过渡固件刷入 openwrt

在刷写前需要设置下 ENV ,浏览器打开过渡固件后台 192.168.5.1,登录用户名 root,密码 password。然后打开服务里的终端,同样登录用户名 root,密码 password(输入密码不会显示输完回车即可)。

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

然后复制上面的命令到终端执行,从过渡固件刷入 openwrt 这步是必须做的。

然后打开系统-备份与升级,选择刷写固件。浏览里找到下载好的 openwrt 固件,选择上传。上传好后选择取消勾选保留当前配置然后选择继续。等待刷写完成自动重启,就会进入新的 openwrt 固件。

新的 openwrt 固件后台地址是 192.168.6.1 用户名和密码依然是 root 和 password,默认的网口 1 是 wan 口,剩下的都是 lan 口。

目前这个 openwrt 的固件已经集成了 hwnat,也就是硬件加速,这是我喜欢硬路由的地方,正常上网使用像是 NAT、PPOE 性能和效率都非常高,跑满正常 1000M 宽带 CPU 几乎不动。CPU 性能当然依然足够 1000M 外网,coremark 两万七千多分数,这个上篇也说过。

和官方固件对比测试了下无线 Wi-Fi 的性能,测试的手机是最低标配 Wi-Fi 6 的 iPhone 13 ,在近处能达到 700Mbps 多,隔了一堵墙后也有 500 Mbps 左右,基本能达到官方固件的水平。

如果你想从当前 openwrt 固件刷到别的版本,同样是在系统-备份与升级,下载好的 openwrt 固件,选择上传,然后选择刷写固件,不勾选保留当前配置即可。当然如果只是同一个作者的固件只是更新版本,一般也可以保留配置直接升级的。

刷回官方

如果不想使用 openwrt 固件了或者一不小心刷错了无法开机,都可以是使用官方的修复工具刷回原厂,当然前提是你没修改过路由器的分区。目前 openwrt 官方的固件会合并最后两个分区为大分区,个人不建议新手这么做,因为要是挂了刷回官方固件就需要拆机比较麻烦,ptpt52 也在 GitHub 发了使用官方分区 PR 等等看吧。

首先下载好官方修复工具官方固件,使用小米路由器修复工具需要提前退出 Windows 自带的杀毒,我更推荐大家去下载安装个火绒这样更安全方便。

路由器进入恢复模式,路由器先用针按住后面的 reset 恢复按钮,再插上电源,持续顶住大约 8s,等到黄色指示灯变为黄色闪烁,就可以松开 reset 按钮,然后用网线连接 Windows 电脑,路由器这边连接 lan 口就可以,红米 ax6000 没有标 lan wan ,接 234 都可以。

打开解压好的小米路由器修复工具,要是有防火墙提示选择允许即可,然后选择本地上传下载好的官方固件 ;然后网卡选择:请选择与路由器相连的以太网网卡; 现在再点下一步就会自动开始刷机,看到发送完成就说明刷机完成了。然后我们等待路由黄灯变为蓝灯闪烁。我们就可以拔下电源再重新插上路由器,这样就完成了,路由器就回到了官方的固件。

重置、升级、刷机后如何恢复 SSH

无论你是升级了系统、还是恢复了出厂、还是刷了别的版本的系统或 openwrt 再刷回来,telnet 其实都是打开的,因为已经写在了 bdata 分区。不过 telnet 密码会恢复成默认的,我们需要通过路由器后台右下角的 SN 号来计算。这里有两个网站直接在线计算(安全的离线计算):

telnet 连上以后,执行:

sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart

就开启了 ssh,ssh 默认密码就是上面计算出来的一样。

总结

这次把红米 ax6000 从刷 openwrt 到刷回官方固件,恢复 ssh 整个完整的都折腾了一遍,希望对大家有所帮助。还是那句话你了解你需要 openwrt 你再去刷它,刷了 openwrt 肯定会失去官方的 mesh 以及官方的 App,当然也会获得更多的功能。红米 ax6000 在 400 元左右真的是个还不错的选择,除了没有 2.5G 网口很遗憾;当然预算少点选择红米 ax6s 也不错性能也是够用,相比软路由 ax6000 更适合当台路由器也同样能有丰富的功能。