草庐IT

红米AC2100刷openwrt以及刷回官方固件全记录

相忘于江湖吧 2023-10-23 原文

目录


访问openwrt官网,我们可以知道一些路由器有漏洞,可以刷openwrt固件,做一些自定义操作。
我刷openwrt的目的主要是用tc脚本限速,因为我发现路由器本身的限速功能似乎有问题,并不能如你所期地进行限速。
刷机就是替换原厂的固件, 刷机包括刷boot和刷系统,boot类似于pc的bios,用于引导系统,通常我们需要刷入不死uboot,防止路由器变砖。 刷机的难点在于解锁原厂固件的后台,解锁后就可以随便刷机了。

了解下ac2100状态灯

ac2100有2个状态灯,上面的是Internet灯,下面的是System灯。

Internet灯

熄灭:WAN口未插入网线
橙色常亮:WAN口已插入网线,但上级网络故障
蓝色常亮:WAN口已插入网线,上级网络正常
闪烁:WAN口已插入网线,网络配置中

System灯

熄灭:关机状态或未连接电源
橙色闪烁:安全模式/系统升级中
橙色常亮(一分钟左右变蓝):系统启动中
橙色常亮(两分钟以上不变蓝):系统故障
蓝灯常亮:正常运行

刷机前准备工作

理了下很多网上资料,一些步骤我也不太确定是否必要,我按照我成功时刻的电脑设置记录如下。

  • 用网线连接电脑和路由器的LAN口(不是WAN口)。
  • 关闭防火墙。

  • 禁用无关网卡。只留下电脑和路由连接的这个网卡。

刷openwrt

  • step1:按openwrt官方文档里的Method A: Web Exploit 刷机。
    刷完之后,用192.168.1.1登录openwrt网页界面。
  • step2:开始配置openwrt无线中继上网模式。参考这篇文章

    点击2.4G频道的“scan”,然后选择你要连接的wifi,点击“Join Network”。
    有时候scan不出来,可以插拔LAN网线或者插拔电源线试试再不行就按住路由器上的reset键进行重置
    step2操作完之后,openwrt就可以作为无线中继路由上网。
  • step3:刷breed,为了后续万一变砖头后的恢复。相当于是个恢复系统。
cd /tmp
opkg update
opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
wget --no-check-certificate https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin
mtd write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader

需要执行上面的第2行到第5行,否则会报错“Could not open mtd device: Bootloader”。

ssh登录openwrt

现在openwrt已经是作为无线中继的模式,其他设备可以连接openwrt上网。
其实ssh登录有两种方式,一种是有线登录,pc电脑连接openwrt的LAN口,这种方式不讲了,这种方式要一直插一根网线,麻烦。
第二种方式是无线登录,pc首先要连接openwrt这个无线网络,然后ssh root@192.168.1.1。pc连接主路由,然后ssh到openwrt在主路由子网的ip,不行。

可能遇到的错误,整理如下

  • case1:登录ssh可能报错。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:LNAcmhtRfDkjbeG4A5do384cND5Lm2mKXHx7z0owFKM.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending RSA key in /root/.ssh/known_hosts:1
  remove with:
  ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.1.1"
RSA host key for 192.168.1.1 has changed and you have requested strict checking.
Host key verification failed.

解决方案:删除/root/.ssh/known_hosts 文件即可。

  • case2:登录breed。
    登录breed控制台的方法,电脑网线接上路由器的LAN口,断电,长按住reset键,然后插电,此时访问192.168.1.1。
    如果出现如下的文件未找到的错误,要清理下浏览器的缓存,重新访问即可。

刷回官方固件

刷了openwrt之后,再刷回官方固件的时候,遇到了非常多的坑。记录一下,备忘!

一定要先刷bootLoader,然后再刷官方固件。
bootLoader可以在百度云:https://pan.baidu.com/s/1aObxBzAcXJLe6u9yJO6pLA 密码:mei3 下载。
官方固件在这里下载。

  • step1: 先进入breed web界面
    按住reset键,再插电,灯system灯蓝色闪烁,松开reset键,访问192.168.1.1,此时进入breed web界面。
  • step2: 刷官方bootloader
  • step3: 刷官方固件

如果变砖头,可以用用“小米路由器修复工具" MIWIFIRepairTool.x86.exe 来刷回官方版本。
工具可以在这里下载。

安装tc脚本

// precondition
opkg update

// tc
opkg install tc

// netem
opkg install kmod-netem
modprobe sch_netem

// ifb
opkg install kmod-ifb
modprobe ifb
ip link add ifb0 type ifb
ip link set dev ifb0 up

// setup
tc qdisc add dev br-lan ingress
tc filter add dev br-lan parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb0

安装openfortivpn

opkg update
opkg install openfortivpn

参考:

有关红米AC2100刷openwrt以及刷回官方固件全记录的更多相关文章

  1. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  2. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  3. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  4. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  5. ruby - ruby 中的同一个程序如何接受来自用户的输入以及命令行参数 - 2

    我的ruby​​脚本从命令行参数获取某些输入。它检查是否缺少任何命令行参数,然后提示用户输入。但是我无法使用gets从用户那里获得输入。示例代码:test.rbname=""ARGV.eachdo|a|ifa.include?('-n')name=aputs"Argument:#{a}"endendifname==""puts"entername:"name=getsputsnameend运行脚本:rubytest.rbraghav-k错误结果:test.rb:6:in`gets':Nosuchfileordirectory-raghav-k(Errno::ENOENT)fromtes

  6. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  7. ruby - ||= 条件赋值运算符的官方扩展 - 2

    我想强调的是,我正在寻找||=运算符被Ruby1.9.3解释器扩展的实际方式,而不是它出现的方式根据其行为进行扩展。我真正希望的是能够理解实际解释器源代码的人,遗憾的是我可能无法胜任这项任务。我发现似乎可以检查此问题的唯一资源已过时:“Ashort-circuit(||=)edgecase”。我上面提到的资源似乎暗示x||=y到x=x||的“官方”扩展y在1.9之前的解释器版本中要么不准确要么有错误。无论如何,指示的边缘情况似乎已被消除。上面的资源声称x||x=y或x或x=y“更准确”。然而,这些都不正确,因为当x是一个以前未声明的全局变量时它们不起作用:[11:04:18][****

  8. 【Elasticsearch基础】Elasticsearch索引、文档以及映射操作详解 - 2

    文章目录概念索引相关操作创建索引更新副本查看索引删除索引索引的打开与关闭收缩索引索引别名查询索引别名文档相关操作新建文档查询文档更新文档删除文档映射相关操作查询文档映射创建静态映射创建索引并添加映射概念es中有三个概念要清楚,分别为索引、映射和文档(不用死记硬背,大概有个印象就可以)索引可理解为MySQL数据库;映射可理解为MySQL的表结构;文档可理解为MySQL表中的每行数据静态映射和动态映射上面已经介绍了,映射可理解为MySQL的表结构,在MySQL中,向表中插入数据是需要先创建表结构的;但在es中不必这样,可以直接插入文档,es可以根据插入的文档(数据),动态的创建映射(表结构),这就

  9. FPGA 之 时钟,时钟域, 以及复位系统的设计 - 2

    FPGA时钟和时钟域时钟树所谓时钟树为FPGA内部资源,分:全局时钟树,区域时钟树,IO时钟树原则上优先使用全局时钟树,在GT接口上使用IO时钟树,一般工具也会对GT时钟加以限制;时钟树使用方式正确的物理连接FPGA会由物理管脚专门用于全局时钟设置,通过查询数据手册可以在PCB设计阶段进行确认,当外部时钟接入此管脚时,工具会自动占有全局时钟树资源,当接入普通信号时不会分配时钟树资源;恰当的代码描述原语的使用,即BUFG的使用,可以将PLL的输出等内部时钟进行全局时钟资源的分配;IO时钟资源需要参考相应接口手册,以ultrascale的GTH为例,其JESD204的时钟方案针对不同的子类会由不同

  10. Streampark集成Cloudera Flink、ldap、告警,以及部署常见问题 - 2

    集成背景我们当前集群使用的是ClouderaCDP,Flink版本为ClouderaVersion1.14,整体Flink安装目录以及配置文件结构与社区版本有较大出入。直接根据Streampark官方文档进行部署,将无法配置FlinkHome,以及后续整体Flink任务提交到集群中,因此需要进行针对化适配集成,在满足使用需求上,尽量提供完整的Streampark使用体验。集成步骤版本匹配问题解决首先解决无法识别Cloudera中的FlinkHome问题,根据报错主要明确到的事情是无法读取到Flink版本、lib下面的jar包名称无法匹配。修改对象:修改源码:(解决无法匹配clouderajar

随机推荐