前言

我最近才看视频发现我的吃灰小米路由器ac2100可以刷openwrt
正当我折腾时 一些离谱的教程 (把固件刷到bootloader等)让许多新手踩了坑
这里我分享一篇安装的保姆级教程以及防踩坑

开始

降级系统

下载2.0.722固件包降级 直链下载 | 高速网盘备份

登录路由器后台 常用设置 – 系统状态 – 手动升级 选择下载的rom包

利用bug开启ssh

这是摘抄的网络绝大多数的教程 但我无法使用最后采取的这个 方法

登录后台过后的网址格式应为

http://192.168.31.1/cgi-bin/luci/;stok=/web/home#router

将你的stok值复制下来 stok值格式是一长串字母数字 例如我的是 f72652d739091ea6a48e00ca68889d8a


浏览器输入下面网址开启ssh, 替换为你的stok值

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%E2%80%99s%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg%E2%80%99%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B

提示 {“code”:0} 则为成功


浏览器输入下面网址修改 root 用户密码为 admin , 替换为你的stok值

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

提示 {“code”:0} 则为成功


断开电源过一会在插电 重启

ssh服务就开启了

刷入Breed

Bread官网找到 breed-mt7621-xiaomi-r3g.bin

然后通过 cdm 进入固件本地目录,使用 SCP 命令将该文件传入路由器 tmp 目录。

scp ./breed-mt7621-xiaomi-r3g.bin root@192.168.31.1:/tmp/breed-mt7621-xiaomi-r3g.bin

breed传到路由器之后,我们在路由器 SSH 会话里面执行一下命令

mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader

作者:PeakQQQ https://www.bilibili.com/read/cv18237601/ 出处:bilibili


刷入Breed PlanB


我的无法用上面方法开启ssh 只能用下面一种方法

先检查坏块

http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=%0A%5B%20-z%20%22%24(dmesg%20%7C%20grep%20ESMT)%22%20%5D%20%26%26%20B%3D%22Toshiba%22%20%7C%7C%20B%3D%22ESMT%22%0Auci%20set%20wireless.%24(uci%20show%20wireless%20%7C%20awk%20-F%20’.’%20’%2Fwl1%2F%20%7Bprint%20%242%7D’).ssid%3D%22%24B%20%24(dmesg%20%7C%20awk%20’%2FBad%2F%20%7Bprint%20%245%7D’)%22%0A%2Fetc%2Finit.d%2Fnetwork%20restart%0A

浏览器会显示 : {“code”:0}

如果显示其他代码,可能是你还没降级固件或者stok过期。也可以恢复出厂从试。
此代码是用来检查NAND坏块的。路由器开机超过一小时建议先重启。运行代码后,你路由器的2.4g WiFi名称会改名成:比如 “ESMT”,”Toshiba”,”Toshiba 90 768”。 90和768是坏块。 如果ESMT或者Toshiba后面没数字,那恭喜你,没有坏块!!!

浏览器输入下面代码在线刷BREED(需要路由器联网能上网):

http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=%0Acd%20%2Ftmp%0Acurl%20-o%20B%20-O%20https%3A%2F%2Fbreed.hackpascal.net%2Fr1286%2520%255b2020-10-09%255d%2Fbreed-mt7621-xiaomi-r3g.bin%20-k%20-g%0A%5B%20-z%20%22%24(sha256sum%20B%20%7C%20grep%20242d42eb5f5aaa67ddc9c1baf1acdf58d289e3f792adfdd77b589b9dc71eff85)%22%20%5D%20%7C%7C%20mtd%20-r%20write%20B%20Bootloader%0A

如果路由器在60秒内重启则代表刷BREED成功(灯会从蓝变橘,最终变蓝进入系统)。成功后拔掉电源,按住reset同时接上电源等10秒即可进入breed。192.168.1.1
如果没重启,可能是stok过期了。进入后台复制新的stok即可。也有可能下载的BREED损坏,从新运行代码。也有可能没网络。

刷完后可能无法进入原厂系统,进BREED删变量:normal_firmware_md5

作者:PeakQQQ https://www.bilibili.com/read/cv18237601/ 出处:bilibili

这个教程在观察指示灯时存在错误 这里推荐输入完代码等十几分钟拔电源,按住reset同时接上电源等10秒即可进入breed。

小提示:建议电源连接好路由器时在把电源插到插排 不然会打上花火 别问我咋知道的

进入Breed Web后

下载最新BW固件

在BW后台选择 固件更新–Bootloader–选择下载的最新BW固件–自动重启–上传

重启完 拔掉电源 按住reset同时接上电源等10秒即可进入breed

下载刷机固件更新固件 注: 刷机固件文件名为openwrt-22.03.0-ramips-mt7621-xiaomi_mi-router-ac2100-squashfs-kernel1.bin 更新固件为openwrt-23.05.0-ramips-mt7621-xiaomi_mi-router-ac2100-squashfs-sysupgrade.bin

固件更新–闪存布局–小米 R3G Openwrt–kernel1-选择刷机固件–自动重启–上传

亲测 rootfs0 固件无法启动系统

进入系统

使用默认账号admin 密码admin
进入系统

默认是没有中文的

在顶栏的 system–backup/flash firmware–flash image(蓝色图标)
选择更新固件 等待更新完成

结尾

恭喜你,最基础的openwrt安装已经完成,但使用中踩得坑比安装还多,下篇文章教你设置中文 以及使用时的 tips