红米 AC2100 刷机的主要步骤:获取 SSH 访问权限、刷入 bootloader(Breed)、刷入固件。

工具

  • 红米 AC2100
  • 牙签或卡针
  • 2 条网线1
  • 带网线插口的电脑(没有就买 USB 网口)

配置网络

  1. AC 2100 WAN 口连接调制解调器或者原路由器 LAN 口,或者通过无线中继的方式联网
  2. AC2100 的 LAN 口连接电脑,全程都要保持网线连接
  3. 访问 192.168.31.1,配置网络,保证 AC2100 可以联网

降级

  1. 下载 2.0.7 固件备用链接),接下来就利用这个固件的漏洞来刷机
  2. 在浏览器访问 192.168.31.1->常用设置->系统状态->手动升级->加载固件,保留数据->开始升级

获取 SSH 访问权限

  1. 访问 http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router,输入密码登陆,登陆后记下网址里面 <STOK> 位置那串字符,例如 c8630022ae04sjf92af0ejd83e0330f1
  2. 把刚刚获取的 <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,然后访问,网页会显示 {"code":0}

修改 root 账户密码

  1. 访问 http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router,记下 <STOK>
  2. <STOK> 填入 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,访问,此时密码设置为 admin
  3. 如果要设置其他密码就重复前两步,把网址的 admin 改为你想设置的密码,记下密码

刷入 Breed

Breed 是由 HackPascal 开发的 bootloader,有了它之后 AC2100 刷成砖也能再刷机。

  1. 打开终端程序,例如:Windows PowerShell

  2. 依次执行以下代码,一次一行,# 开头的不需要执行

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    # 登陆 root 账户,输入 root 账户密码
    ssh root@192.168.1.31
    # 下载 Breed
    curl https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin --output  breed-mt7621-xiaomi-r3g.bin
    # 备用链接
    # curl https://cdn.jsdelivr.net/gh/CyrusYip/blog-static/other/breed-mt7621-xiaomi-r3g.bin --output  breed-mt7621-xiaomi-r3g.bin
    # 刷入 Breed
    mtd write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
    # 重启
    reboot
    
  3. 等待重启,只有蓝灯常亮代表重启完毕

刷入临时固件

  1. 下载临时固件
  2. 拔下 AC2100 的电源,用牙签按住 Reset 键,插电,蓝色闪烁时松开
  3. 访问 192.168.1.1,增加环境变量,字段为 xiaomi.r3g.bootfw,值为 2,保存。不做这一步 AC2100 就无法启动了。
  4. 备份固件(可跳过)
  5. 固件更新->固件->选择文件->选刚刚下载的临时固件->勾选自动重启->上传->更新

刷入 OpenWrt

  1. 下载 OpenWrt 固件

    恩山论坛有很多 OpenWrt 固件选择一款合适自己的就行。我用的是这个,下载地址在这里,下载文件名含有 sysupgrade 的文件。自己编译也行。

  2. 重启完后访问 192.168.1.1,如果被占用了就拔掉 WAN 口的网线

  3. System -> Backup / Flash Firmware -> Flash image -> 取消勾选 Keep settings and retain the current configuration -> continue

  4. 访问 10.0.0.1,配置 AC2100

后记

第一次给路由器刷机,一搞就是几个小时,天都亮了,太艰难了。一开始我是连着 WIFI 弄的,结果一直不行,后来才发现要接网线。网上有各种方法,有些方法要安装软件,看着就头疼啊。我觉得现在我这个方法还算简单,只需要终端和浏览器,这两个软件每台电脑都有。

看了那么多教程,我觉得 OpenWrt 网站的资料写的最清晰易懂。可以先从这里入手,不行再看其他教程。不过我没测试过这里面的所有内容,我也不知道是不是都有效。另外,这个帖子提到了 AC2100 有内存坏块可能导致无法刷机。

参考资料


  1. 1 条网线从 LAN 口连接到电脑,另 1 条从 WAN 口连接到调制解调器(猫)。如果本来就有路由器的话,可以只用 1 条网线从 LAN 口连接到电脑,然后用无线中继的方式连接原有的 WI-FI。 ↩︎