Redmi AC2100刷写Openwrt教程
Redmi AC2100刷写Openwrt教程
因是前言
此教程的书写基于 Redmi AC2100 路由器,并不保证其他路由器可用。推荐使用 Windows 10/11 系统。理论上对其他型号路由器也通用,不过需要改一下固件的型号。本教程参考了多位前辈的文档与教程。
注意事项:
1、进行教程操作前,请尽量使用网线与路由器连接,否则可能无法进行部分操作。正常情况是无需设置电脑防火墙和关闭杀毒软件的,但保险起见还是关闭防火墙和杀毒软件,不然刷成砖就后悔了!
2、教程中涉及文件存储和操作的所有路径和命令,请保证为全英文路径和命令(不得使用中文字符),使用中文路径可能出现未知错误,导致刷机失败!
教程
一.开启SSH
利用官方固件的漏洞,通过Web注入漏洞开启SSH实现刷机,更换至漏洞官方固件版本,降级只需用官方更新方法手动刷入即可。
1.下载固件
有漏洞固件版本为:AC2100 2.0.7*版本
官方下载链接:
红米RM2100:点我下载
小米R2100:点我下载
其中 miwifi_rm2100开头的是红米的,miwifi_r2100开头的是小米的。
2.漏洞注入
降级到漏洞版本后,通过下面web命令开启SSH。
在浏览器中使用管理密码登录路由器管理页面(192.168.31.1),登录后地址栏链接应为:
1 | http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router |
这里的关键是**
在浏览器地址栏中输入以下链接代码,注意替换掉
1 | http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B |
返回{“code”:0}即代表成功,其实成不成功都会返回这个:)注意传参顺序及指令前后都要有一个分号,即%3B
如果返回401错误,原因可能是版本不正确或者
建议一键注入后需等待一些时间,保证路由器后台能正确处理注入信息后再重启。
重启即可开启SSH,root密码请自行根据SN计算;不想计算的或不知道怎么计算的,可以看下一步。
3.更改管理员root密码 (可跳过)
执行下面的代码改密码为admin,在浏览器地址栏中输入以下链接代码,注意替换掉
1 | http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B |
二.刷写Breed
Breed 是一个由 hackpascal 大神自写的与 U-Boot 同级的 Bootloader。Breed 可以使你方便的更换其他的固件,因为 Reset 不会重置 Breed 而会重置固件,因此如果你想把 Openwrt 换成 Padavan,那么只需要 Reset 一下,在 Breed 重刷一下固件就可以了!
首先我们下载一下适用于 Redmi AC2100 的 Breed,点此下载
然后打开cmd
。输入:
1 | ssh root@192.168.31.1 |
然后输入 admin
,回车。不出意外的话,我们就成功使用 ssh
登录了路由器中的系统。
1.本地刷入Breed
按 Ctrl + D
退出登录,输入:
1 | scp /path-to-breed root@192.168.31.1:/tmp |
这里的 /path-to-breed
代表的是上面下载的 Breed 的路径,例如 D:\Downloads\breed-mt7621-xiaomi-r3g.bin
,这条命令即将下载的 Breed 传输到了路由器的 /tmp
目录中。
接下来我们按上述过程重新登录路由器后,输入:
1 | cd /tmp |
进入路由器中的 /tmp
目录,接下来运行:
1 | mtd -r write breed-mt7621-xiaomi-r3g.bin Bootloader |
2.在线刷Breed
输入下面联网刷Breed (r3gbreed通用红米AC2100):
1 | cd /tmp && wget https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin && mtd -r write breed-mt7621-xiaomi-r3g.bin Bootloader |
备用地址:
1 | cd /tmp && wget http://3322d.f3322.net:16999/other/breed/breed-mt7621-xiaomi-r3g.bin && mtd -r write breed-mt7621-xiaomi-r3g.bin Bootloader |
刷入完成,然后等待路由器重启(当电脑获取到ip或者路由只有一个蓝灯亮时,breed引导官方固件成功)。为防止变砖,强烈建议等待5分钟后拔电,用牙签按住reset
键再插电,等蓝灯闪烁,松开reset键,浏览器访问192.168.1.1
即可进入breedweb界面。
更改环境变量,编缉,新增字段xiaomi.r3g.bootfw
,值设置为 2
,然后保存。
三.从 breed 刷写固件
首先是下载我们需要的固件,下面推荐几个。也可到恩山论坛自行选择。
Padavan(HIBOY)固件:点此下载
Openwrt(官方):点此下载
1.从breed刷入Openwrt底包
2.从底包的临时web通过升级的方式刷入openwrt固件
对应的菜单是System -> Backup / Flash Firmware),点击 Flash image… 上传想刷的Openwrt固件
不要勾选 Keep settings and retain the current configuration,最后点Continue,等几分钟让路由器自己重启。进入新固件。
四.Openwrt配置
1.配置 IPv4 网络
首先将网线与路由器的 WAN
口连接。
我们打开 网络 中的 接口 ,然后编辑 WAN
口信息,将协议切换为 PPPoE
,填写用户名和密码,其他一般不用管,直接保存即可。
2.设置路由器定时重启
1 | # * * * * * command to execute |
3.定时关闭WIFI
周一至周五的每天早上7:30关闭WIFI:
1 | 30 7 * * 1-5 wifi down |
周一至周五的每天早上7:30打开WIFI:
1 | 35 7 * * 1-5 wifi up |
每天下午18:00关闭WIFI,9号、19号、29号除外:
1 | 0 18 1-8,10-18,20-31 * * wifi down |
4.Adguard home 详细配置
安装教程已经很多了,在这里就不多说了。只强调一点,ipk安装完成以后,可能会出现无法更新内核的问题。此时需要注释掉防火墙内的默认的DNS解析优先端口。
注释掉这两条规则,注释之后为:
1 | #iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53 |
5.打开”服务 – AdGuard Home”
更新核心版本,如不能更新可下载内核自行更新
用 WinSCP 打开路由器,将内核放到 /usr/bin/AdGuardHome 路径下!
刷新浏览器即可看到 核心版本
勾选启用,将重定向设置为 作为 dnsmasq 的上游服务器
5.AdGuard Home 页面设置
1.点击 AdGuardHome Web:3000 跳转 AdGuard Home 管理页面
网页管理界面 - 监听接口 - 端口默认为 80,随意设置,只要没被占用即可。
DNS 服务器 - 监听接口 - 端口默认为 53,随意设置,只要没被占用即可。
设置登陆 AdGuard Home 管理页面的用户名和密码
以上设置完成,直接下一步即可
打开 设置–常规设置 如图设置!(记得保存)
打开 设置–DNS 设置
上游 DNS 服务器,第一个 IP 设置成你的运营商 DNS,后面 3 个可以如图填写!
Bootstrap DNS 服务器,设置成你的运营商 DNS!
DNS 服务设定,速度限制 填写 0 为不限制!
除了 202.98.192.67 替换成你的运营商 DNS,其他看图设置即可
打开 过滤器–DNS 封锁
添加阻止列表并启用
提供几个比较好用的规则
五.路由器指示灯状态说明
1.蓝灯长亮:工作正常
2.蓝灯闪烁:刷机成功(需要断电重启,注意路由断电后请等待10s以上再通电)
3.橙灯长亮:正在启动
4.橙灯闪烁:进入刷机流程或系统升级中(该过程不要断电)
5.红灯长亮:系统故障
6.红灯闪烁:刷机失败