百度已收录

将小米原厂固件降级到1.0.60版本,太高版本漏洞已经被修复了,1.0.60原厂固件包看下方链接

miwifi_rb06_firmware_7ddeb_1.0.60.bin

降级教程见文末官方救砖方法,此处略去降级过程,成功刷好原厂1.0.60固件以后再开始执行下面的步骤

首先,入户网线接入AX6000的WAN口(背部1号网口),再找一根网线,一端随便接入任意一个LAN口(背部2、3、4号网口),另一端接入笔记本的网口,正常配置路由器


正常配置Redmi AX6000 后,浏览器输入192.168.31.1,进入路由器管理页面,获取路由器token,登录跳转主页面后,URL中stok后跟着值就是

  • 开启开发/调试模式(此模式下允许修改Bdata),{token}替换为上面获取到的token值
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
  • 重启,{token}替换为上面获取到的token值
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

重启后需要重新进入路由器管理页面获取新的token,因为每次重启路由器,token都会改变

  • 设置Bdata永久开启telnet,{token}替换为上面获取到的token值
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
  • 再次重启,{token}替换为上面获取到的token值
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20

XSHELL选择TELNET协议连接192.168.31.1路由器

  • 开启SSH,连上telnet后运行下列命令
echo -e 'admin\nadmin' | passwd root

查看输出,看是否修改成功,正常会提醒密码过于简单,设置不成功,设置不成功也不重要,可以直接跳过此步骤

  • 固化SSH
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
  • 永久开启SSH(重启不会关闭)
mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://fastly.jsdelivr.net/gh/lemoeo/AX6S@main/auto_ssh.sh
chmod +x auto_ssh.sh

uci set firewall.auto_ssh=include
uci set firewall.auto_ssh.type='script'
uci set firewall.auto_ssh.path='/data/auto_ssh/auto_ssh.sh'
uci set firewall.auto_ssh.enabled='1'
uci commit firewall
  • 关闭开发/调试模式
mtd erase crash
  • 重启
reboot

至此,TELNET的使命就完成了,接下来使用SSH连接192.168.31.1,用户名root,密码取决于上面是否设置成功,可以用admin尝试,如果登录不进去,就是默认没有密码

  • 刷openwrt固件,telnet/ssh 登录设备,查看当前系统是ubi 还是 ubi1
cat /proc/cmdline

查看输出

firmware=1 表示当前系统是ubi1
firmware=0 表示当前系统是ubi

查看当前分区情况

cat /proc/mtd

查看输出,找到你当前系统对应的分区,一般情况会在mtd8或者mtd9这两个分区,具体情况请执行上述命令对号入座


  • 如果当前系统是ubi,设置nvram变量从ubi1启动
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
  • 上传stock-initramfs-factory.ubi到192.168.31.1/tmp目录下

刷 stock-initramfs-factory.ubi 到当前所在分区相反的分区,意思是下次启动从另一分区启动,我这里是mtd9

ubiformat /dev/mtd9 -y -f /tmp/stock-initramfs-factory.ubi

  • 如果当前系统是ubi1,设置nvram变量从ubi启动
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
  • 上传stock-initramfs-factory.ubi到192.168.31.1/tmp目录下

刷 stock-initramfs-factory.ubi 到当前所在分区相反的分区,意思是下次启动从另一分区启动,我这里是mtd8

ubiformat /dev/mtd8 -y -f /tmp/stock-initramfs-factory.ubi

完成刷 stock-initramfs-factory.ubi(临时系统) 之后,reboot 重启,进入x-wrt/openwrt 的initramfs临时系统


重启过后,路由器的网卡IP段会变,此时查看当前连接AX6000的那个网卡,查看自动分配的IP段是多少

举例 : 假如查看网卡IPv4,自动分配的IP为192.168.15.10,那么此时AX6000的管理页面地址就是192.168.15.1,x-wrt临时系统的默认网段是192.168.15.1,具体请自行查看获取

浏览器输入上面获取到的管理页面地址,用户名 - admin,密码 - admin,进入x-wrt临时系统

页面点击系统 - 备份与升级,找到刷写新的固件,点击刷写固件,在弹出的上传组件中选择x-wrt-23.04-b202305152359-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin(x-wrt正式系统),x-wrt正式系统镜像文件见下方链接,点击上传,取消勾选保留当前配置,点击继续,等待2分钟左右,刷新页面,重新登录,用户名密码同上,此时就刷入了x-wrt的正式系统,x-wrt也挺好用的,不想在往下折腾的,至此就可以正常使用了

x-wrt-23.04-b202305152359-mediatek-filogic-xiaomi_redmi-router-ax6000-stock-squashfs-sysupgrade.bin


想用页面UI更好看的版本,在页面点击系统 - 备份与升级,找到刷写新的固件,点击刷写固件,在弹出的上传组件中选择ax6000-stock-full.bin(恩山无线论坛 - 237大佬编译的闭源op固件,有2个版本,一个full版本,自带很多插件,一个mini版本,相对比较精简的版本,建议直接刷full版本),ax6000-stock-full.bin和ax6000-stock-mini.bin固件见下方链接,点击上传,取消勾选保留当前配置,勾选强制升级,点击继续,等待2分钟左右,此时,再次查看网卡自动分配的IP,应该会在6网段,自动分配的IP会在192.168.6.[2-255]之间,也就是说AX6000的管理页面也会相应的变成192.168.6.1,浏览器输入192.168.6.1,用户名root,密码password,至此就全部刷入完成了

ax6000-stock-full.bin
ax6000-stock-mini.bin


Redmi AX6000的优势就是只要不修改原厂分区,就可以在刷机的任意一个环节出错时回原厂固件,但是如果修改了原厂分区,就需要拆机,比较麻烦,openwrt官方的固件会合并最后两个分区为大分区,非官方的固件,因为闭源所以未知

查看当前系统信息

cat /proc/cmdline

显示的内容


console=ttyS0,115200n1 loglevel=8 firmware=1 uart_en=1


查看分区命令

cat /proc/mtd

显示的内容


mtd0: 08000000 00020000 "spi0.1"
mtd1: 00100000 00020000 "BL2"
mtd2: 00040000 00020000 "Nvram"
mtd3: 00040000 00020000 "Bdata"
mtd4: 00200000 00020000 "Factory"
mtd5: 00200000 00020000 "FIP"
mtd6: 00040000 00020000 "crash"
mtd7: 00040000 00020000 "crash_log"
mtd8: 01e00000 00020000 "ubi"
mtd9: 01e00000 00020000 "ubi1"
mtd10: 03200000 00020000 "overlay"


官方分区为FIP分区,有的在mtd4,有的在mtd5,请注意查看自己的,根据实际情况来备份,建议将mtd4和mtd5都备份

备份官方FIP分区命令

dd if=/dev/mtd5 of=/tmp/FIP.bin

恢复官方FIP分区

上传备份的FIP分区文件到tmp目录下

登录SSH执行

mtd write /tmp/FIP.bin /dev/mtd5

拔电,官方救砖就行了


官方救砖方法

  • 首先下载好官方修复工具官方固件

  • 关闭电脑自带防火墙及杀毒软件

  • 路由器进入恢复模式,路由器先用针按住后面的reset恢复按钮,再插上电源,持续顶住大约15s,等到黄色指示灯变为黄色闪烁,就可以松开reset按钮,然后用网线一端连接电脑,网线另一端路由器连接LAN口就可以,AX6000没有标LAN WAN,接234都可以

  • 打开解压好的小米路由器修复工具,选择本地上传下载好的官方固件,然后网卡选择,请选择与路由器相连的以太网网卡,点下一步就会自动开始刷机

  • 看到发送完成就说明刷机完成了,然后我们等待路由黄灯变为蓝灯闪烁,我们就可以拔下电源再重新插上路由器,这样就完成了,路由器就回到了官方的固件