介绍

  • 小米AX3000T路由器有两个版本,新版也被人们称为V2版本;新的AX3000T主板改用 Winbond W25N01KV SPI-NAND,配备了新的 NAND 闪存芯片,也被论坛、一些教程称之为V2版本。注意新版刷机使用的uboot和固件需要使用带有an8855名称的固件。

  • 区分方法:登录192.168.31.1查看后台小米的路由器的固件是否为1.0.84稳定版,1.0.84的版本则为V2_an8855版本。

总的来说ax3000t刷机还是很简单的,注意一定要选择对对应版本到固件,否则可能变砖!!!

刷机前准备

下载文件夹:本地下载

介绍下各个文件:

  • mt7981_ax3000t-fip-fixed-parts-multi-layout.bin:旧版uboot

  • mt7981_ax3000t_an8855-fip-fixed-parts-multi-layout.bin:V2版本uboot

  • immortalwrt-mediatek-mt7981-xiaomi_mi-router-ax3000t-squashfs-sysupgrade.bin:旧版固件

  • immortalwrt-mediatek-mt7981-xiaomi_mi-router-ax3000t-an8855-squashfs-sysupgrade.bin:V2版本固件

  • immortalwrt-mediatek-mt7981-xiaomi_mi-router-ax3000t-an8855-squashfs-sysupgrade-passwall-wireguard-zerotier.bin:V2版本自编译的固件带passwall、wireguard、zerotier。

  • xmir-patcher-main.zip:解锁ssh用到的脚本

开启SSH

https://github.com/openwrt-xiaomi/xmir-patcher
  • 1.双击run.bat执行脚本。

  • 2.确认第一项显示到ip是否为路由器到ip,如果不正确的话选择1输入正确到ip地址。

  • 3.输入2,提示输入密码到时候输入密码接口,出现下面到提示即开启ssh成功。

  • 接下来就可以用shell软件连接路由器,账号密码都为root。注意每次路由器重启后都需要重新开启一次才能连接ssh。

备份分区

备份对应分区防止特殊情况可以还原。ssh连接上后使用下方的命令,注意一个个执行,生成一个文件通过sftp软件下载后,删除对应文件再执行下一个命令。否则tmp路径占满内存后会导致路由器重启。

# 第一个文件因为太大 直接备份会导致路由器重启 需要压缩
dd if=/dev/mtd0 |gzip > /tmp/spi0.0.bin.gz
dd if=/dev/mtd1 of=/tmp/BL2.bin
dd if=/dev/mtd2 of=/tmp/Nvram.bin
dd if=/dev/mtd3 of=/tmp/Bdata.bin
dd if=/dev/mtd4 of=/tmp/Factory.bin
dd if=/dev/mtd5 of=/tmp/FIP.bin
dd if=/dev/mtd6 of=/tmp/crash.bin
dd if=/dev/mtd7 of=/tmp/crash_log.bin
dd if=/dev/mtd8 of=/tmp/ubi.bin
dd if=/dev/mtd9 of=/tmp/ubi1.bin
dd if=/dev/mtd10 of=/tmp/overlay.bin
dd if=/dev/mtd11 of=/tmp/data.bin
dd if=/dev/mtd12 of=/tmp/KF.bin

刷入uboot

  • 1.把uboot到bin文件上传到tmp路径

  • 2.执行命令刷入uboot:mtd write /tmp/mt7981_ax3000t-fip-fixed-parts-multi-layout.bin FIP注意使用V2版本需要使用mt7981_ax3000t_an8855-fip-fixed-parts-multi-layout.bin

刷入immortalwrt

  • 1.上一步骤的命令执行完毕后,拿牙签捅着reset键洞洞然后重启,等待灯变蓝即可松开;注意别弄错按成MESH键了。

  • 2.修改电脑ip为192.168.1.*,因为uboot没有dhcp需要使用静态ip访问;比如192.168.10.10。

  • 3.浏览器输入192.168.1.1,即可进入uboot界面。

  • 4.注意选择immortalwrt-112m,然后选择自己要刷的immortalwrt固件点击上传,上传完成后刷入即可。

  • 5.在提示刷入成功后重启路由器,浏览器输入地址192.168.1.1访问即可,账号root,默认没有密码。注意WAN口是靠近电源侧的网口。

编译固件

该步骤如果使用网上大佬编译好固件到可以跳过,只有需要自己编译插件的才用得到~~~

https://github.com/hanwckf/immortalwrt-mt798x

1.准备工作

官网建议最少4G运行内存、25G硬盘大小的Ubuntu 20.04服务器,我实际使用的是Debain12,内存和硬盘按最小到来不够用,编译不成功;所以用8G运行内存、50G硬盘进行编译。

其实github的hanwckf大佬已经把教程写得比较清楚了。

注意还需要新建一个非root用户来执行编译,源也切换到国内源。

# 新增群组
groupadd wrt
# 新增用户
useradd -r -g immortalwrt wrt
# 切换到用户
su immortalwrt

2.环境变量

因为我的是新机子,直接执行脚本拉取对应编译所需的环境即可:sudo bash -c 'bash <(curl -sL https://build-scripts.immortalwrt.eu.org/init_build_environment.sh)'

3.编译

  • 1. git clone --depth=1 https://github.com/hanwckf/immortalwrt-mt798x.git

  • 2. cd immortalwrt-mt798x

  • 3. ./scripts/feeds update -a

  • 4. ./scripts/feeds install -a

  • 5. 拷贝一个mt7981配置文件:cp -f defconfig/mt7981-ax3000.config .config

  • 6. make menuconfig 这个是关键点,根据自己的需要选择插件。具体可下文配置。

  • 7. make -j$(nproc)执行多线程编译,如果需要查看详细报错日志执行:make V=s -j$(nproc),如果需要单线程编译执行make -j1 V=s

  • 8. 编译完成后进入bin/targets/mediatek/mt7981找到*squashfs-factory.bin结尾的固件通过uboot刷入即可。

4.menuconfig的详细配置

先熟系下命令:

  • 退出:双击ESC

  • 选择:Y

  • 取消选择:N

  • 以模块的形式选择:M

  1. 第三项Target Profile选择小米AX3000T,根据自己路由器的版本来选择是否带AN8855。

  1. Administration中可以增加个实时监控netdata

  1. Luci->Applications,这里是重点,选择我们需要的软件,默认的不动可以加下软件,列下我的选择,具体详细的中英文对照可网上搜索。

  • luci-app-adbyby-plus:去广告

  • luci-app-arpbind:IP和MAC地址绑定

  • luci-app-autoreboot:支持计划重启

  • luci-app-frpc:frpc客户端

  • luci-app-netdata:实时监控

  • luci-app-passwall:根据自己需求选择;Include ShadowsocksR Libev Client、Include V2ray(不选择这个的话需要手动上传geoip.dat、geosite.dat)、Include Xray

  • luci-app-wireguard:wireguard

  • luci-app-wol:网络唤醒

  • luci-app-zerotier:zerotier

  • luci-app-unblockneteasemusic:解锁网易云音乐

  • luci-app-vlmcsd:KMS服务器

  • luci-app-eqos-mtk:网速控制

  1. Luci->Themes,可以选择自己喜欢到主题,我这里默认。

  2. Utilities->Editors,这里可以选择编辑器进行集成,默认nano,我习惯vim,所以选择vim。

  1. 右键选择到save回车保存即可。

5.注意事项

  • 1. 如果需要使用root账号编译,可以尝试先执行export FORCE_UNSAFE_CONFIGURE=1

  • 2. 如果需要调整组件重新编译,需要删除临时文件rm -rf tmp,删除编译配置文件rm -f .config,然后重新拷贝配置文件make menuconfig之后在编译。

6.问题

1.arm aes编译报错

内容如下:

解决办法:Libraries->SSL->取消选择Enable use of the ARMv8 Crypto Extensions

参考

最后再次感谢网络上的各位大佬的默默奉献,才使得刷机变成可能与便捷。