获取验证码
小米路由器刷入U-Boot可实现底层启动加载器替换,为刷OpenWrt系统提供支持。通过串口连接或TTL方式进入U-Boot模式后,用户可使用TFTP、USB等方式刷写OpenWrt固件,从而获得更强的系统自由度和功能扩展,如自定义插件、网络优化及权限控制等。
说明:电脑先连上小米路由器(网线、WiFi均可),并登录192.168.31.1,我们这里以Redmi AX6000为例其他的小米路由器都是差不多的
登陆成功后在网址栏可以看见token,即加粗部分
示例:192.168.31.1/cgi-bin/luci/;stok=60522452fadf088a65c6bf93645282a1/web/home#router
将下方的**{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
http://192.168.31.1/cgi-bin/luci/;stok={token}/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
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
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后运行下列命令:
echo -e 'admin\nadmin' | passwd root
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
mkdir /data/auto_ssh && cd /data/auto_ssh
curl -O https://cdn.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
SSH登录路由器查看分区:
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"
cat /proc/partitions
31 0 131072 mtdblock0
31 1 1024 mtdblock1
31 2 256 mtdblock2
31 3 256 mtdblock3
31 4 2048 mtdblock4
31 5 2048 mtdblock5
31 6 256 mtdblock6
31 7 256 mtdblock7
31 8 30720 mtdblock8
31 9 30720 mtdblock9
31 10 51200 mtdblock10
253 0 15748 ubiblock0_1
可以看到原厂的ubi和ubi1两个固件分区是30MB。
查看FIP在哪个分区,有的在分区4,有的在分区5;一定要看好自己的
备份好FIP和Factory分区:
使用dd命令备份到tmp文件夹下:
dd if=/dev/mtd4 of=/tmp/mtd4_Factory.bin
dd if=/dev/mtd5 of=/tmp/mtd5_FIP.bin
备份下载到电脑保存好。

使用winscp软件,把mt7986_redmi_ax6000-fip-fixed-parts.bin上传到路由器的tmp目录
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin 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 ...

写入不死完等个10秒直接拔电;电脑以太网卡ipv4地址固定为192.168.31.X(X为2-254任意数字)
断电状态下;顶住reset孔插电,观察以太网卡,大约15秒即可松手,目前第一版不死Boot无灯提示
确认刷入完毕后,拔掉路由器电源。然后将电脑的IP地址设置为固定的192.168.31.2,接着按住路由器的RESET按钮后通电开机,等待15s后松开RESET(因为Uboot尚未支持LED指示灯,所以指示灯不会亮),用Chrome浏览器进入192.168.31.1,就会见到web页面,在uboot恢复页面选择要刷入的大分区固件。
进入uboot的web界面,选factory.ubi固件刷入即可
237大佬的闭源OP的uboot大分区固件其实是sysupgrade.bin,但是可以uboot直接刷,固件能正常启动。
使用Chrome浏览器上传uboot大分区固件,然后点击update,等待出现更新成功,正在重启界面。
如果出现刷机失败,可以刷新192.168.31.1页面,重新上传再刷固件。

有可能出现的错误界面:

这样就是好的
