开始#
红米路由 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
遇到问题点下面解答博客(视频中未提及) 👇👇👇
安装相关软件#
下载视频博客里提供提供的附件,下载后解压到你知道的位置。
演示下 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
,替换博客里提供的链接然后回车
::: banner {info}
这里可以直接点击右边的 COPY 按钮快速复制。
:::
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
如 api 输出 {"code":0}
就说明我们的步骤没问题,可以接着继续
将重启链接中的 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
开启 Telnet#
机器重启后再次进入小米路由器后台,再次复制 stok,注意重启后的 stok 可不一样不要搞混
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
成功执行 api 后也会输出 {"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
解锁 SSH#
重启过后呢,我们的 Telnet 就开了,我们连接一下小米路由器,在 cmd 或者 Windows Terminal 这里简称为终端,键入 telnet 192.168.31.1
即可进入 telnet 了,接下来我们需要解锁 SSH 才能完成刷入 U-Boot
这里非常感谢 @Timochan 为本期节目特地编写的解锁脚本,感激不尽
将下列代码鼠标直接按 COPY 复制嗷,不需要拉横幅选中再复制
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/setup.sh && chmod +x setup.sh && ./setup.sh
执行完成后会提示 遗失对主机的连接。这里就代表解锁 SSH 脚本执行成功并且重启了
重启后再进入终端输入 ssh [email protected]
即可进入 SSH 了
备份和刷入 U-Boot#
接下来使用 @hanwckf 大神修改编译好的 U-Boot 和配套脚本
将备份一下原本的引导分区后进行下载 U-Boot
cd /tmp && curl --silent -O https://service.miaoer.xyz/unlock-redmi-ax6000/cn/server/uboot.sh && chmod +x uboot.sh && ./uboot.sh
完成后会有一段代码飘过其中前面的是下载并且校验 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 文件到本机了,这里强调需要终端中依次输入,这点很重要!
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
输出参考,提示 Success 即可,并且内容需要一模一样。
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:~#
U-Boot#
::: banner {warning}
在接下来的步骤网口 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 这块就完成了
设置#
::: banner {warning}
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 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
61971.58k | 129798.61k | 262005.95k | 304262.25k | 322272.73k | 320474.33k |
aes-256-gcm
16 bytes | 64 bytes | 256 bytes | 1024 bytes | 8192 bytes | 16384 bytes |
---|---|---|---|---|---|
98082.86k | 276013.40k | 515196.76k | 663414.10k | 722504.26k | 721534.98k |
4k 视频呢也可以轻松秒杀 20w
刷回小米原厂固件#
如果对 OpenWrt 的功能或者无线部分不满意想刷回原厂系统也是可以的
::: banner {error}
如果你使用 U-Boot 刷入了其他固件可能不包含 kmod-mtd-rm 即不能解锁分区并还原,请使用 CatWrt v22.12 恢复
:::
恢复分区#
首先我们使用 WinSCP 链接上红米 AX6000 此时机器运行的还是我编译好的 CatWrt
将我们事先备份好的 mtd5_FIP.bin 分区文件上传到 /tmp 目录里后执行命令解锁 FIP 分区即可恢复官方 U-Boot 分区
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
后面就可以断电用小米官方修复工具来修复了
小米恢复工具#
小米修复工具这里比较多注意事项,首先呢 Windows Defender 防火墙和杀软得暂时关掉,有多个网卡的记得得把多余的网卡禁用掉,拔掉 Wan 口网线(网口 1)和电源线
在小米官方修复工具中把我们预先下好的官方固件选上,下一步网卡这里我这里只有一个继续,
接着一手牙签戳进 reset 孔,一手插电,长按直到蓝色 LED 灯长亮转为了橙灯闪烁后松开 reset
等待一会就会出现刷入弹窗,等进度跑完路由器的蓝色的 LED 灯闪烁提示你拔掉电源重启
我们拔掉电源重新插上等待少会我们就恢复了原厂固件
结束#
本期视频就到这里了,这款红米 AX6000 的固件有几个小遗憾就是 160mhz 暂时没有测试到需要大家自行测试,也有可能是我的配置不正确开不出来
在状态概览中会看到莫名其妙有个 2.5G 的 eth0 其实接口里是没有绑定任何接口的
总得来说这款红米 AX6000 打包开发对我并不难,难的是脚本为我们处理好的部分这里特别感谢 Timochan PR 的脚本,还有老板购买并提供机器适配,我到底需要刷 x-wrt 还是 CatWrt 还得看你自己。
最后刷了我们 CatWrt 的可以加入我们的粉丝群,感谢大家支持我是喵二我们下期家庭数据中心再见。
帮助#
固件支持不是十全十美的活,难免会有 Bug,如遇到问题在下方评论留言或者加群询问,使用了我的固件可以进行简单咨询,要是有偿是再好不过的,用别人的固件我不理!
欢迎多多留言鼓励 (´・・) ノ (._.`)
引用#
视频实拍授权于 @卡卡的鼓捣日记
感谢遇见大佬对 CatWrt 的无线驱动部分解答
感谢暗云大佬对硬件加速方面部分解答
视频使用:
BGM:
此文由 Mix Space 同步更新至 xLog
原始链接为 https://www.miaoer.net/posts/network/flash-redmi-ax6000