Redmi AC2100 刷原版 OpenWRT

闲得无聊,给自己创造需求,把路由器的官方系统换成了 OpenWRT,再使用 WireGuard 给外网打通一条连回家的隧道。

过程也非常简单打算自己也记录一下,教程学自恩山论坛的一篇帖子

准备事项

环境参考

Redmi AC2100 原来的固件版本是稳定版 2.0.23,使用的 openwrt 是官方原版的 23.05.3,breed 和 openwrt 两个都是使用适用于 XiaoMi 的固件版本。

用到的物品

用到的文件

下载上面两个 openwrt bin 文件

如果有需要,可以在 PowerShell 中使用以下命令检验文件完整性。

Get-FileHash 文件名 | Format-List

通过命令输出的文件 Hash 值,对比 openwrt 下载页给出的 sha256sum 是否一致来判断完整性。

第一步 :开启路由器 SSH 功能

首先登录路由器管理页面,在地址栏中找到并复制 stok 值。

http://192.168.31.1/cgi-bin/luci/;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

接下来修改 root 用户的密码为 admin

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} 则代表成功。

第二步:刷入 Breed 固件

(此过程需要联网,无需 cd 到其他目录)

使用 SSH 终端工具或者 CMD ssh root@192.168.31.1 登录到路由器 SSH,进入 SSH 界面后执行以下命令。

curl -o /tmp/breed.bin -O https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin -k

通过 mtd 命令刷写进 Bootloader。

mtd -r write /tmp/breed.bin Bootloader

以上两条命令执行成功后,路由器断电,拔开 wan 接口的网线,避免 breed 固件的默认 IP 与光猫的 IP 冲突。

接上电源长按大概 5 秒的 reset 按钮直到指示灯快速闪烁即可。

用网线连接带网口可浏览器上网的机器到路由器的 lan 接口,等待机器获取到 IP 后,浏览器进入 192.168.1.1 管理页面。

在环境变量编辑中添加字段为 xiaomi.r3g.bootfw 值为 2(这一步要设置环境变量,否则无法启动 openwrt )

第三步:刷入 openwrt

在 Breed 管理页面的固件更新中,闪存布局选 openwrt,上传对应的两个 kernel1 和 rootfs0 文件。

勾上自动重启,开始刷入即可。

其余:基本使用设置

修改 lan 接口的 IP

上方菜单,Network,Interfaces,点击 lan 接口的 Edit,在 IPv4 address 中修改即可,保存然后 Save & Apply 即可,此时可以连回 wan 接口联网了。

更换软件镜像源

上方菜单,System,Software,右边 Configure opkg,把以下内容替换到 /etc/opkg/distfeeds.conf 然后保存。

src/gz openwrt_core https://mirrors.aliyun.com/openwrt/releases/23.05.3/targets/ramips/mt7621/packages
src/gz openwrt_base https://mirrors.aliyun.com/openwrt/releases/23.05.3/packages/mipsel_24kc/base
src/gz openwrt_luci https://mirrors.aliyun.com/openwrt/releases/23.05.3/packages/mipsel_24kc/luci
src/gz openwrt_routing https://mirrors.aliyun.com/openwrt/releases/23.05.3/packages/mipsel_24kc/routing
src/gz openwrt_packages https://mirrors.aliyun.com/openwrt/releases/23.05.3/packages/mipsel_24kc/packages
src/gz openwrt_telephony https://mirrors.aliyun.com/openwrt/releases/23.05.3/packages/mipsel_24kc/telephony

点击 Update lists 更新软件包。

安装中文包

在 Filter 输入 luci-i18n-base-zh-cn,点击 Install 即可。

设置无线网络

上方菜单,网络,无线,此时我们可以看到无线概况里有四个项目,标有 radio0 MediaTek MT7603E 802.11b/g/n 以下的项目是默认的 2.4G 无线网,而标有 radio1 MediaTek MT7615E 802.11ac/n 以下的项目是默认的 5G 无线网。

如果只看见 radio0 ……radio1 …… 没看见其他项目的话,我们可以点击添加进行手动增加无线网络,具体配置的内容可参考下面表格:(没有提到的配置则保持默认)

无线配置 内容
工作频率 模式 N (参考)
信道 视情况而定,与 5G 信道分开即可
通道宽带 40MHz
最大传输功率 20dBm(100mW)
常规设置 模式 接入点 AP
ESSID 无线网络的名称,自定
网络 选择 lan 接口
无线安全 加密 WPA2-PSK(强安全性)
算法 自动
密钥 无线网络的密码,自定

上面的表是 2.4G 无线网的配置,而 5G 无线网配置差不多,不同的地方是工作频率模式改为 AC,信道与 2.4G 不同即可,通道宽带改为 80MHz 或 160 MHz,ESSID 的话我是在 2.4G 的基础上加了 -5G 这个后缀。

然后保存并应用即可。