Redmi AX6000 开启并固化SSH + 刷openwrt，附带回原厂固件方法
将小米原厂固件降级到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这两个分区，具体情况请执行上述命令对号入座 设置nvram并且刷 stock-initramfs-factory.ubi(临时系统)，临时系统镜像文件见下方链接 stock-initramfs-factory.ubi 如果当前系统是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都可以 打开解压好的小米路由器修复工具,选择本地上传下载好的官方固件,然后网卡选择,请选择与路由器相连的以太网网卡,点下一步就会自动开始刷机 看到发送完成就说明刷机完成了,然后我们等待路由黄灯变为蓝灯闪烁,我们就可以拔下电源再重新插上路由器，这样就完成了，路由器就回到了官方的固件