小米Mini路由器刷Openwrt

前言

在我们使用路由器,会有把想要的路由器修改为openwrt后使用,今天这里分享了一下小米mini,但是总体小米路由器基本都是一样的操作,先进行回退某个可以支持ssh的版本,再使用注入命令,最后烧录breed和openwrt,而像tpink有些直接就可以烧录breed。

作者:良知犹存

转载授权以及围观:欢迎关注微信公众号:羽林君

或者添加作者个人微信:become_me


小米mini路由器


小米路由器 mini是小米公司于2014年4月23日发布的路由器,mini搭载MT7620A处理器,配备USB 2.0接口,可以接上移动硬盘。

刷入openwrt

替换路由器版本到可以ssh版本


首先路由器默认是没有ssh权限的,第一件是我们要把我们的路由器版本通过手动升级升级到特定版本,路由器固件集合网站:https://mirom.ezbox.idv.tw/en/miwifi/R1CM/roms-developer/ ,大家可以这里下载。

升级的版本是:小米WiFi路由器 2.7.11固件 : miwifi_r1cm_firmware_b9d56_2.7.11.bin

获得ssh 烧录breed

升级之后进行,在对应版本就可以获得ssh权限,我们可以用使用系统格式为FAT或FAT32的U盘,把刚才ssh固件替换修改名字进去获取ssh权限

下面来自其他记录,可以使用u盘工具:

此外还可以网页进行操作获得ssh权限:

和小米其他路由器操作方式类似,例如ac2100的ssh方式,也是类似的操作

下面看一下mini的操作方式:

  • 1.打开浏览器,在地址栏中输入小米mini的 IP 地址,回车,输入你设置的管理密码,登录进去。此时地址栏中的网址会变成这种形式:
http://192.168.31.1/cgi-bin/luci/;stok=《你的stok》/web/home#router
  • 2.将地址栏中的网址替换为下面,然后回车:
http://192.168.31.1/cgi-bin/luci/;stok=《你的stok》/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3Bnvram%20set%20ssh%5Fen%3D1%3B%20nvram%20commit

看到网页中出现“{“msg”:“未能连接到指定WiFi(Probe timeout)”“code”:1616}”的字样,表示该命令执行成功。

  • 3.继续将网址替换成下面,然后回车:’
http://192.168.31.1/cgi-bin/luci/;stok=《你的stok》/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3Bsed%20%2Di%20%22%3Ax%3AN%3As%2Fif%20%5C%5B%2E%2A%5C%3B%20then%5Cn%2E%2Areturn%200%5Cn%2E%2Afi%2F%23tb%2F%3Bb%20x%22%20%2Fetc%2Finit.d%2Fdropbear

你会看到标签页上有一个小圆圈在转,后面显示“正在等待” 字样,表示命令正在发送,请等待!
过一会儿,标签页的转动的圆圈会变成网页图标,文字会变成路由器的 IP 地址。
网页中出现“{“msg”:“未能连接到指定WiFi(Probe timeout)”“code”:1616}”的字样,表示该命令执行成功。

  • 4.继续将网址替换成下面,然后回车:
http://192.168.31.1/cgi-bin/luci/;stok=《你的stok》/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fetc%2Finit.d%2Fdropbear%20start

判断命令执行成功的方式同第2、3步相同。

  • 5.继续将网址替换成下面,然后回车:
http://192.168.31.1/cgi-bin/luci/;stok=《你的stok》/api/xqsystem/set_name_password?oldPwd=《你当前的后台管理密码》&newPwd=《新密码》

网页中出现“{“code”:0}”的字样,表示修改密码成功!
然后就可以使用ssh登陆。root-《新密码》

这个时候我们可以看到,ssh成功登录

此时,我们可以进去查看空间分配情况

我们需要动的空间是Bootloader和OS1,用来刷boot和openwrt,Bootloader很明显,OS1的区域需要自己验证出来,我们先烧录一个Breed不死固件,我们就可以随意烧录了。

开始刷Breed不死固件,此处https://breed.hackpascal.net/下载:

进行安装


拷贝安装:

scp  breed-mt7620-xiaomi-mini.bin root@192.168.31.1:/tmp
mtd  -r  write breed-mt7620-xiaomi-mini.bin Bootloader

Breed烧录结束我们开始进行烧录openwrt

烧录openwrt

进入Breed界面烧录:

  • (1)断开小米路由器的电源,用牙签等尖锐物按下路由器 reset 按钮后重新接入电源;
  • (2)等到 mini 路由器的灯开始闪烁或 ping 通时即表明进入 Web 刷机模式,松开 reset 键。
    这时在电脑上输入 192.168.1.1,就进入不死 Breed 的控制台了。

进入bootloader模式

下载对应的openwrt固件,https://downloads.openwrt.org/releases/22.03.4/targets/ramips/mt7620/

进入固件更新:

直接用ssh拷贝到路由器进行手动命令mtd进行openwrt烧录

因为我们替换的路由器固件有ssh权限,我们直接把下载好的openwrt固件拷贝到路由器进行mtd烧录,执行如下命令:

scp openwrt-22.03.4-ramips-mt7620-xiaomi_miwifi-mini-squashfs-sysupgrade.bin root@192.168.31.1:/tmp
mtd -r write  openwrt-22.03.4-ramips-mt7620-xiaomi_miwifi-mini-squashfs-sysupgrade.bin OS1


重启即可看到openwrt正常运行。

手动命令的部分,我们再补充一些信息:

此处手动命令等烧录成openwrt后我们重新看一下分区:

openwrt的分区和原本固件对比,固件分区发生了变化,这个时候breed烧录命令就得还区域了,mtd -r write /tmp/breed-mt7620-xiaomi-mini.bin u-boot,这个时候openwrt的sysupgrade.bin烧录区域也得对应着修改 mtd -r write openwrt-22.03.4-ramips-mt7620-xiaomi_miwifi-mini-squashfs-sysupgrade.bin firmware

结语

这就是我自己在openwrt操作的小记录。如果大家有更好的想法,也欢迎大家加我好友交流分享哈。


作者:良知犹存,白天努力工作,晚上原创公号号主。公众号内容除了技术还有些人生感悟,一个认真输出内容的职场老司机,也是一个技术之外丰富生活的人,摄影、音乐 and 篮球。关注我,与我一起同行。

                              ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

推荐阅读

【1】jetson nano开发使用的基础详细分享

【2】Linux开发coredump文件分析实战分享

【3】CPU中的程序是怎么运行起来的 必读

【4】cartographer环境建立以及建图测试

【5】设计模式之简单工厂模式、工厂模式、抽象工厂模式的对比

本公众号全部原创干货已整理成一个目录,回复[ 资源 ]即可获得。

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

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

相关文章

matlab 眼球图像处理血管提取

1、内容简介 略 69-可以交流、咨询、答疑 2、内容说明 眼球图像处理血管提取 lab颜色空间提取眼球边缘、形态学操作 八邻域搜索算法 pUnImage,任意一点的坐标记为p(x,y),该点周围八邻域点的坐标记为p0(x,y),p1(x,y),p2(x,y),…

Rust学习02:推荐一本入门书,免费的

都说Rust的学习曲线很陡峭,试过才知雀实不容易。 先说我的基础,非科班,自学Python,写过几个小程序。 我买书从来不扣扣嗖嗖的,所以先啃了几本Rust的入门书,包括: Tim McNamara的《Rust实战》&am…

微服务:Sentinel篇

1. 初识Sentinel 1.1. 雪崩问题以及解决方案 1.1.1. 雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此…

HTML5CSS3提高导读

HTML5CSS3提高导读 2024/2/20 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这 …

数据结构的概念大合集04(队列)

概念大合集04 1、队列1.1 队列的定义1.2队列的顺序存储1.2.1 顺序队1.2.2 顺序队的基本运算的基本思想1.2.3 顺序队的4要素的基本思想 1.3 环形队列1.3.1 环形队列的定义1.3.1 环形队列的实现 1.4 队列的链式存储1.4.1 链队1.4.2 链队的实现方式1.4.3 链队的4要素的基本思想 1.…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言(Assert)有哪些类型? JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括: 1、assertEquals: 用于检查两个值是否相等。如果不相等,测试失败。 2、assertTrue和assertFal…

农发行鱼台县支行组织开展3.15金融消费者权益保护教育宣传活动

为切实提升消费者金融素养及风险防范意识,3月15日农发行鱼台县支行组织开展以“金融消保在身边 保障权益防风险”为主题的“3.15”金融消费者权益保护教育宣传活动。 本次活动,该行重点围绕普及消费者八项基本权利、宣传金融纠纷多元化解机制、强化“三适当“原则、夯实诚信文…

k8s之图形界面DashBoard【九】

文章目录 9. DashBoard9.1 部署Dashboard9.2 使用DashBoard 镇场 9. DashBoard 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard&…

C语言之快速排序

目录 一 简介 二 代码实现 快速排序基本原理: C语言实现快速排序的核心函数: 三 时空复杂度 A.时间复杂度 B.空间复杂度 C.总结: 一 简介 快速排序是一种高效的、基于分治策略的比较排序算法,由英国计算机科学家C.A.R. H…

Linux服务器(Debian系)包含UOS安全相关巡检shell脚本

#!/bin/bash# Define output file current_date$(date "%Y%m%d") # Gets the current date in YYYYMMDD format output_file"server_security_inspection_report_${current_date}.txt"# Empty the file initially echo > $output_file# 获取巡检时间 (…

使用Lua编写Wireshark解析ProtoBuf插件

文章目录 Wireshark Protobuf Lua-dissectorStep 1: 获取 WiresharkStep 2: 配置ProtoBuf相关设置添加ProtoBuf查找路径 Step 3 运行和调试Lua代码1. 添加Lua脚本2. 运行和调试 Step 4: 写Lua Dissector代码 :)Step 5(Optional): Decode AsGithub工程地址 Wireshark Protobuf L…

【JavaScript】JavaScript 运算符 ④ ( 逻辑运算符 | 逻辑与运算符 | 逻辑或运算符 || | 逻辑非运算符 ! )

文章目录 一、JavaScript 逻辑运算符1、逻辑运算符 概念2、逻辑与运算符 &&3、逻辑或运算符 ||4、逻辑非运算符 !5、完整代码示例 一、JavaScript 逻辑运算符 1、逻辑运算符 概念 JavaScript 中的 逻辑运算符 的作用是 对 布尔值 进行运算 , 运算完成 后 的 返回值 也是…

Linux:环境变量

环境变量 1.环境变量1.1 概念引入1.2 PATH 环境变量1.2.1 读取环境变量内容 :echo1.2.1 设置环境变量: export 1.3 USER 环境变量 2.环境变量的组织形式(表)2.1 env 命令查看所有的环境变量2.2 用代码的方式查看环境变量2.2.1 利用…

19. UE5 RPG使用GameplayEffect的Attribute Based Modifiers

前几篇文章我也说了GE的基础使用,但是,对一些属性的应用没有述说,后续,我将一点一点的将它们如何使用书写下来。 这一篇,主要就讲解一下Attribute Based Modifiers使用,先说一下它的应用场景,一…

ABC345(A-C)

A - Leftrightarrow(100 points) 语法题&#xff0c;输入一个字符串&#xff0c;判断是否是&#xff1a;的样式&#xff0c;输入后只需判断是第一个和最后一个字符是否分别为">"和"<",再判断中间是否都是""即可。 #include<bits/stdc…

win下 VirtualBox 自动启动脚本脚本

文章目录 一、找到VBoxManage二、测试脚本1、打开cmd2、输入命令 (直接把上面找到的VBoxManage.exe 拖入到cmd中&#xff0c;这样就不用输入路径了)3、效果展示 比如虚拟机中的系统名称叫“centos-mini” 三、设置自动启动脚本1、复制刚才测试好的命令到新建文本中2、修改文本名…

【类和对象】类的作用域 | 类的实例化 | 类对象模型 | this指针

目录 5.类的作用域 6.类的实例化 6.1成员的声明和定义 6.2实例化出的对象大小 7.类对象模型❗❗ 7.1如何计算类对象的大小 7.2类对象的存储方式猜测 7.3结构体内存对齐规则 7.3.1内存对齐 7.3.2大小端 8.this指针 8.1this指针的引出 8.2this指针的特性 C和C实…

运行gazebo机器人模型没有cmd_vel话题

运行赵虚左教程代码出现上诉问题 roslaunch urdf02_gazebo demo03_env.launch 原因&#xff1a;缺少某个包 在工作空间catkin_make编译发现报错 解决&#xff1a; sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control 下载后再次运行launch文件…

Paxos算法

Paxos算法 https://www.youtube.com/watch?vd7nAGI_NZPk 有一个 Overview概述 1、什么是Paxos? 2、为什么需要Paxos? 3、Paxos是什么&#xff1f; 纳秒的时间戳&#xff0c;选择高id. higher id 多个角色的扮演。 propose发起&#xff0c;acceptor忽略低版本id. 达…

一文搞懂PCL中自定义点云类型的构建与函数使用

上周猛男快乐开发时遇到个bug&#xff0c;要用pcl的函数对自定义的点云进行处理。一起解决问题时遇到了很多问题&#xff0c;解决后整理出来分享给各位参考&#xff0c;以免踩一样的坑&#x1f60a;。文章中自定义的点我用PointT来表示&#xff0c;自定义点云一般指的是pcl::Po…