小米路由器4C 刷入openwrt 并成功进行锐捷认证

前言:

在大学中,宿舍有个路由器当然是刚需,然而,我们学校的校园网需要进行锐捷认证,常规的路由器还用不了,需要自己刷路由器或是从奸商处购买。初入大学学习计算机专业的我,年轻气盛,不愿屈服于奸商。曾尝试购买小米路由器4c并尝试自己刷,然后,就寄了。。

于是乎,我们宿舍用了隔壁宿舍Wi-Fi一年。

经过一年的学习,我又觉得自己行了,遂将差一个月过保的给自己刷寄的路由器返厂换货,拿到了一台全新的路由器,又开始了自己的折腾之旅。

大致过程

刷入breed >>> 刷入openwrt >>> *编译对应的minieap插件 >>> 安装插件并进行配置 >>> 成功

前期准备

当然是下载一堆东西。

  • 一台 小米路由器4c
  • R3GV2 patches 用于破解路由器使其可以与我们建立连接
  • breed 刷入breed可以保证我们路由器不会成砖(救砖利器)
  • 小米路由器4c 适用的 openwrt固件 (有很多版本可以去openwrt官网下载,故不放链接)
  • minieap插件 用于锐捷认证,需要对应固件版本,可以自行编译
  • 对应固件版本的sdk源码 (同样需要去openwrt官网下载用于编译minieap插件,已有对应版本的插件就不需要下载了)
  • telnet软件 可以使用XShellMobaXterm,去官网下载

1.刷入Breed

此步骤是为了方便后续出问题了可以救砖

刷入后,路由器断电,用牙签按住reset口,再插电,等指示灯黄灯和蓝灯同时闪4下后,即可进入breed模式

1.1 进入路由器官方后台,并进行路由器初始化

将路由器通电后,可在电脑Wi-Fi那看到一个xiaomi_xxxx(应该是叫这个)的无密码Wi-Fi。连上后,在浏览器输入:

miwifi.com 进入官方后台

进行初始化(跟着提示来就好,可以说是很傻瓜式了),主要目的是给它改个后台密码(一定要记住!!!)

1.2 开启路由器telnet与ftp功能

连接上Wi-Fi,解压R3GV2 patches,并运行其中的 0.start_main.bat 文件,在cmd窗口输入刚才记住的后台密码,等待出现Done提示便完成了。

注意:此操作是链接运行一个python文件,需要电脑本身有python环境,具体安装方法网上有很多详细的教程,此处不再赘述

Windows-python安装参考资料

1.3 使用telnet连接路由器,做备份与将breed固件放入路由器

使用前期准备的telnet软件

  • 类型:telnet
  • 主机地址:192.168.31.1
  • 用户名:root
  • 密码:空

连接路由器,登陆成功后会有ARE U OK的提示。

1.3.1 备份eeprom

注意:此步骤很重要!!!我之前就因为备份失败,寄在了这。

在终端输入:

# 输入备份指令 备份路径为 /tmp/eeprom.bin
dd if=/dev/mtd3 of=/tmp/eeprom.bin

不知道为啥,本操作在小米路由器4c多次使用均不成功,建议使用网络上的64kb的备份文件。

1.3.2 进入FTP,下载eeprom备份与上传breed固件

这里直接使用Windows自带资源管理器的FTP功能即可。

输入:ftp://192.168.31.1 回车即可进入。

把之前下载的breed文件更名为breed.bin,然后放入/tmp文件夹中

同时,将该文件夹中的eeprom.bin 下载到本机电脑(直接复制或者拉出来就行了,记得保存到一个记得的路径下)。

(需要注意一下eeprom.bin的大小,一般是64kb的,如果小了很多说明有问题,需要重复一遍1.3.1操作)

1.4 刷入breed

在telnet连接的终端中输入:

# 其中 /tmp/breed.bin 为我们上传 breedin 的路径
mtd write /tmp/breed.bin Bootloader

刷完 Breed 之后,提示成功后,给路由器断电,然后按住reset口后通电,等待指示灯闪四下就进入breed了,重启完成后无法使用 WIFI 扫描到网络了,所以需要用网线连接电脑和路由器,在浏览器打开 192.168.1.1 就可以看见 Breed 界面了。

1.4.1 恢复eeprom

此处,我们刚刚备份的文件就派上用场了。

进入固件更新,勾选EEPROM,上传刚刚备份的eeprom.bin,然后更新。

2.刷入openwrt

由于官方的openwrt固件是基于官方的bootloader设计的(估计是这样),导致breed无法正确引导进入系统,如果使用官方的openwrt固件,会出现无限重启的情况,无法使用。估计的情况是闪存分区问题,breed的闪存启动区与官方bootloader不同,所以无法正确启动。

在这里,我们直接使用某大佬魔改编译的固件,可以breed直刷进入系统,省去繁琐的操作。

刷入官方openwrt固件的方法放在后面,可供选择。(真的麻烦很多)

使用魔改版openwrt,直接在breed的固件更新界面勾选固件,并上传相应的openwrt固件,勾选自动重启(一般会默认勾选的),点击更新。

等待路由器亮蓝灯后,即刷入成功。

在浏览器输入192.168.1.1 可以进入openwrt后台,默认密码为password

注意:若192.168.1.1 无反应,可能是默认的地址不是这个,可以进入网络适配中心查找

我这里是macOS的系统,Windows下也是类似,我的后台地址就是192.168.5.1

3.*编译对应的minieap插件

若有对应版本的minieap插件,则可跳过这一步

minieap是在openwrt上用于自动进行锐捷认证的插件(注意:这个只是让你的路由器有能够像电脑一样进行锐捷认证上网的插件,并不是说你装上了就不用交网费了,还是要交钱让学校那边提供网络给你的)

由于minieap需要严格对应路由器主控型号和openwrt版本,所以网上几乎找不到别人做好的(因为适用性很差),所以需要我们自行编译。

首先,我们需要一个Linux环境,可以使用服务器,或者安装虚拟机。(此处操作方法有很多,自行搜索教程,不再赘述)

3.1 下载对应的sdk

首先,我们需要知道自己路由器对应的主控芯片型号,直接百度一般都可以搜到。

比如此处小米路由器4c的主控型号是MT7628

然后我们还需要知道我们刷入的openwrt的版本,如果是在官网下载的固件,直接就有版本号,如果是别人魔改的固件,就需要自己想办法去找到版本号(有一些很难找到具体版本号,最后一个小版本很难确定)


如本次的工作,我们现在已知自己的设备主控型号和openwrt版本:

  • 主控型号:MT7628
  • openwrt版本:18.06-SNAPSHOT

接下来就是到官网下载对应的sdk源码

注意:需要下载对应主控型号和对应openwrt版本的sdk源码

3.2 在Linux环境下配置编译所需的环境

在编译之前,我们需要保证自己的Linux环境通网(涉及git的使用,需要用上那个)

以下指令均在Linux的shell中运行

  • Git的安装:
$ sudo aptitude install git
$ sudo aptitude install git-doc git-svn git-email gitk
  • 编译openwrt所需的环境的安装:
sudo apt-get install  libncurses5-dev  zlib1g-dev  gawk  flex  patch   git-core g++   subversion

可能会存在环境漏装的情况,具体可通过查看报错后排查缺失的环境

这里有一个大佬的错误情况总结,可以用作参考:csdn

3.3 解压sdk

我们知道,在官网下载的sdk是一个.tar.xz压缩包,需要解压后才可进行编译。

我们可以直接利用shell进行解压

cd <sdk所在文件夹>  #到文件夹下
xz -d <xxxx.tar.xz> #先进行第一层解压
tar -xvf <xxxx.tar> #再进行第二层解压
#xxxx指的是sdk的文件名,两层解压的后缀是不同的,注意区分

3.4 下载minieap源码并利用其进行编译

  • 我们先cd进入解压后的sdk目录下
cd <解压后sdk文件夹内>
  • 使用git下载minieap源码(此处最好有那个)
git clone https://github.com/KumaTea/openwrt-minieap.git package/minieap
  • 选择要编译的包
make menuconfig

如果没有报错,就会进入下面这个界面

使用方向键可以更改选中,回车确定

我们依次选择Network、选中minieap(按y键选中,选中后左边会显示[*])、选择Save、ok、Exit,再连选两次Exit退出。

  • 开始编译
make package/minieap/compile V=s
  • 保存插件

在编译完成后,我们可以在bin\package\aarch64_generic\base目录下找到minieap_0.93-1_aarch64_generic.ipk插件软件包,保存下来。

4.安装插件并进行配置

注意,此操作需要保证路由器和电脑在同一内网中,可以是有线也可以是无线

4.1 有两种安装方法:

  • 使用web界面直接安装:

    浏览器输入192.168.1.1(不一定是这个,同第2步)进入openwrt的web后台,然后进入系统->软件包->上传软件包上传安装即可。

  • 使用opkg指令安装:

    有一种情况可能发生,openwrt的web后台无法上传软件包,这时候我们就需要想办法把软件包上传到路由器中,并使用ssh连接路由器使用opkg指令安装。

    • 上传软件包:

    在Windows下可以使用WinScp软件(自行下载)连接路由器,其中ip地址同上后台地址,用户名为root。

    若是在linux或macOS下,则需在shell中使用scp指令上传

    cd <软件包所在目录下>
    scp <软件包文件名> root@192.168.1.1:/tmp
    • 安装插件:

    先使用ssh连接路由器:

    ssh root@192.168.1.1 #ip地址可能不同,具体看第2步,若无法成功进入,请查看最后面的*部分内容
    opkg install <软件包在路由器中的路径> #安装软件

4.2 配置minieap

先使用ssh连接路由器:

ssh root@192.168.1.1 #ip地址可能不同,具体看第2步

输入命令配置minieap:

到这一步,需要将路由器LAN口接入学校的网口

minieap -u <学号> -p <密码> -n <网卡名> -b 2 --save --module rjv3

其中<网卡名>可以在openwrt的web后台中查看,样式为eth1类似(不一定是这样)

提示成功后,minieap认证成功,测试是否可以正常上网

4.3 设置minieap开机自启动

进入openwrt的web后台,系统->启动项->本地启动脚本

将上述的minieap的配置命令复制到脚本中并保存。

为保证路由器稳定,建议设置每天凌晨自动重启。

至此,如果顺利的话,那么恭喜你已经成功破解路由器锐捷认证,

以下是一些扩展话题

* openwrt配置Wi-Fi名和密码

浏览器输入192.168.1.1进入openwrt的web后台

网络->无线->无线概括中的SSID那一项->修改

基本设置中,ESSID指的是Wi-Fi的名称

无线安全中,可以设置密码

* 官方openwrt固件breed刷入无限重启的问题(一些想法,未求证)

由于官方openwrt固件是针对小米官方的bootloader设计的,但是我们通常为了保险起见,都是先刷入breed,再通过breed刷写固件。而官方openwrt固件可以说是并没有适配breed。

据网上资料,官方openwrt固件的分区是从0x160000开始,而breed的web刷机方法并不能选择这个起始位置,如果使用breed刷,是会刷入0x60000开始的分区内,虽然kernel可以启动,但是由于文件位置不同,kernel无法找到对应的文件系统,最终导致无限重启。

所以如果想要刷入官方的openwrt固件,我们需要在breed下手动将固件刷入0x160000的分区下,并且设置环境变量使breed可以在我们指定的位置进入kernel。

具体操作可以参考草帽哥的博客:草帽哥

*ssh连接出错

若出现以下错误:

需要先输入:

ssh-keygen -R <后台ip地址>

再重新连接。

小米路由器4c刷入openwrt并成功进行锐捷认证的更多相关文章

  1. OpenWRT TP_LINK703N 校园网 锐捷认证解决办法

    OpenWRT TP_LINK703N 校园网 锐捷认证解决办法 一.准备的工具 1)      SSH登录工具,推荐使用MobaXterm_Personal下载链接https://moba.en.s ...

  2. 小米路由器3-R3 刷固件

    1.刷机前的路由器升级准备 1-1.首先进入路由器原声后台:miwifi.com 1-2.在右上角,点击系统升级.在系统版本下边选择手动升级,选择资源包里的:“miwifi_r3_all_55ac7_ ...

  3. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  4. 极路由2(极贰)ROOT并刷了OpenWrt

    绕过官方的ROOT 查了一下root教程, 如果还需要保留保修, 则需要自己想办法回退版本, 下载搜狐插件到sd卡, 找个linux系统修改sd卡上程序的执行权限, 然后才能开启ssh, 具体的方法可 ...

  5. wr720n v4 折腾笔记(二):刷入不死Uboot

    0x01 前言 接着上节刷入Openwrt开始说起,此次开始刷入不死Uboot,刷入之后就可以在Uboot里面随便刷机,再也不怕成砖了. 固件附件地址: 下载地址1(还是之前一的包) flash文件地 ...

  6. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录

    小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...

  7. 小米路由器4a千兆版刷openwrt

    现在网上搜小米路由器4a千兆版刷机的都是刷的padavan的,很少能找到openwrt的刷机教程. 首先刷openwrt系统的时候要先刷入引导程序breed,网上有一篇帖子写的很详细(https:// ...

  8. 小米路由器刷Xiaomi Mi WiFi Mini openwrt

    Current Stable Release - OpenWrt 18.06.1,released on August, 18th 2018. there is also PandoraBox fir ...

  9. OpenWrt固件刷入后串口终端没有反应的问题

    [路由器开发板硬件固件配置] MTK双频:MT7620a + MT7612e 内存:256 MB 闪存:16 MB 固件:MTK自带SDK中的OpenWrt固件(mtksdk-openwrt-2.6. ...

  10. 小米4c刷LineageOS

    注意,本文仅限于小米4c,其他手机仅可参考步骤.如下rom,su,gapps包的下载都是小米4c的,深刷miflash也仅适用于小米手机.准备工作:请自行备份好手机内的个人资料. 电脑环境,usb驱动 ...

随机推荐

  1. pytest-fixture使用

    fixture(scope='function',params=None,autouse=False,ids=None,name=None):scope:设置作用域:params:传参数,以列表进行存 ...

  2. 深度解读《深度探索C++对象模型》之返回值优化

    接下来我将持续更新"深度解读<深度探索C++对象模型>"系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表. 没有启用返回值优 ...

  3. Quick BI:降低使用门槛,大东鞋业8000家门店的数据导航

    简介: 通过引入MaxCompute和Quick BI,大东解决了以往数据查询即刻导致数据库闪崩的状况,还搭建起完善的报表体系,稳定应对高频.高并发的数据分析. 大东鞋业一季大约有500款的新品.大区 ...

  4. mPaas 运维流程介绍

    简介: 金融级移动开发平台 mPaaS(Mobile PaaS)为 App 开发.测试.运营及运维提供云到端的一站式解决方案,能有效降低技术门槛.减少研发成本.提升开发效率,协助企业快速搭建稳定高质量 ...

  5. [FAQ] Golang error strings should not be capitalized or end with punctuation

    当我们在 Golang 中使用 errors.New("Aaa.") 形式返回 error 信息时,文字内容不应该以大写字母开头或者标点符号结尾. 所以这样是可以的 errors. ...

  6. github 解决推拉代码提示 REMOTE HOST IDENTIFICATION HAS CHANGED 失败

    本文记录最近 github 推送或拉取代码时提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 而失败的解决方法 报错提示如下 @@@@@@@@@@ ...

  7. WPF 获取全局所有窗口的创建显示事件 监控窗口打开

    本文将告诉大家如何在 WPF 里面进行全局监控任意的窗口创建显示打开,可以获取到每个 WPF 窗口的打开的时机.如此可以用来辅助定位问题和输出日志 这篇博客是有背景的,老司机告诉我说他的应用不响应鼠标 ...

  8. vue全国省市选择vue组件

    没用懂checkbox,干脆自己定义布尔值,方便数据页面响应. 可以再原始省市数据 下载address.js文件 1.初始化数据格式: 2页面样式: 3.对应输出的数据格式: 4.源码: <!D ...

  9. 使用 Docker 自建一款怀旧游戏之 - 扫雷

    1)扫雷 简介 扫雷 是一种经典的单人电脑游戏,最初由微软公司在 1990 年代开发并内置在 Windows 操作系统中.游戏的目标是在一个由方块组成的网格上揭开所有非地雷的方块,而不触发地雷.每个方 ...

  10. [2]自定义Lua解析方式

    [2]自定义Lua解析方式 在上文中我们学会学会更改加载路径,加载对应文件夹下的Lua脚本. 默认解析加载的lua脚本存在的文件位置非AB包或者Resources文件夹下往往不能随包体更新,这显然不符 ...