小米CR6609路由器刷pandora与breed
步骤/目录:
1.准备工作
(1)另一台路由器
(2)CR6609降版本
(3)下载文件
2.开启SSH
3.连接SSH
4.刷入pandora
5.刷入breed
6.刷入AX1800固件
本文首发于个人博客https://lisper517.top/index.php/archives/554/
,转载请注明出处。
本文的目的是在小米CR6609路由器上开启SSH,刷入pandora、breed固件,最后刷Redmi AX1800的固件。本文使用的方法应该也适用于所有CR660X的路由器。
本文写作日期为2024年2月8日,主要参考了 参考文章一 和 参考文章二 。
1.准备工作
(1)另一台路由器
需要另一台刷好openwrt的路由器(最好reset一下)。也可以用虚拟机,但是后面的流程可能有一些不同,笔者没有试过。
(2)CR6609降版本
本文使用的开启SSH的方法适用于1.0.103及以下的版本,所以最好回退CR6609版本。笔者实验时不知道当前固件版本,也没找到旧版本固件,测试时CR6609后台显示版本号6.0.xxx,这个6开头的版本可能对应某个1.0.103以后的版本。
(3)下载文件
两位原贴主提供了网盘:
百度网盘一 (提取码: love)
百度网盘二 (提取码: pvg4)
阿里云盘
下载3个网盘中的所有东西。
或者直接下载 笔者提供的压缩包 。
2.开启SSH
笔者在每一步操作后会加上自己的理解,不一定对。
openwrt路由器通电并用LAN口连接电脑,用WinSCP将 xqsystem.lua
文件上传到 /usr/lib/lua/luci/controller/admin
下,注意用SCP协议。(上传脚本)
网页登录openwrt后台,在 Network - Interfaces
中 Edit
第一个 LAN
,将 IPv4 address
改为 169.254.31.1
;然后关闭DHCP功能,该 LAN
的 DHCP Server - General Setup
中,勾选 Ignore interface
,最后 Save & Apply
。这之后需要换到 169.254.31.1
以操控该路由器。( 169.254.31.1
可能是小米路由器留下的后门)
在win10电脑中, 设置 - 网络和Internet - 状态 - 更改适配器选项
中,选择连接到openwrt路由器的网卡,右键单击,选择 属性 - 网络
页,找到 Internet 协议版本 4 (TCP/IPv4)
,更改它的属性,从 自动获得IP地址
改为 使用下面的IP地址
, IP地址
填 169.254.31.3
, 子网掩码
为默认的 255.255.0.0
即可。(保证等一下CR6609获得相同的IP)
在 Network - Wireless
中,更改默认的名为 OpenWrt
的Master网络,ESSID(wifi名)改为 abc
, wifi密码改为 12345678
,最后 Save & Apply
。如果不只一个Master网络(比如一些路由器有2.4G、5G两个甚至更多wifi),都需要改一下,但是各个wifi不要重名。(CR6609需要连接到openwrt路由器的wifi。同时确保等下没有CR6609之外的其它设备连接openwrt路由器)
浏览器访问 http://169.254.31.1/cgi-bin/luci/api/xqsystem/token
,返回如下:
{"token":"; nvram set ssh_en=1; nvram commit; sed -i 's\/channel=.*\/channel=\"debug\"\/g' \/etc\/init.d\/dropbear; \/etc\/init.d\/dropbear start;","code":0}
将电脑与openwrt的连接断开,电脑从 169.254.31.3
改回 自动获得IP地址
。openwrt路由器不要断电。(测试脚本。 ssh_en=1
表示ssh已经enable, "code":0
是成功的状态码)
电脑与CR6609的LAN口连接,登录路由器后台。笔者的后台是 192.168.31.1
,这里以及后续的后台IP请自行查看是否需要更改,比如其它的CR660X可能是 192.168.1.1
、 192.168.2.1
、 192.168.10.1
。浏览器的网址会变成:
http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/web/home#router
这样的形式。记住这个32位的stok(该stok在每次登录CR6609后台时都会变化)。
浏览器访问:
http://192.168.31.1/cgi-bin/luci/;stok=(STOK)/api/misystem/extendwifi_connect?ssid=abc&password=12345678
将网址中的 (STOK)
改为刚才的stok。等待一会儿后,显示:
{"msg":"connect succces!","code":0}
有可能显示其它的,比如:
提示1646的,请检查下第一步的DHCP是否关闭
提示1619的,请检查第一步IP是否设置正确,或者openwrt路由器下连接了其他设备
提示1655的,请再来一次,因为这一步确实有小概率会失败。
最后访问:
http://192.168.31.1/cgi-bin/luci/;stok=(STOK)/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx
返回:
{"token":"; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\u0022debug\u0022/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;","code":0}
最后的 "code":0
说明CR6609的SSH开启成功。
到这一步时,已经可以关闭openwrt路由器了。
3.连接SSH
通过PuTTY或者MobaXterm等SSH工具登录CR6609,但是还需要得到root密码。
首先看CR6609背面的标签,使用管理密码登录。笔者就是通过管理密码成功登录root;
如果不行,到 这个网址 ,通过CR6609背面的SN号,计算并得到root密码。如果访问不了,请用bing自行搜索 小米路由器 SN root
。
4.刷入pandora
SSH连接到CR6609后,将压缩包内的 pb-boot.img
文件放到 /tmp
下,然后进行以下操作:
mtd write /tmp/pb-boot.img Bootloader
reboot
这之后会断开连接。然后需要拔掉CR6609的电源,用牙签顶住reset键不放,接上电源8s后放开reset,浏览器登录 192.168.1.1
进入PandoraBox。
5.刷入breed
先刷上breed。breed又称不死鸟,给刷机后的路由器多一层保障。
在潘多拉里 选择文件
来上传固件,上传 breed-mt7621-xiaomi-r3g.bin
,然后 恢复固件
即可。路由器会自动重启,等待一会儿后访问 192.168.1.1
可看到breed界面。
6.刷入AX1800固件
笔者需要小米路由器AP组网。原版的CR6609对mesh组网支持不好(官方固件没办法做子路由),最佳的选择是刷红米AX1800的固件。三家运营商送的CR660X路由器其实就是 Redmi AX1800 的改版,区别有:
红米AX1800是白壳,CR660X是黑壳;
前者内存是128MB,后者是256MB(运营商送的路由器反倒升级了);
目前小米商城已下架红米AX1800,二手价格则是¥70左右。一般来说 小米路由器官网 上的 Redmi AX1800 ROM也适用于CR660X,如果用起来有问题(网口速度下降之类的),可以使用笔者包里的1.0.88旧版本(1.0.93则是本文写作时的最新版本固件)。
总之,刷好潘多拉和不死鸟后,现在需要刷红米AX1800的系统。进入 192.168.1.1
的breed界面,先备份一下目前的系统(Bootloader、epprom);然后选择 固件更新 - Bootloader
,选择包里的 Bootloader-CR6608.bin
(这个应该对CR660X都通用),勾选 自动重启
,点击 上传
,这样就刷好CR6608的Bootloader。
然后使用 小米路由器修复工具 (注意它会被杀毒软件报错),根据它的提示,按照如下步骤操作:
运行MIWIFIRepairTool.x86.exe,选择固件(笔者使用文章写作时官网的最新1.0.93固件);
路由器断电后按住reset,插电后橙灯闪烁时放开reset;
选择网卡(LAN口连接的网卡),下一步即可。等蓝灯闪烁时将路由器断电重启。
如果一直停留在 以太网配置成功,可以开始刷机操作
,是windows的防火墙原因(参考 这篇贴子 )。可以在设置中关闭防火墙( 控制面板\系统和安全\Windows Defender 防火墙
中, 启用或关闭Windows Defender防火墙
,把两个防火墙都关闭)。刷完固件后再打开。