红米 AX6000 保姆级教你刷 OpenWrt 小白也不怕变砖

AI 生成的摘要

加载中...

(此服务由 xLog 驱动)

这篇文章上次修改于 5 个月前,可能部分内容已经不适用,如有疑问可询问作者。

红米 AX6000 保姆级教你刷 OpenWrt 小白也不怕变砖

Youtube

开始

红米路由 AX6000 作为小米公司发布的中端无线路由器

其搭载的联发科 Filogic 830,经测试确实已经接近入门级双核的软路由

可以满足千兆上网需求,性能可以说是非常强悍的。

本期教程呢既不是不扩容刷机(分区),也不是扩容刷机,而是 U-Boot 刷机

U-Boot 刷机的部分我认为还是比较愉快的,虽然恢复条件较多听我一一讲清楚相信你也可以搞定

这边建议刷机有风险,玩机需谨慎!建议在刷入前完整将视频看完再下手

我也是冒着变砖的风险,连夜修复固件问题。坑已经给你们踩过了,这还不值得大家的一键三连吗。

准备

本期用到

  • 红米 AX6000 无线路由器
  • 两根网线
  • 牙签(或取卡针)
  • WinSCP
  • Telnet/SSH 客户端
  • 小米路由固件 1.2.8 版本
  • CatWrt for Redmi AX6000

恢复需要

  • 小米路由官方修复工具
  • 小米路由固件 1.0.48 版本

附件下载 提取码:miao

本期视频搭配固件已有更新,详见 CatWrt-v23.8

遇到问题点下面解答博客(视频中未提及) 👇👇👇

^1


安装相关软件

下载视频博客里提供提供的附件,下载后解压到你知道的位置。

演示下 Telnet 的安装,键盘按 Windows 微标直接键入 添加或删除程序 选择 可选功能 滑到底部 更多 Windows 功能 选择 Telnet 客户端 旁的勾 √,这样 Telnet 就安装好了。

打开附件中里的 WinSCP 安装包,选择为所有用户安装,在 UAC 里同意无脑下一步即可。


降级

因为解锁需要小米 MiWiFi 固件为 1.2.8 版本

在小米路由器后台 (192.168.31.1),右上角选择系统更新,在接下来点击手动更新

选择刚刚下载好的 1.2.8 版本的固件,系统将会降级或更新到 1.2.8

重启后重新进入后台

如“出于安全考虑,不允许选择低于当前版本号的固件进行升级” ## 禁止降级

解锁 Telnet

开启调试模式

在浏览器地址栏 如 http://192.168.31.1/cgi-bin/luci/;stok=1145141919

复制小米路由地址后面的 stok,如这里的 1145141919,替换博客里提供的链接然后回车

这里可以直接点击右边的 COPY 按钮快速复制。
URL
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
Copy

如 api 输出 {"code":0} 就说明我们的步骤没问题,可以接着继续

将重启链接中的 stok 也替换一下,我也不知道为啥要这样重启既然教程是这样做就照做吧~,输入后回车

URL
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
Copy

开启 Telnet

机器重启后再次进入小米路由器后台,再次复制 stok,注意重启后的 stok 可不一样不要搞混

URL
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
Copy

成功执行 api 后也会输出 {"code":0}接着输入以下链接替换后回车路由器将进入重启

URL
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
Copy

解锁 SSH

重启过后呢,我们的 Telnet 就开了,我们连接一下小米路由器,在 cmd 或者 Windows Terminal 这里简称为终端,键入 telnet 192.168.31.1

即可进入 telnet 了,接下来我们需要解锁 SSH 才能完成刷入 U-Boot

这里非常感谢 @Timochan 为本期节目特地编写的解锁脚本,感激不尽

将下列代码鼠标直接按 COPY 复制嗷,不需要拉横幅选中再复制

BASH
cd /tmp && curl --silent -O https://raw.miaoer.net/unlock-redmi-ax6000/cn/server/setup.sh && chmod +x setup.sh && ./setup.sh
Copy

执行完成后会提示 遗失对主机的连接。这里就代表解锁 SSH 脚本执行成功并且重启了

重启后再进入终端输入 ssh root@192.168.31.1

密码: admin 回车,第一次连接输入 yes 保存密钥 回车

即可进入 SSH 了

备份和刷入 U-Boot

接下来使用 @hanwckf 大神修改编译好的 U-Boot 和配套脚本

将备份一下原本的引导分区后进行下载 U-Boot

BASH
cd /tmp && curl --silent -O https://raw.miaoer.net/unlock-redmi-ax6000/cn/server/uboot.sh && chmod +x uboot.sh && ./uboot.sh
Copy

完成后会有一段代码飘过其中前面的是下载并且校验 U-boot 文件的哈希值,备份引导分区和提示部分

其中提示 Backup success! Please download it to your computer 是备份成功,请下载到你的电脑里

我们就使用 WinSCP 连接小米路由器,协议选择 scp 主机填 192.168.31.1

账号 root 密码 admin 点击链接,同意保存并信任证书文件

如果默认进入 /root 目录需要双击 .. 返回根目录

进入 /tmp 目录就可以看到 mtd4_Factory.bin 和 mtd5_FIP.bin 将这两选中复制或者直接拖动到本机的目录里,有需要的小伙伴可以传到别的进行备份,

这点非常重要,没有他你就不能恢复到小米原厂系统!

在保存间余我瞄到了 U-Boot 文件,其实你可以不用担心 U-Boot 脚本有没有下成功的,没有下成功脚本就会提示相关错误

例如:Error: mt7986_redmi_ax6000-fip-fixed-parts.bin download failed 和 Error: mt7986_redmi_ax6000-fip-fixed-parts.bin md5 is not correct

接下来就是刷入 U-Boot 文件到本机了,这里强调需要终端中依次输入,这点很重要!

BASH
mtd erase FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Copy

输出参考,提示 Success 即可,并且内容需要一模一样。

SHELL
root@XiaoQiang:~# mtd erase FIP
Unlocking FIP ...
Erasing FIP ...
root@XiaoQiang:~# mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Unlocking FIP ...

Writing from /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin to FIP ...
root@XiaoQiang:~# mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
Verifying FIP against /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin ...
72a110768c7473200b863a3c5d4dd975 - FIP
72a110768c7473200b863a3c5d4dd975 - /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin
Success
root@XiaoQiang:~#
Copy

U-Boot

在接下来的步骤网口 1 将作为 Wan 口,网口 234 为 Lan;不支持自适应!

请将连接电脑的网线插入到 234 任意 Lan 网口里。

接下来需要设置一下 U-Boot 的静态地址

点击左下角 Windows 微标在键盘上输入 控制面板 回车,打开 控制面板 - 查看网络状态和任务 选择到 以太网 - 属性-Internet 协议版本 4 (TCP/IPv4)-属性

或者在 Windows 设置中 IP 分配 - 编辑 - IPv4

选择使用下面的 IP 地址,依次填入

IP 地址:192.168.31.2

子网掩码:255.255.255.0

网关地址:192.168.31.1

如果使用 Windows 设置而并非控制面板还需添加 首选 DNS : 192.168.31.1 (视频中并未演示)

点下确定即可

Tip: 此时 U-Boot 不会亮 LED 灯,可以观察电脑的网口是否闪烁以检查路由器是否运行,reset 可以多按几秒不能少于 15 秒!

接下来拔掉红米 AX6000 的电源,将牙签戳入路由器的 reset 口上同时接入电源,按住心里默念 15 秒然后松开 reset

就进入到大神编译好的 U-Boot 程序了,这里点击选择文件找到下载我编译好的 CatWrt For RedmiAX6000 的固件

全称 catwrt-v22.12-mediatek-filogic-xiaomi_redmi-router-ax6000-squashfs-sysupgrade.bin

然后点击 Update,固件将会上传到 U-Boot 里点击刷入,就会检查你的包是否兼容

第一次这里我这里就提示 Update Failed 报错的,这里很正常,返回再次上传固件

这次就很轻松就刷入固件了,刷入当出现 Upgrade complete! 并且伴随 LED 白灯亮起 U-Boot 这块就完成了


设置

U-Boot 进入需要设置静态地址,回到 OpenWrt 需要关闭静态改为 DHCP 自动获取。

固件的默认地址是 192.168.1.4

这里还得将我们之前设置的静态地址改为 DHCP 自动获取

在浏览器中登录路由器后台 192.168.1.4

账号 root 密码 password

即可进入 CatWrt

首先需要设置 Lan 口配置,点击 网络 - 接口-Lan-编辑

地址我们这里不修改,挺好的

网关这里设置本机地址 192.168.1.4

广播这里设置 192.168.1.0

DNS 我这里就设置阿里和腾讯的公共 DNS 地址 119.29.29.99 , 223.5.5.5

IPv6 是默认打开,DHCP 这里默认 50 起也不是不行我这里我喜欢改到 20,因人而异吧

IPv6 这里的 DNS 我们设置在 240C::6666

保存并应用,如果你修改了本机的地址这里路由器可能无限转圈圈,就需要重启一下重新在地址栏里输入你的地址即可

接下来接着设置 Wan 口,点击 网络 - 接口-Wan-编辑

如果你是光猫拨号的,这里就不需要修改,如果是光猫桥接路由器拨号的,这里改为 PPPoE 协议,点击切换协议填入宽带账号和密码

保存并应用

接着优化设置,找到网络底下的 Turbo ACC 网络加速

PS: 后面咨询了暗云大佬,硬件加速移植过来就集成在了开源的 Flow Offloading 里了,无需担忧千兆下的性能问题。

流量分载是 Flow Offloading 也没有开出来联发科的 HNAT 即硬件加速,这里还是稍有遗憾的需要等待 Lean 大佬们的支持

这里仅需要打开 DNS 缓存并且保留几个 DNS,这里我还是只保留的阿里和腾讯的 DNS

然后我们打开服务找到 UPNP 将 启动 UPnP 与 NAT-PMP 服务 打上勾就可以开启 UPNP 了

这里注意,OpenWrt 的端口转发这里可以使用 Socat 可以为转发 IPv4/v6 的端口

无线部分简单设置一下,可以正常使用是开源的无线驱动而不是闭源的,Mesh 功能也废了我尝试过在 LEDE 里编译简单 Mesh 的都以失败告终

其他功能自行研究,我也编译好了软件源,作为小补充,有兴趣的可以了解一下

因为我们刚刚修改过 Lan 口配置,重启红米 AX6000 即可正常使用了

性能

我这里只有 300-400Mbps 的宽带上网性能 CPU 也就占用 30%

CpuMark : 27555.110220 Scores 接近入门级双核软路由的水准

chacha20-poly1305

16 bytes64 bytes256 bytes1024 bytes8192 bytes16384 bytes
61971.58k129798.61k262005.95k304262.25k322272.73k320474.33k

aes-256-gcm

16 bytes64 bytes256 bytes1024 bytes8192 bytes16384 bytes
98082.86k276013.40k515196.76k663414.10k722504.26k721534.98k

4k 视频呢也可以轻松秒杀 20w


刷回小米原厂固件

如果对 OpenWrt 的功能或者无线部分不满意想刷回原厂系统也是可以的

如果你使用 U-Boot 刷入了其他固件可能不包含 kmod-mtd-rm 即不能解锁分区并还原,请使用 CatWrt v22.12 恢复

恢复分区

首先我们使用 WinSCP 链接上红米 AX6000 此时机器运行的还是我编译好的 CatWrt

将我们事先备份好的 mtd5_FIP.bin 分区文件上传到 /tmp 目录里后执行命令解锁 FIP 分区即可恢复官方 U-Boot 分区

SH
insmod mtd-rw.ko i_want_a_brick=1
md5sum /tmp/mtd5_FIP.bin
mtd write /tmp/mtd5_FIP.bin FIP
mtd verify /tmp/mtd5_FIP.bin FIP
Copy

后面就可以断电用小米官方修复工具来修复了

小米恢复工具

小米修复工具这里比较多注意事项,首先呢 Windows Defender 防火墙和杀软得暂时关掉,有多个网卡的记得得把多余的网卡禁用掉,拔掉 Wan 口网线(网口 1)和电源线

在小米官方修复工具中把我们预先下好的官方固件选上,下一步网卡这里我这里只有一个继续,

接着一手牙签戳进 reset 孔,一手插电,长按直到蓝色 LED 灯长亮转为了橙灯闪烁后松开 reset

等待一会就会出现刷入弹窗,等进度跑完路由器的蓝色的 LED 灯闪烁提示你拔掉电源重启

我们拔掉电源重新插上等待少会我们就恢复了原厂固件


结束

本期视频就到这里了,这款红米 AX6000 的固件有几个小遗憾就是 160mhz 暂时没有测试到需要大家自行测试,也有可能是我的配置不正确开不出来

在状态概览中会看到莫名其妙有个 2.5G 的 eth0 其实接口里是没有绑定任何接口的

总得来说这款红米 AX6000 打包开发对我并不难,难的是脚本为我们处理好的部分这里特别感谢 Timochan PR 的脚本,还有老板购买并提供机器适配,我到底需要刷 x-wrt 还是 CatWrt 还得看你自己。

最后刷了我们 CatWrt 的可以加入我们的粉丝群,感谢大家支持我是喵二我们下期家庭数据中心再见。

帮助

固件支持不是十全十美的活,难免会有 Bug,如遇到问题在下方评论留言或者加群询问,使用了我的固件可以进行简单咨询,要是有偿是再好不过的,用别人的固件我不理!

  • 请作者喝奶茶:赞助
  • CatWrt QQ 群 (问题处理):669190476
  • Telegram Group: 喵二の交流

欢迎多多留言鼓励 ( ´・・) ノ (._.`)

引用

U-Boot

解锁 Telnet/SSH 教程

刷入 U-Boot 教程

解锁 SSH 权限

unlock-redmi-ax6000

视频实拍授权于 @卡卡的鼓捣日记

感谢遇见大佬对 CatWrt 的无线驱动部分解答

感谢暗云大佬对硬件加速方面部分解答



视频使用:


1: https://www.miaoer.net/posts/blog/redmiax6000_openwrt_qanda
此文章已经由它的创作者签名并安全地存储在区块链上。