小米CR6606,CR6608,CR6609 启用SSH和刷入OpenWRT 23.05.5

闲鱼上收了一台CR6606和一台CR6609, 一直没时间研究, 趁春节假期把这两个都刷成 OpenWRT

配置说明

  • CPU: MT7621AT,双核880MHz
  • 内存: NT5CC128M16JR-EKI 或 M15T2G16128A, 256MB
  • 闪存: F59L1G81MB, 128MB
  • 无线基带芯片(BB): T7905DAN
  • 无线射频芯片(RF): MT7975DN
  • 无外置FEM芯片,使用MT7975DN内置PA和LNA

配置和R3G相比是很像的, 区别就是升级了无线基带和射频芯片, 支持 WiFi6 支持 mesh. 但是去掉了USB口.

MT7905DAN + MT7975DN 组成了 MT7915D, 2.4G和5G均支持 2x2 MIMO, DBDC(双频并发), 2.4G最高速率574Mbps,5G最高速率1201Mbps. MT7975DN+MT7905DAN的发热量比 MT7603 + MT7612 要大一些, 因此功率也更大, 散热片比R3G更大.

相关连接

相关链接

  • CR6609 拆机内部展示 https://www.acwifi.net/13821.html
  • CR6606 拆机内部展示 https://www.acwifi.net/18380.html
  • 通过OpenWRT路由器添加 lua脚本开启SSH https://www.luyouwang.com/7115.html
    这种方法需要正好是兼容这种lua脚本的 OpenWRT 才行, 在OpenWRT 23.05.5 上无法使用
  • 通过电脑运行python脚本启动http服务开启SSH https://haoyu.love/blog1389.html
    这种方法比前一种好, 因为对无线路由器没要求, 而且从电脑启动一个http服务很简单
  • 通过TTL开启SSH https://www.bilibili.com/opus/870238271997739025
  • SSH密码计算工具 https://blog.csdn.net/zhoujiazhao/article/details/102578244
  • SSH密码计算工具 http://mi.avue.cn/

OpenWRT 下载

https://firmware-selector.openwrt.org/
在上面搜对应的型号, 例如 Xiaomi Mi Router CR6609

Breed下载

https://breed.hackpascal.net/

拉到底下, 在 r1338 [2021-12-16]/ 目录下, 搜 r3g.

CR6606 CR6608 CR6609 用的都是和小米 R3G 一样的 breed, 这个版本可以用于刷入 OpenWRT 上下载的固件

最新的版本是 r1416 [2022-07-24] (git-46ae2a1), 但是这个版本不能直接支持从 OpenWRT 下载的固件, 原因可以看 这里, 所以只能用旧一点的 r1338 版本

带SSH的降级固件

6606 1.0.103 链接: https://pan.baidu.com/s/1kn68F2M019rHB7PWqRYnCA 提取码: 9c92

刷机过程

CR660x 这一系列的型号属于小米给运营商的定制版, 在小米路由的官网上是不存在的, 所以也就不可能通过官方下载"开发版ROM"开启SSH烧录第三方系统. 开启SSH的方式主要有 TTL 和 getToken 漏洞两种方式

通过TTL获取SSH权限

通过TTL开启SSH相对简单, 不需要复杂设置, 如果有TTL2USB模块优先用这种方法, 但是不是所有设备都能用

有一台CR6609 电信版的版本是"系统版本: 1.0.41 稳定版", 不需要降级直接用TTL方法就可以进SSH, root口令和admin密码一样, 在背面的标签上. 而另一台 CR6606, 版本是"系统版本: 1.0.134 稳定版", 这个版本在TTL下没有命令行输入功能, 需要降级到 1.0.103 通过辅助路由器的方式获取SSH权限.

如果不想拆机的话, 背面把靠近wan口天线位置, 用水口钳剪掉一两根塑料打开一个口子, 方便刷机探针伸进去连里面的TTL口. 探针要用2mm间距的. 从网口那一侧往外4个焊盘分别是 VCC, RX, GND, TX, 如果不确定可以用万用表测一下, VCC的电压是3.3, GND是0, 其它两个都是3.2左右.

用探针接到TTL上, 只需要接RX, GND, TX三根线, 分别对应TTL的 TX, GND, RX, 码率 115200, 要在上电之后再连, 否则路由器不启动. 在日志输出结束后, 回车可以看到命令行提示符.

在电脑的串口终端上顺序执行这4个命令

nvram set ssh_en=1
nvram commit
sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear
/etc/init.d/dropbear start

之后电脑和路由器之间连上网线, 就可以用ssh访问了.

通过小米路由的getToken漏洞开启SSH

这种方式相对复杂, 有一台 CR6606 通过 TTL 访问只有日志输入没法输入, 所以不得不用这种方式. 这种方式需要有电脑和另一台路由器配合

  1. 辅助路由器的LAN 关闭DHCP, IP设置为 169.254.31.5 (除了 169.254.31.1, 169.254.31.2 以外的任意一个IP都行), 因为31.1是电脑用的要提供链接地址, 31.2是待破解的CR660x用的默认地址.
  2. 电脑的LAN IP设置为固定IP 169.254.31.1 用于启动http服务为目标CR660x路由器提供破解命令, 运行python脚本(内容附后), 命令sudo python server.py
  3. 如果电脑是Ubuntu 记得把80端口防火墙打开, 命令是 udo ufw allow 80/tcp, 查看实际的设置sudo ufw status,
  4. 电脑用网线连上辅助路由器的LAN口, 这时候从辅助路由器应该要能访问到 http://169.254.31.1 看到正确的输出, 如果没有输出则需要检查python服务是否启动, 端口是否生效, 防火墙是否打开
  5. 辅助路由器的2.4G WIFI 设置一个简单点的名称和密码, 方便下面输入

注意此时的连接状态是, 辅助路由器的LAN口连着电脑的LAN口, 其它没有任何连接, 后面也不需要动

下面是CR660x上的操作

  1. 首先要降级到一个可以开启SSH的版本, CR6606降级到 1.0.103
  2. 启动后, 从电脑用WIFI连接, 连接上进入管理后台后, 从链接地址中拿到 stok 字符串值
  3. 使用链接让CR660x连上辅助路由器的WIFI, 链接: http://[CR660x地址]/cgi-bin/luci/;stok=[刚才拿到的stok]/api/misystem/extendwifi_connect?ssid=[辅助路由器WIFI的SSID]&password=[辅助路由器的WIFI口令]
    如果操作正确, 这里会响应{"msg":"connect succces!","code":0}, 同时从电脑可以ping通 169.254.31.2 这时候说明可以从CR660x访问到你的电脑了, 如果ping不通说明前面操作有问题, 需要检查
  4. 使用链接让CR660x执行伪造的getToken指令打开, 链接: http://[CR660x地址]/cgi-bin/luci/;stok=[刚才拿到的stok]/api/xqsystem/oneclick_get_remote_token?username=xxx&password=xxx&nonce=xxx 后面的三个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}, 此时CR660X上的ssh就已经打开了

从电脑可以ssh连接CR660X, 口令在 http://mi.avue.cn/ 上通过序列号计算可以得到. 登入SSH后就可以写入breed

附: python脚本, 因为请求可能是 GET 也可能是 POST, 所以两种method都要

from http.server import BaseHTTPRequestHandler, HTTPServer
import jsonclass SimpleServer(BaseHTTPRequestHandler):def do_GET(self):print("It comes!")data = {"code": 0,"token": "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"}self.send_response(200)self.end_headers()self.wfile.write(json.dumps(data).encode())def do_POST(self):print("It comes!")data = {"code": 0,"token": "; nvram set ssh_en=1; nvram commit; sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"}self.send_response(200)self.end_headers()self.wfile.write(json.dumps(data).encode())server_address = ('0.0.0.0', 80)
httpd = HTTPServer(server_address, SimpleServer)
httpd.serve_forever()

写入 breed

能ssh访问后, 从电脑上通过scp将 breed 上传到路由器

scp breed-mt7621-xiaomi-r3g.bin root@192.168.2.1:/tmp/

然后在路由器的ssh里面, 使用mtd命令写入

mtd write breed-mt7621-xiaomi-r3g.bin Bootloader

写入成功后, 关闭电源, 用针顶住reset孔, 然后上电, 待两个灯快速闪烁时就可以松开顶针, 此时就会启动进入Breed系统.

连接任意LAN口到电脑, 电脑会获取到 192.168.1.x 网段的地址, 此时访问 http://192.168.1.1 就能访问 breed 界面

在"小米 R3G Bdata" 界面可以看到当前路由器的型号和配置信息.

之后如果已经刷入了 Breed, 可以在 Breed 界面上用写入 Bootloader 的方式升级或降级成其它版本的 Breed.

写入 OpenWRT

  1. 在 Breed “固件更新"界面上, 选择闪存布局为"小米路由器 3G 固件 1”, 在固件栏, 选择从 OpenWRT 下载的 kernel.bin 包写入. 待其重启, 这一步写入后, 路由器上就有基础的OpenWRT系统, 但是文件系统还没初始化, 做任何设置都不会保存.
  2. 重启后在电脑获得IP后(默认是192.168.1.1), 访问 http://192.168.1.1 可以进入 OpenWRT 界面(口令为空), 在 OpenWRT 界面上会提示仅有基本文件系统需要升级System running in recovery (initramfs) mode., 到升级界面, 选择结尾为 sysupgrade.bin 的固件升级, 重启后就升级完成了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用windows笔记本让服务器上网

使用windows笔记本让服务器上网 前言准备工具开始动手实践1.将手机热点打开,让Windows笔记本使用无线网卡连接上网2.使用网线将Windows笔记本的有线网卡和服务器的有线网卡直连3.在Windows笔记本上按winR输入ncpa.cpl打开网卡设置界面4.在Windows笔记本上右键“无线…

2007-2019年各省科学技术支出数据

2007-2019年各省科学技术支出数据 1、时间:2007-2019年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、科学技术支出 4、范围:31省 5、指标解释:科学技术支出是指为促进科学研究、技术开发…

6. 使用springboot做一个音乐播放器软件项目【1.0版项目完结】附带源码~

#万物OOP 注意: 本项目只实现播放音乐和后台管理系统。 不分享任何音乐歌曲资源。 上一篇文章我们 做了音乐播放器后台的功能。参考地址: https://jsonll.blog.csdn.net/article/details/145214363 这个项目已经好几天也没更新了,因为临近放…

【Rust自学】15.4. Drop trait:告别手动清理,释放即安全

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 15.4.1. Drop trait的意义 类型如果实现了Drop trait,就可以让程序员自定义当值离开作用域时发生的操作。例如文件、网络资源…

2025年1月22日(网络编程 udp)

系统信息: ubuntu 16.04LTS Raspberry Pi Zero 2W 系统版本: 2024-10-22-raspios-bullseye-armhf Python 版本:Python 3.9.2 已安装 pip3 支持拍摄 1080p 30 (1092*1080), 720p 60 (1280*720), 60/90 (640*480) 已安装 vim 已安装 git 学习…

嵌入式C语言:大小端详解

目录 一、大小端的概念 1.1. 大端序(Big-endian) 1.2. 小端序(Little-endian) 二、大小端与硬件体系的关系 2.1. 大小端与处理器架构 2.2. 大小端与网络协议 2.3. 大小端对硬件设计的影响 三、判断系统的大小端方式 3.1.…

当WebGIS遇到智慧文旅-以长沙市不绕路旅游攻略为例

目录 前言 一、旅游数据组织 1、旅游景点信息 2、路线时间推荐 二、WebGIS可视化实现 1、态势标绘实现 2、相关位置展示 三、成果展示 1、第一天旅游路线 2、第二天旅游路线 3、第三天旅游路线 4、交通、订票、住宿指南 四、总结 前言 随着信息技术的飞速发展&…

85.[1] 攻防世界 WEB easyphp

进入靶场 属于代码审计 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;常用于调试或展示代码 highlight_file(__FILE__);// 初始化两个标志变量&#xff0c;用于后续条件判断 $key1 0; $key2 0;// 从 GET 请求中获取参数 a 和 b $a $_GET[a]; $b $_GET[b];// 检…

智慧园区管理系统推动企业智能运维与资源优化的全新路径分析

内容概要 在当今快速发展的商业环境中&#xff0c;园区管理的数字化转型显得尤为重要。在这个背景下&#xff0c;快鲸智慧园区管理系统应运而生&#xff0c;成为企业实现高效管理的最佳选择。它通过整合互联网、物联网等先进技术&#xff0c;以智能化的方式解决了传统管理模式…

HTMLCSS :下雪了

这段代码创建了一个动态的雪花飘落加载动画&#xff0c;通过 CSS 技术实现了雪花的下落和消失效果&#xff0c;为页面添加了视觉吸引力和动态感。 大家复制代码时&#xff0c;可能会因格式转换出现错乱&#xff0c;导致样式失效。建议先少量复制代码进行测试&#xff0c;若未能…

java练习(1)

两数之和&#xff08;题目来自力扣&#xff09; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次相…

[EAI-028] Diffusion-VLA,能够进行多模态推理和机器人动作预测的VLA模型

Paper Card 论文标题&#xff1a;Diffusion-VLA: Scaling Robot Foundation Models via Unified Diffusion and Autoregression 论文作者&#xff1a;Junjie Wen, Minjie Zhu, Yichen Zhu, Zhibin Tang, Jinming Li, Zhongyi Zhou, Chengmeng Li, Xiaoyu Liu, Yaxin Peng, Chao…

DB-GPT试用

继续上一篇 DB-GPT的安装 https://blog.csdn.net/berryreload/article/details/142845190 访问http://xxx:5670 访问这里 创建数据库连接 http://10.168.1.208:5670/construct/database 访问这里&#xff0c;点击刷新 http://10.168.1.208:5670/construct/app 刷新后才能出…

华硕笔记本装win10哪个版本好用分析_华硕笔记本装win10专业版图文教程

华硕笔记本装win10哪个版本好用&#xff1f;华硕笔记本还是建议安装win10专业版。Win分为多个版本&#xff0c;其中家庭版&#xff08;Home&#xff09;和专业版&#xff08;Pro&#xff09;是用户选择最多的两个版本。win10专业版在功能以及安全性方面有着明显的优势&#xff…

Kafka中文文档

文章来源&#xff1a;https://kafka.cadn.net.cn 什么是事件流式处理&#xff1f; 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础&#xff0c;在这个世界里&#xff0c;企业越来越多地使用软件定义 和 automated&#xff0c;而软件的用户更…

LabVIEW温度修正部件测试系统

LabVIEW温度修正部件测试系统 这个基于LabVIEW的温度修正部件测试系统旨在解决飞行器温度测量及修正电路的测试需求。该系统的意义在于提供一个可靠的测试平台&#xff0c;用于评估温度修正部件在实际飞行器环境中的性能表现&#xff0c;从而确保飞行器的安全性和可靠性。 系统…

解析与使用 Apache HttpClient 进行网络请求和数据抓取

目录 1. 什么是 HttpClient&#xff1f; 2. 基本使用 3. 使用 HttpClient 爬取腾讯天气的数据 4. 爬取拉勾招聘网站的职位信息 5. 总结 前言 Apache HttpClient 是 Apache 提供的一个用于处理 HTTP 请求和响应的工具类库。它提供了一种便捷、功能强大的方式来发送 HTTP 请…

扣子平台音频功能:让声音也能“智能”起来。扣子免费系列教程(14)

在数字化时代&#xff0c;音频内容的重要性不言而喻。无论是在线课程、有声读物&#xff0c;还是各种多媒体应用&#xff0c;音频都是传递信息、增强体验的关键元素。扣子平台的音频功能&#xff0c;为开发者和内容创作者提供了一个强大而灵活的工具&#xff0c;让音频的使用和…

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具01

1、开发背景 大家都很熟悉&#xff0c;Oracle提供了Impdp和ExpDp工具&#xff0c;功能很强大&#xff0c;可以进行db的导入导出的处理。但是对于Sqlserver数据库只是提供了简单的图形化的导出导入工具&#xff0c;在实际的开发和生产环境不太可能让用户在图形化的界面选择移行…

上手DeepSeek大模型:本地化安装部署,确保数据不泄露

摘要&#xff1a;过年前DeepSeek横空出世&#xff0c;在世界范围内掀起AI狂潮&#xff0c;成了大家茶余饭后的话题。对于普通人怎样使用这个大模型呢&#xff1f;这篇文章来上手实践。 使用DeepSeek最简单的办法就是使用在线版或者手机版。 - 1 - 使用在线版 在浏览器中输…