红米 Redmi AX6 路由器刷机OpenWRT固件所有经验资源搜集自网络,红米AX6硬件配置为 高通IPQ8071A,跟小米 AX3600 CPU 一样,四核心 ARM Cortex A53 架构,512MB DDR3内存,128MB闪存,4个千兆网口,性价比较高,但不利于折腾,AX6刷机请认真查看教程,变砖得返厂不负责任,请警慎。

前期准备

搭载 OpenWrt 系统的无线路由器,作为服务器使用

一台支持网线连接的电脑,Win10 或 Mac 都可以

下载红米 Redmi AX6 1.0.16版本1.0.18版本 的降级文件

下载刷写 OpenWRT 固件的文件包,openwrt ax6.zip

下载SSH客户端工具,SFTP客户端工具,比如:PuttyFlashFXP

固件降级

下载红米 Redmi AX6 1.0.16 固件 或 红米 Redmi AX6 1.0.18 固件,下载其中一个即可,站长推荐下载 1.0.16,打开路由器后台选择,系统升级 -> 手动升级 -> 然后选择下载好的固件,等待重启。

这里没什么好说的,比较简单,降级完成后,再恢复下出厂设置,如下图:

给红米Renmi AX6 降级固件

准备服务

拿出搭载好 OpenWRT 的路由器或软路由,给它通电联网,给它连接 SSH ,下面我们开始创建 lua 文件,命令如下:

# 如果无法使用 nano 那么可以尝试剩下的俩种
# 第一种
nano /usr/lib/lua/luci/controller/admin/xqsystem.lua
# 第二种
vim /usr/lib/lua/luci/controller/admin/xqsystem.lua
# 第三种
vi /usr/lib/lua/luci/controller/admin/xqsystem.lua

如果不会操作 vi 或 vim 可以在本地使用文本创建然后使用SFTP上传到服务器指定目录下,lua 文件内容填写如下,然后保存即可

module("luci.controller.admin.xqsystem", package.seeall)

function index()
    local page = node("api")
    page.target = firstchild()
    page.title = ("")
    page.order = 100
    page.index = true
    page = node("api","xqsystem")
    page.target = firstchild()
    page.title = ("")
    page.order = 100
    page.index = true
    entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
end

local LuciHttp = require("luci.http")

function getToken()
    local result = {}
    result["code"] = 0
    result["token"] = "; nvram set ssh_en=1; nvram commit; echo -e 'admin\nadmin' | passwd root; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
    LuciHttp.write_json(result)
end

然后打开 OpenWRT 管理界面,在 网络 -> 接口 找到 lan 点击编辑,将 IPv4 地址修改为 169.254.31.1,如下图:

修改 ipv4 地址

在 DHCP 服务器 -> 高级设置内取消勾选 动态 DHCP,也就是关闭 DHCP,然后保存&应用,重启该路由,如下图:

取消勾选动态DHCP

接着需要手动设置本地网络 IP 才能连接上搭载 OpenWRT 的路由,将 IP 修改为 169.254.31 网段下即可,如下图:

修改本地IP地址

设置完成通过浏览器访问 http://169.254.31.1/cgi-bin/luci/api/xqsystem/token,如果得到下面的结果,则证明你设置成功

{"token":"; nvram set ssh_en=1; nvram commit; echo -e 'admin\nadmin' | passwd root; sed -i 's\/channel=.*\/channel=\"debug\"\/g'\/etc\/init.d\/dropbear; \/etc\/init.d\/dropbear start;","code":0}

解锁SSH

将电脑的网络设置回自动获取 DHCP,然后将电脑用 网线 和 AX6 连接,别TM的用无线,使用无线中途断线失败变砖头,没人负责,登陆小米路由器后台后,浏览器地址栏 stok= 后面的一段内容复制保存下来,后面要用,如下图:

保存小米stok值

然后修改以下内容,将 <STOK> 替换为刚才保存的 stok 值,<SSID> 替换为 OpenWRT 路由器的 Wi-Fi 名,<Wi-Fi密码> 替换为 OpenWRT 路由器的 Wi-Fi 密码(有就填写,没有无需填写),记得去掉<>,如下地址:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/extendwifi_connect?ssid=<SSID>&password=<Wi-Fi密码>

将替换好值的网址复制到浏览器请求进行第一次的请求,如果显示 code 0 则成功,如下内容:

{"msg":"connect succces!","code":0}

第一次请求成功后,继续修改以下内容,<STOK> 替换为小米路由器后台获得的值即可,其它均不用改变,内容如下:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx

将替换好值的网址复制到浏览器进行第二次请求,如果显示 code 0 则成功,如下内容:

{"token":"; nvram set ssh_en=1; nvram commit; echo -e 'admin\nadmin' | passwd root; sed -i 's\/channel=.*\/channel=\"debug\"\/g'\/etc\/init.d\/dropbear; \/etc\/init.d\/dropbear start;","code":0}

以上完成验证 SSH 并进行备份,首先使用终端工具连接小米路由器,密码统一为:admin,如果能 ssh 连接上则证明上述步骤均完成,使用方法如下:

# Mac 系统使用
ssh root@192.168.31.1
# Win 系统安装 OpenSSH 使用
ssh root@192.168.31.1
# 客户端工具
root
192.168.31.1
22
# 登录密码
admin

使用终端成功登录 SSH 后,执行以下命令进行备份,确保万无一失,命令如下:

mkdir /tmp/syslogbackup/
dd if=/dev/mtd9 of=/tmp/syslogbackup/mtd9

然后通过浏览器请求该地址 http://192.168.31.1/backup/log/mtd9 进行下载备份文件。

刷写固件

还是需要 SSh 登录 AX6,设置 env 开启必要的选项,执行命令如下:

nvram set flag_last_success=0
nvram set flag_boot_rootfs=0
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram set boot_wait=on
nvram set uart_en=1
nvram set telnet_en=1
nvram set ssh_en=1
nvram commit

然后将前期准备的固件文件包解压,找到 xiaomimtd12.bin 文件,使用 SFTP 工具登录上传到 /tmp 文件夹内,上传完成后,并在 SSH 上执行命令,刷入 qsdk 固件,命令如下:

mtd write /tmp/xiaomimtd12.bin rootfs

执行完成后将 红米 AX6 断电重启,此时 红米 AX6 的后台地址将变为 192.168.1.1

接着将文件包内的 a6minbib.bin 文件上传到 /tmp 文件夹内,执行命令进行重新分区,因 qsdk固件 较大,为了以后能够不出错,要把rootfs_1分区扩大,从新分一下分区表,命令如下:

. /lib/upgrade/platform.sh
switch_layout boot; do_flash_failsafe_partition a6minbib "0:MIBIB"

然后等待执行完成,断电重启,无聊啊

以上俩步完成后,接着使用 STP 工具再将文件包内的 OpenWRT 固件上传到 /tmp 文件夹内,如果需要最新版本,可以查看固件仓库日期进行下载,命令如下:

固件名字:openwrt-ipq807x-generic-xiaomi_ax6-squashfs-nand-factory.bin

固件仓库:https://github.com/excelwang/OpenWrt-AX6-Action/releases

ubiformat /dev/mtd13 -y -f /tmp/openwrt-ipq807x-generic-xiaomi_ax6-squashfs-nand-factory.bin
fw_setenv flag_last_success 1
fw_setenv flag_boot_rootfs 1

执行完刷写 OpenWRT 固件后,然后使用命令重启,重启后就可以快乐的使用 OpenWRT 固件了,命令如下:

reboot

非常感谢 excelwang 大佬提供的红米AX6 OpenWRT固件,固件集成了 IPv6,Turbo ACC,Wireguard,udpxy,NSS,DDNS,UPNP,KMS等插件,固件没有网络代理,那么可以自行安装 PassWall,SSR Plus+ 或 Clash 等网络代理工具,小米 AX6 可以使用 aarch64_cortex-a53 架构的插件。

openwrt刷写成功

节点测速

最后看下小米 AX6 下 OpenWrt 节点测速效果,为保证测速效果,测试环境为最低配置,移动100M + 普通节点,YouTube 4K 跑分为 49279Kbps,本次测速节点由 Gsou 云加速 提供,全站专线,游戏加速,流媒体4K秒开,年付新用户全场六折。

小米 AX6 节点测速

最后总结

说实话小米Redmi AX6 是真的够强,我翻阅了恩山很多关于 AX6 的固件,也就只有 excelwang大佬 的固件还可以,使用 OpenWRT 官方的软件 NAT 加速代替 NSS 硬件加速,Ping 路由 Lan口 的延时稳定在 2ms 左右,不输 NSS 硬件加速,开4k视频,CPU 负载也不高(up to 0.5,电信500M宽带跑满,运行稳定。