小米CR6609路由器刷OpenWRT
CR6609工作照关于这款路由器
这是来自值友的推荐,据说这款运营商定制版的小米路由器硬件配置同小米AX1800,可以直接刷小米AX1800的固件,获得一个便宜又好用的Wifi6路由器。CR6609(或者叫TR609)是电信定制版,另有移动版的CR6608和联通版的CR6606。
正好家里用的K2p很老了,虽然这么多年一直稳如狗,但毕竟不支持Wifi6,加上不能刷OpenWRT感觉也不太够用,所以也去搞了一个这个,下手的时候已经涨起来了,但还是算便宜的。
劳苦功高的K2P刷机的几个主要步骤:
降级官方固件
打开SSH
下载OpenWRT固件
备份原版固件
刷入固件
降级官方固件
因为下面的打开SSH方法是利用了版本1.0.103及以下的官方固件BUG,所以在新版本的固件中是不能用的,目前我这个已经是1.1.211版本了,所以需要先降级。
官方固件可以在阿里云盘下载。注意要选择正确的型号,对应CR6609的文件是:miwifi_cr6609_firmware_06619_1.0.90。因为阿里云盘不允许上传压缩文件,所以是自解压格式,也可以用通用解压工具解出。
然后连上CR6609,登录管理页面,然后在系统管理中选择手动上传系统,把解压出的bin文件上传上去,注意选择清空用户数据,以免重启出问题,等待更新完成即可。实际降级后的版本为:1.0.41
注意:系统降级以后,默认IP变成:192.168.2.1,不再是原来的:192.168.31.1。
打开SSH权限
小米路由器有个一键换机功能,打开SSH的方法就是伪造一个待换机的旧路由,提供一些脚本给新路由执行,通过这个脚本来解锁新路由的SSH。
不过我手头只有K2P,不能刷OpenWRT来跑脚本,所以是用电脑来提供服务模拟旧路由器,另外再用一个古董路由器用于临时给电脑提供接入。
方法如下:
用一个临时路由器,LAN地址设置为:169.254.31.x,注意:x不可为1,因为不是它来伪造旧路由,另外把这个路由的DHCP关闭,如果支持Wifi 2.4G/5G复用的话,也关闭,只使用2.4G即可。我这个旧路由只有2.4G。
用一台电脑连接这个临时路由器,并指定 IP为:169.254.31.1,跑一个WEB服务(代码附后),这个才是伪造旧路由的
启动CR6609,然后用手机或另一台电脑连接CR6609的热点,登录CR6609的管理页面(系统降级后为192.168.2.1,不是机器背面那个了),然后记录一下登录后页面地址里的
stok参数值,这是登录session的token通过构造一个地址(如下,其中为上面记录的stok值,为临时路由器的2.4G热点名,为临时路由器的热点密码),用这个地址打开一个新页面,让CR6609连接到临时路由器,并从伪造成旧路由的电脑上下载脚本执行,等待10秒执行完成,期间会断网一下,导致执行后会显示页面无法打开,关闭即可,不要重复刷新。如果有其它出错信息,则检查上述步骤是否有误(部分错误原因附后)
http://192.168.2.1/cgi-bin/luci/;stok=/api/misystem/extendwifi_connect?ssid=&password=
再构造一个地址(如下,其中为上面记录的stok值,为随机内容),同样打开新页面,执行完后会返回一个JSON,其中有:"code": 0 即表示成功,若不成功则检查上述步骤是否有误(部分错误原因附后)
http://192.168.2.1/cgi-bin/luci/;stok=/api/xqsystem/oneclick_get_remote_token?username=ß&password=ß&nonce=
最后就可以把电脑连接到CR6609,并把指定IP改为DHCP,然后就可以通过SSH连接CR6609,root密码在机器背面(联通版需要通过SN计算)
提供破解脚本的服务代码
提供脚本的服务程序,大部分网上资料提供的都是lua脚本,用于直接在临时路由器上提供服务(可以省掉用电脑伪装旧路由,但需要临时路由能够运行脚本,比如刷了OpenWRT),这里用的是《参考文献1》提供的python版。
(代码从略)
注意:因为需要监控80端口(低于1024),所以需要以root身份运行:
sudo python3 xxx.py
几个可能的脚本错误原因:
1619: 检查临时路由的IP是否正确,或有其它设备接入
1646: 检查DHCP是否关闭
1655: 重试一下
SSH登录成功正式刷机
获取OpenWRT固件
推荐在Openwrt 官方下载站,输入你的路由型号“CR6609”,选择”Firmware“类型的固件下载。
备份原版固件
备份原版固件包括分区 “Bootloader” “Nvram” “Bdata” “crash” “crash_log” “firmware” “firmware1” “overlay” “obr” 等。
不过要注意tmp空间只有100多M,每个分区备份后要立即下载删除,以免空间不足重启。
# 查看分区cat /proc/mtd# 备份分区dd if=/dev/mtd2 of=/tmp/firmware.bin
刷机
先打开UART以防出错后无法刷回,启用uboot的fallback:
# 打开UARTnvram set boot_wait=onnvram set bootdelay=3# 启用uboot fallbacknvram set flag_try_sys1_failed=0nvram set flag_try_sys2_failed=1nvram commit
将OpenWRT固件上传到路由器的/tmp,然后执行刷机:
mtd -e firmware -r write /tmp/openwrt-22.03.5-ramips-mt7621-xiaomi_mi-router-cr6609-squashfs-firmware firmware
重启即可。第一次启动会比较慢,要耐心等待指示灯变蓝后再连接,OpenWRT初始状态未启用无线,需要先用有线连接任一LAN口,然后登录OpenWRT管理页面设置。
稳定运行中参考文献:
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

上古长白山
校验提示文案
左加明
校验提示文案
ktar
校验提示文案
Leslie1002
校验提示文案
荒漠半夏
校验提示文案
阿天
校验提示文案
苏漠然
校验提示文案
二当丶
校验提示文案
xuanxuanmama
校验提示文案
牧狗人
校验提示文案
值友6948606672
校验提示文案
值友4534987917
校验提示文案
要不_再下一单_
校验提示文案
派大星触电
校验提示文案
左加明
校验提示文案
junshouwen
校验提示文案
jackyiceblue322
校验提示文案
值友4535699734
校验提示文案
sam1230
校验提示文案
不许逗
校验提示文案
值友4534987917
校验提示文案
值友6948606672
校验提示文案
牧狗人
校验提示文案
xuanxuanmama
校验提示文案
我曾是厂仔
校验提示文案
二当丶
校验提示文案
苏漠然
校验提示文案
Womxnly
校验提示文案
J白玉
校验提示文案
阿天
校验提示文案
junshouwen
校验提示文案
不许逗
校验提示文案
sam1230
校验提示文案
值友4535699734
校验提示文案
要不_再下一单_
校验提示文案
荒漠半夏
校验提示文案
左加明
校验提示文案
Leslie1002
校验提示文案
派大星触电
校验提示文案
jackyiceblue322
校验提示文案