当前位置: 首页 > news >正文

小米CR660X/TR60X系列,获取SSH权限后刷openwrt系统

一、背景介绍

目的是为了使用openwrt系统做网络相关的应用,利用手上的小米路由器来实验,看了相关资料,将 实际操作的过程以及踩坑进行记录。

需要刷固件首先就需要解决ssh权限问题,只有解决权限问题才可以进行刷机操作。

二、解锁ssh权限

两种方式:串口方式openwrt系统辅助方式

1. 串口方式

该方法比较简单,推荐使用,需要有usb-ttl模块,下文主要描述这种方式
参考资料: https://www.bilibili.com/opus/870238271997739025
1.1 usb 转 ttl模块,需要安装驱动, 驱动链接
在这里插入图片描述
1.2 拆机后对应的串口接线,只接TX,GND,RX的触点,注意USB转TTL模块接上去时它的RX与路由器的TX接,TX和RX接,GND接GND,不要接错了,不然打开串口会一堆乱码或者连接不上。
在这里插入图片描述
1.3 使用xshell或者mobaxterm打开对应的串口,波特率设置为115200
在这里插入图片描述
双击左边你刚设置好的会话便可以连接(⚠️ 注意:连接 TTL 的时候,要先插上路由器电源,不然无法连接

跑码完成后按下回车,就会显示这个界面,如果无法显示“ARE U OK”,请转到最后看下QA
在这里插入图片描述
1.4 终端中输入下面命令

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

2. 辅助方式

参考链接:

https://www.right.com.cn/forum/thread-6322650-1-1.html
https://www.right.com.cn/forum/thread-8372060-1-1.html
https://openwrt.ai/cr660x-%E8%8E%B7%E5%8F%96ssh%E5%88%B7pb-boot%E4%B8%8Eopenwrt%E6%95%99%E7%A8%8B/

三、刷入pb-boot

3.1 刷入pb-boot
执行完毕后我们就可以连接ssh了,SSH的IP是路由器的IP,用户名root,密码(密码需要根据设备sn生成, 网址)
在这里插入图片描述

WinSCP,新建一个会话按刚刚说的填写,填写完毕后把电脑的网口连接到路由器的LAN口,查看电脑网口所获取的网关ip,如果路由器有DHCP,一般就是路由器的ip(注意路由器wan口先别接);或者使用windows上自带的scp命令
在这里插入图片描述打开后把pb-boot.img上传到路由器/tmp目录里面
打开ssh输入这个刷入指令,reboot重启

mtd write /tmp/pb-boot.img Bootloader

重启后在终端中ifconfig看下网段信息,电脑通过网线连接路由器LAN口,固定IP,与路由器在一个网段上,浏览器输入192.168.xxx.1 就是刷好的pb-boot。
在这里插入图片描述

pb-boot链接:

链接:https://pan.baidu.com/s/1pzfPvB6yLu4EoQsXI04_kg?pwd=gr2x 
提取码:gr2x 

四、刷入正式的openwrt固件

参考资料:https://openwrt.ai/
路由器会自动重启, 等蓝灯常亮后 浏览器 输入 10.0.0.1 进入OpenWrt底包后台
在这里插入图片描述
小米CR660x 固件定制和下载地址 OpenWrt固件下载与在线定制 (openwrt.ai)
在这里插入图片描述
在这里插入图片描述

五、QA

1、串口无法输入解决办法

参考资料:https://blog.csdn.net/humphreyandkate/article/details/127328785

由于开机后boot环境变量setenv uart_en为0导致。参考大佬解决方法如下:
1.1 路由器正常运行时,按住RESET按钮不放,直到重启
1.2 重启后仍然不要放,持续十五秒钟,直到出现如下字符“BOOTP broadcast”,这时候路由器进入恢复模式。
在这里插入图片描述
1.3 多次按下Ctrl+C以打断恢复模式

1.4 此时路由器将会正常BOOT,在开始BOOT后立刻断掉路由器的电源

1.5 此时准备好在插入路由器电源后立刻插入串口线(这个顺序不能错,且串口需要拔掉再插入),并立刻按下键盘回车键

1.6 如果足够及时就会出现如下界面, 此时就可以操作UBOOT了。
在这里插入图片描述
1.7 依次输入

setenv uart_en 1
saveenv
boot

1.8 然后等待路由器引导,大约几十秒后,输入回车就可以出现“ARE U OK”
在这里插入图片描述
开启串口输入只有当次启动有效,尽快根据上文开启ssh。

http://www.xdnf.cn/news/999919.html

相关文章:

  • Linux中source和bash的区别
  • 树莓派5-ubuntu 24.04 安装 ros环境
  • linux 配置mvn
  • 创始人 IP 打造:心理学与家庭教育赛道知识变现新路径
  • LeetCode 热题 100 链表篇|Java 通关全攻略:从基础到进阶的 20 道核心题解(附完整思路与代码)
  • ARM SMMUv3命令和事件队列分析(四)
  • LeetCode 3423. Maximum Difference Between Adjacent Elements in a Circular Array
  • Haption遥操作机械臂解决方案通过高精度力反馈技术实现人机协同操作
  • elastalert实现飞书机器人告警-docker
  • Python爬虫实战:研究Crossbar相关技术
  • C/C++ 面试复习笔记(6)
  • 【测试开发】函数进阶-纯函数
  • 关于transceiver复位测试
  • 亚马逊关闭Posts:站内社交梦碎,卖家流量策略急待重构
  • Babylon.js场景加载器(Scene Loader)使用指南
  • 怎么把Dify部署在Windows系统上?
  • git merge合并分支push报错:Your branch is ahead of ‘xxx‘ by xx commits.
  • AI换衣技术实现原理浅析:基于图像合成的虚拟试衣实践
  • Python 爬虫入门 Day 1 - 网络请求与网页结构基础
  • WSGI(自用)
  • 解决npm install 一直卡着不动,npm install --verbose
  • TickIt:基于 LLM 的自动化 Oncall 升级
  • 相机Camera日志实例分析之三:相机Camx【视频光斑人像录制】单帧流程日志详解
  • 如何快速删除谷歌浏览器在mac启动台生成的网页图标
  • 42 C 语言随机数生成:rand() 与 srand() 深度解析、生成指定范围随机数、应用实战
  • xilinx的gtx使用qpll,是否可以实现4lane运行不同的线速率
  • 【力扣 简单 C】21. 合并两个有序链表
  • Python训练打卡Day48
  • Jenkins 配置gitlab的 pipeline流水线任务
  • 比特币拼图解密工具