小米cr8806刷openwrt

放假在某鱼上买了一个小米路由器,看网上说可以刷入openwrt,然后就跟着教程折腾了一下,感觉还是有必要记录一下,毕竟遇到了一些坑。

拆机,进入TTL

首先得先把路由器拆开,刚好家里有一个USB转TTL模块,我的是CH340。为了以后刷机方便,我用排针焊接了一下,然后就是接线了,切记,VCC不要接就是了。

把杀毒软件,防火墙关一下,然后打开PuTTY或者MobaXterm等可以连接串口的软件,模式选择Serial,选择对应端口COM,速度选择115200,然后点击打开。这个时候路由器插上电,这个时候看到终端在跑代码,然后一阵回车进入shell命令模式。如果没有在跑代码,就把TX和RX换下位置记住是回车进入shell,不是等待进入,我在这边卡了很久,一直以为是等它跑完代码会进入shell,结果一直进不去。

进入shell命令之后,敲入如下代码,就是设置环境变量,效果应该是,启动时等待某个条件进入TTL,然后是启用uart以便进入串口模式,然后保存环境变量:

1
2
3
setenv boot_wait on
setenv uart_en 1
saveenv

如果按回车键进不去shell命令界面,我就一直按回车进不去,然后一顿搜索,找到了一个解决办法:打开设备管理器,找到连接的路由器的网络适配器,右键 -> 属性 -> 高级 -> 连接速度和双工模式 -> 选择10Mbps全双工,再尝试进入TTL,我就是这样才成功进入TTL,后面刷完改回默认就行。


然后把要刷入的固件放在tftpd64软件目录,双击tftpd64运行,我下载的固件是openwrt-ipq50xx-generic-redmi_ax3000-squashfs-nand-factory.ubi,然后将你的电脑用网线连接路由器的LAN口,打开网络和Internet设置手动修改连接的ip地址和相关信息,我设置的ip地址为192.168.10.2,DNS和网关为192.168.10.1,然后tftpd64选择刚刚设置的ip,在shell终端依次输入如下指令:

1
2
3
setenv ipaddr 192.168.10.2
setenv serverip 192.168.10.1
tftpboot (你的固件名)

如果固件一直刷不进,就把ipaddr和serverip互换一下,等待下载完成(大概一两秒)后输入如下命令:

1
2
3
4
5
flash rootfs_1
setenv flag_try_sys2_failed 0
setenv flag_boot_rootfs 1
setenv flag_last_success 1
saveenv

确保输入正确后,执行reset重启路由器,这个时候你会看到,终端在跑openwrt的代码了,等到出现op终端界面时,拔掉TTL接线,把网络连接设置为自动分配ip地址,然后在浏览器输入192.168.10.1就可以看到openwrt的界面了。泪目,成功的那一刹那真的很有成就感,我比较幸运刷一次就成功,路由器没有变砖

再然后就是弄科学上网插件,可以使用shellcrash,由于内存不够,只能选择这个了,用了一下感觉还不错。

最后,给出几个下载地址,和我刷机参考的文章
工具和固件下载参考文章