步骤/目录:
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 - InterfacesEdit 第一个 LAN ,将 IPv4 address 改为 169.254.31.1 ;然后关闭DHCP功能,该 LANDHCP 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.1192.168.2.1192.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防火墙 ,把两个防火墙都关闭)。刷完固件后再打开。

标签: CR6609, pandora

添加新评论