小米 R3G 路由器刷机教程(Pandavan)
小米 R3G 路由器刷机教程(Pandavan)
一、前言
小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而,原厂固件的功能相对有限,难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能,还能通过第三方固件实现更丰富的功能,如 DNS 解析、KMS 服务器、USB 管理等。Pandavan 固件基于俄罗斯大佬提取自华硕路由器的固件开发,以其稳定性和功能性著称,俗称为老毛子是小米 R3G 路由器的理想选择。
本文旨在为小米 R3G 路由器用户提供详细的刷机教程,同时也作为个人的一个过程记录,涵盖从准备工作到固件刷入的全过程。本文将使用 OpenWRTInvasion 工具开启路由器的 telnet 功能,刷入 Breed 引导程序,并最终安装 Pandavan 固件。刷机完成后,用户将获得更高的自由度,能够根据自身需求自定义路由器功能。
二、准备
-
路由器升级固件:miwifi_r3g_firmware_12f97_2.25.124.bin
-
Pandavan 固件(R3G 纯净版):MI-R3G_3.4.3.9-099_纯净版
-
windows 在
控制面板中打开程序,找到其中的启用或关闭 Windows 功能,勾选启用telnet,方便在 powershell 中使用 telnet. -
安装 MobaXterm.
-
恢复出厂设置,并使用路由模式(是否连接互联网均可,区别在于路由器断网情况下需要本地上传已准备的 breed 文件)。
-
设置一个简单的管理密码,比如
12345678. -
使用 PC 连接小米路由器(无线或者有线都可以,只要在小米路由器的网段下即可)。
-
安装 Python 3(记得添加至环境变量中
Add to ... PATH). -
至 Github 项目 OpenWRTInvasion 下载项目文件,并解压。
三、着手刷机
1、PC 环境安装依赖
进入解压的 OpenWRTInvasion 文件夹中,在上方的地址栏输入 powershell, 将会弹出 powershell 命令行窗口,在命令行中输入命令:
pip install requests
提示成功安装模块。
2、运行刷机脚本开启 telnet
在刚刚的 powershell 命令行窗口中继续输入以下命令:
python remote_command_execution_vulnerability.py
开启运行刷机脚本。
这时会弹出询问:Router IP address [press enter for using the default 'miwifi.com']:
接下来输入小米路由器的地址,默认为:192.168.31.1.
此时提示 Enter router admin password: 输入路由器的后台管理密码:12345678.
接下来将会弹出提示以下内容:
There two options to provide the files needed for invasion:1. Use a local TCP file server runing on random port to provide files in local directory `script_tools`.2. Download needed files from remote github repository. (choose this option only if github is accessable inside router device.)
Which option do you prefer? (default: 1)
询问你是使用(1)本地刷机还是(2)联网刷机。一般默认使用本地刷机,由于网络环境问题,联网刷机往往会失败。

于是输入 1 并回车即可,等待自动刷机完成。

3、telnet 连接路由器
在 powershell 中继续输入命令:
telnet 192.168.31.1
提示输入账号密码,默认为:
账号:root
密码:root
输入如下图所示,成功连接。

4、备份 eeprom
使用 powershell 的 telnet 成功测试能够连接上小米路由器后,可以使用 MobaXterm 的 ssh 连接路由器,方便将备份的 eeprom 下载至本地。

在窗口中输入命令:
dd if=/dev/mtd3 of=/tmp/eeprom.bin
备份 eeprom:

继续在窗口中输入:cd /tmp 跳转至 tmp 目录,在右侧目录中找到 eeprom.bin 这个文件,下载至本地,完成备份 eeprom.

5、获取 breed
若路由器连接互联网,则可以直接使用命令:
cd /tmp && wget http://121.5.163.108/download/breed-mt7621-xiaomi-r3g.bin && mv breed-mt7621-xiaomi-r3g.bin breed.bin
若是路由器未连接路由器,则可以先在下载器中使用链接 http://121.5.163.108/download/breed-mt7621-xiaomi-r3g.bin 创建下载任务。然后使用 MobaXterm 上传至路由器 tmp 目录中,并使用命令 mv breed-mt7621-xiaomi-r3g.bin breed.bin 重命名 breed 文件。若不方便下载 breed 文件,可以使用该链接中的文件:breed-mt7621-xiaomi-r3g
6、刷入 breed
在 ssh 窗口中输入命令:
mtd write breed.bin Bootloader
开始刷入 breed.

关于其他机型的 breed 文件及命令如下所示:
# 小米4A千兆版
cd /tmp && wget http://121.5.163.108/download/breed-mt7621-pbr-m1.bin && mv breed-mt7621-pbr-m1.bin breed.bin# 小米3G 和 小米4
cd /tmp && wget http://121.5.163.108/download/breed-mt7621-xiaomi-r3g.bin && mv breed-mt7621-xiaomi-r3g.bin breed.bin# 小米3A,3C,4A百兆版,4C
cd /tmp && wget http://121.5.163.108/download/breed-mt7688-reset38.bin && mv breed-mt7688-reset38.bin breed.bin
7、breed 备份
断开路由器的电源,按住 RESET 重置键,插入电源,等待 3 秒左右松开按键进入 breed 控制台模式。
此时,在浏览器中输入 192.168.1.1 访问控制台。

点击固件备份,将所有文件都下载到本地备份:

更新并重启,完成刷入 eeprom
8、breed 恢复出厂设置
选择恢复出厂设置,固件类型选择原厂(小米R3G原厂),点击执行。

9、breed 刷入 Pandavan 固件
在固件更新中上传固件,并选择自动重启,刷入 Pandavan 固件。

10、进入 Pandavan 后台进行双清
浏览器中进入该固件默认管理后台页面: 192.168.2.1.
账号:admin
密码:admin
进入 系统管理 选择 配置管理 依次选择路由器设置和路由器内部存储的 恢复出厂模式。

至此完成刷机!
四、参考
- 米3G 3a 3c 4c 4a百兆千兆版本等开启telnet刷breed
相关文章:
小米 R3G 路由器刷机教程(Pandavan)
小米 R3G 路由器刷机教程(Pandavan) 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而,原厂固件的功能相对有限,难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能,还能通过第三方固…...
某大型业务系统技术栈介绍【应对面试】
微服务架构【图】 微服务架构【概念】 微服务架构,是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。在微服务架构中,服务与服务之间通信时,通常是…...
【区块链】零知识证明基础概念详解
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 零知识证明基础概念详解引言1. 零知识证明的定义与特性1.1 基本定义1.2 三个核心…...
建筑行业安全技能竞赛流程方案
一、比赛时间: 6月23日8:30分准时到场;9:00-10:00理论考试;10:10-12:00现场隐患答疑;12:00-13:30午餐;下午13:30-15:30现场…...
数据结构:图;邻接矩阵和邻接表
邻接矩阵: 1.概念: 邻接矩阵是图的存储结构之一,通过二维数组表示顶点间的连接关系。 2.具体例子 : 一.无向图邻接矩阵示例: 示例图(顶点:A、B、C,边:A-B、B-C&…...
DeepSeek-R1论文阅读及蒸馏模型部署
DeepSeek-R1论文阅读及蒸馏模型部署 文章目录 DeepSeek-R1论文阅读及蒸馏模型部署摘要Abstract一、DeepSeek-R1论文1. 论文摘要2. 引言3. DeepSeek-R1-Zero的方法3.1 强化学习算法3.2 奖励建模3.3 训练模版3.4 DeepSeek-R1-Zero的性能、自进化过程和顿悟时刻 4. DeepSeek-R1&am…...
OpenEuler学习笔记(三十三):在 OpenEuler 上搭建 OpenGauss 数据库环境
在 OpenEuler 上搭建 OpenGauss 数据库环境需要按照以下步骤进行。OpenGauss 是华为开源的一款高性能关系型数据库,支持高并发、高可用性和分布式部署。 1. 环境准备 确保你的 OpenEuler 系统满足以下要求: 操作系统:OpenEuler 20.03 LTS 或…...
[C++]多态详解
目录 一、多态的概念 二、静态的多态 三、动态的多态 3.1多态的定义 3.2虚函数 四、虚函数的重写(覆盖) 4.1虚函数 4.2三同 4.3两种特殊情况 (1)协变 (2)析构函数的重写 五、C11中的final和over…...
调用DeepSeek API接口:实现智能数据挖掘与分析
调用DeepSeek API接口:实现智能数据挖掘与分析 在当今数据驱动的时代,企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台,提供了强大的API接口,帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用D…...
ffmpeg-cli-wrapper操作ffmpeg的工具
学习链接 ffmpeg-cli-wrapper - 内部封装了操作ffmpeg命令的java类库,它提供了一些类和方法,可以方便地构建和执行 ffmpeg 命令,而不需要直接操作字符串或进程。并且支持异步执行和进度监听 springboot-ffmpeg-m3u8-convertor - gitee代码 …...
【Qt】QObject类的主要功能
在 Qt 中,QObject 类是所有 Qt 对象的基类,提供了许多基础功能,使得 Qt 的对象系统能够有效地工作。它为其他类提供了核心的机制,比如信号和槽机制、对象树结构、内存管理等。 QObject 类的主要功能: 信号和槽机制&am…...
学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统
这应该算 stm32裸机用户 转 linux嵌入式系统 的入门学习笔记。 【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili 本集的鲁班猫的视频介绍中,没有清晰明确指出需要linux开发板接入网络,接入网络可以使用有线网口或者wifi路由,有些提示…...
把 CSV 文件摄入到 Elasticsearch 中 - CSVES
在我们之前的很多文章里,我有讲到这个话题。在今天的文章中,我们就提重谈。我们使用一种新的方法来实现。这是一个基于 golang 的开源项目。项目的源码在 https://github.com/githubesson/csves/。由于这个原始的代码并不支持 basic security 及带有安全…...
PyQt组态软件 拖拽设计界面测试
PyQt组态软件测试 最近在研究PyQt,尝试写个拖拽设计界面的组态软件,目前实现的功能如下: 支持拖入控件,鼠标拖动控件位置 拖动控件边缘修改控件大小支持属性编辑器,修改当前选中控件的属性 拖动框选控件,点选控件 控…...
【Python爬虫(1)】专栏开篇:夯实Python基础
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取ÿ…...
Java中的分布式(概念说明)
1. 分布式的基本概念 1.1 什么是分布式系统? 分布式系统(Distributed System):由多台服务器(或节点)协同工作,对外提供一个整体服务。不同节点之间通过网络通信来协同处理请求或共享数据&…...
Field ‘id‘ doesn‘t have a default value
1.程序测试时,运行到向数据库插入数据时,报以下异常 是id没有默认值; 在测试单元内单独向该数据库插入数据,报同样的异常,确定了异常的定位 2.项目时采用mybatisPlus操作数据库,报异常的数据库和另外一个数据库关联,主键ID和另外一个数据库相同,通过读取另外一个数据库的ID获…...
蓝桥杯 Java B 组之栈的应用(括号匹配、表达式求值)
一、栈的基本概念 栈(Stack)是一种特殊的线性数据结构,遵循后进先出(Last In First Out,LIFO)的原则。就像一摞盘子,最后放上去的盘子总是最先被拿走。栈有两个主要操作: 入栈&…...
Hive之分区表
Hive之分区表 文章目录 Hive之分区表写在前面分区表分区表基本操作引入分区表创建分区表语法加载数据到分区表中查询分区表中数据增加分区删除分区查看分区表有多少分区查看分区表结构 二级分区正常的加载数据分区表和数据产生关联 动态分区开启动态分区参数设置案例实操 写在前…...
Redis之持久化
1.前言 Redis⽀持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成数据丢失问题, 当下次重启时利⽤之前持久化的⽂件即可实现数据恢复。本文内容: • 介绍RDB、AOF的配置和运⾏流程,以及控制持久化的命令,…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001
qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...
