Redmi AC2100 刷原版 OpenWRT
闲得无聊,给自己创造需求,把路由器的官方系统换成了 OpenWRT,再使用 WireGuard 给外网打通一条连回家的隧道。
过程也非常简单打算自己也记录一下,教程学自恩山论坛的一篇帖子。
准备事项
环境参考
Redmi AC2100 原来的固件版本是稳定版 2.0.23,使用的 openwrt 是官方原版的 23.05.3,breed 和 openwrt 两个都是使用适用于 XiaoMi 的固件版本。
用到的物品
网线两条(用于连路由器的 wan 和 lan 接口)
带网口可浏览器上网的机器(PC、笔记本……)
Redmi AC2100 路由器
用到的文件
- breed-mt7621-xiaomi-r3g.bin(该文件不用提前下载)
- openwrt-23.05.3-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-kernel1.bin(点击跳转下载页)
- openwrt-23.05.3-ramips-mt7621-xiaomi_redmi-router-ac2100-squashfs-rootfs0.bin(点击跳转下载页)
下载上面两个 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 这个后缀。
然后保存并应用即可。