前言

红米 AC2100 是一个很好折腾的路由器,所以刷机教程已经满天飞了。我在这里再写一个教程的原因是,教程太多了都不知道应该跟着哪个走,并且那些教程基本上对应了教程作者的 OpenWrt 固件。

本文的内容大部分来源于官方的 Wiki,而 Breed 部分的教程则来源于其他教程。

注意,本文提供了两种刷机方式,仅需按照自己的需求选择一种即可。

Part A. 获取 Root 权限

首先使用小米路由修复工具 更新/降级固件版本至 2.0.23

使用浏览器打开你的路由登录界面,登录。复制地址栏的地址,我们需要地址里面的stok参数。参数如下所示,下文中的所有 [STOK] 字符串均指代这一stok参数。

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

复制下面的这一行地址到浏览器的地址栏,替换stok参数并访问。

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

此命令的作用是启用SSH服务器

复制下面的这一行地址到浏览器的地址栏,替换stok参数并访问。

http://192.168.31.1/cgi-bin/luci/;stok=[STOK]/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Aecho%20-e%20%27password%5Cnpassword%27%20%7C%20passwd%20root%0A

此命令执行完毕后,会将你的路由器的root用户密码修改为 password

执行完毕后,你已经可以通过ssh访问路由器了。

Part B. 安装 Breed (可选)

如果你想刷多个固件玩,你可以选择使用 Breed 替换掉原厂的 Bootloader。

下载 小米R3G的Breed,丢进路由器内。(或者直接 wget 下载也行)

使用SSH登录后,用下面的命令刷 Bootloader

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

刷新完毕后,你就可以重启进入 Breed 了。

Part C. 安装 OpenWrt

0. 获取 OpenWrt 固件

我们强烈不建议使用任何闭源第三方固件。建议使用 OpenWrt 官方固件。

转到固件下载页面(21.02),找到xiaomi_redmi-router-ac2100开头的几个文件。

当前可用的文件列表为:

  • xiaomi_redmi-router-ac2100-initramfs-kernel.bin
  • xiaomi_redmi-router-ac2100-squashfs-kernel1.bin
  • xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin
  • xiaomi_redmi-router-ac2100-squashfs-sysupgrade.bin

请对应下面的两种刷机方法分别下载对应的固件文件。

1. 在原厂系统下直接安装 OpenWrt 固件

首先下载后缀为squashfs-kernel1.binsquashfs-rootfs0.bin的两个文件,放入路由器中。然后使用下面的命令安装固件:

mtd write openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin kernel1
mtd -r write openwrt-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin rootfs0

执行完毕后,系统将会自动重启进入OpenWrt。

2. 在 Breed 下安装 OpenWrt 固件

进入 Breed 后,首先修改环境变量。新增一个名为xiaomi.r3g.bootfw的环境变量,其值为2

保存后进入刷机页面,选择下载的后缀为 initramfs-kernel.bin 的固件,将其刷入路由器中。

等待路由器重启进入系统。此时正在运行的并不是一个完整的OpenWrt系统,无法安装任何软件包。

进入固件更新页面,选择下载的后缀为 squashfs-sysupgrade.bin 的固件,更新系统。

就此,OpenWrt就更新完毕了。


更新日志:
– 2021-09-15: 修改OpenWrt版本与下载链接至正式版

分类: Linux

10 条评论

jack · 2023 年 3 月 9 日 下午 3:49

怎样将文件放入路由器中?

    Jim · 2023 年 3 月 9 日 下午 3:50

    在路由器里面直接wget,或者用winscp把文件复制上去都可以。

121 · 2022 年 1 月 28 日 下午 10:49

太麻烦,直接按重置键进入不死后台,添加变量,刷入底包,再从底包刷固件,完成之后再双清。这样问题就会变少,变得稳定些。

    Jim · 2022 年 1 月 28 日 下午 11:18

    您这话说的,我要有breed我还在这刷breed?

zwj808 · 2021 年 8 月 15 日 下午 6:49

请教无法wget,总是提示只读文件系统,怎么样可以把文件弄到路由器里面?

    Jim · 2021 年 8 月 15 日 下午 7:27

    cd /tmp 进入临时文件夹就可写了

      kdi · 2021 年 11 月 18 日 下午 10:49

      请问星际魔盒在不进入debian系统的情况下可以修改闪存数据吗,我觉得它默认的800mhz频率太低了想超频,但是害怕系统无法进入导致需要重刷

optimus · 2021 年 7 月 28 日 下午 6:16

您好,请问有测试过OpenWRT 21.02-RC2版在ac2100上的表现么?比如稳定性,功能是否齐全可用,有线无线速率,NAT性能之类的?

    Jim · 2021 年 7 月 28 日 下午 6:19

    你好,我这边只是日常使用,没有做其他的测试。日常使用完全没有问题,也没有遇到稳定性方面的问题。若你有兴趣的话,可以自行测试一下这些性能数据。

      optimus · 2021 年 7 月 29 日 下午 2:09

      好的,感谢回复

回复 jack 取消回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注