最近入手了一款无线路由器红米 AC2100,入手之后马上想刷 Openwrt 玩玩。网上找了些教程、固件折腾,一路下来并不是很顺利。
于是就写篇内容给有需求的朋友,避免踩坑。
刷机过程
- 开启红米的AC2100 SSH
- 刷入Breed (不死Uboot,刷完这个可以任意固件)
- 刷入Openwrt 固件。
开启 SSH
我们需要利用有漏洞版本的固件开启SSH,在管理页面降级到对应版本,进行初步设置,可以先关掉自动升级或不接外网防止自动升级到最新版本。
更新到指定版本后,我们再通过漏洞开启 SSH。
1. 用密码登录小米路由器的管理页面,拷贝网页地址中的 stok 值
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router
2. 以下两个地址替换为上面的<STOK>值之后后分别访问,执行成功后会看到 {“code”:0}
http://192.168.31.1/cgi-bin/luci/;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
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
到这里就开启 SSH 功能了,账户 root 密码 admin。
我们通过 SSH 客户端进去路由器。没有的可以直接使用 Windows 的 Powershell ,Macos 直接使用终端。
输入 ssh root@192.168.31.1 有验证输入 Yes,密码是 admin 即可进入路由器了。
刷入 Breed
上一步我们已经通过 SSH 进入路由器了,我们下载 Breed 固件然后上次到路由器 /tmp 目录。
下载 breed 下载好之后我们通过 cdm 进入固件本地目录。 使用 SCP 命令传入路由器 tmp 目录。
scp ./breed-mt7621-xiaomi-r3g.bin root@192.168.31.1:/tmp/breed-mt7621-xiaomi-r3g.bin
如果这里不了解的话,可以直接下载个 SCP 传输工具把 breed-mt7621-xiaomi-r3g.bin 上传到路由器 /tmp 目录。
breed 传到路由器之后,我们在路由器 SSH 会话里面执行一下命令
mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
然后等待路由器重启,当路由器闪蓝灯的之后。我们打开浏览器,进入 192.168.1.1
进入界面之后我们打开环境变量编辑 ,添加字段 新增字段”xiaomi.r3g.bootfw”,值设置为2 。
PS:如果以后路由器出现问题,路由器断电之后,使用取卡针插入路由器,再接电即可重置路由器进入 Breed,这样你又可以刷入别的固件了。
刷入 OpenWRT
进入 Breed ,浏览器打开192.168.1.1
从breed界面“固件更新”-“Bootloader”处选择官方bootloader文件直接上传并更新确认。
刷入低包之后就可以更新自己喜欢的OpenWRT固件了,有很多大神都自己编译了固件、都自带了KMS、酸酸乳、帕斯喔等。
固件这里其实蛮多坑的,我说下我刷过的 OpenWRT 固件吧。具体的也可以自己选择。
1.官网固件 官方这个的就很原始了,没有什么东西。需要的插件都要自己安装,还需要很多依赖包。 (不推荐)
2.国内大佬 很多自己编译的固件,我这里也试了很多个。 但不是这里问题就是哪里问题。。。(强烈不推荐)
3.自己编译 折腾了一翻,也不够稳定。 (从开始到放弃系列)
4.别的固件 我目前使用的是 Padavan (老毛子)固件,使用了一个礼拜了目前没发现问题。
2022年6月3日 更新
放弃了,转软路由了。硬路由性能有限,跑的慢,相对来说也不是很稳定。