Skip to Content
小米 R3G 搭配联通随享记录

创建于 2024-09-03
更新于 2025-06-20

刷 openwrt

刷入开发版 rom

https://www1.miwifi.com/miwifi_download.html  下载开发版固件
https://bigota.miwifi.com/xiaoqiang/rom/r3g/miwifi_r3g_firmware_12f97_2.25.124.bin 

格式化一个空的 fat32 的 u 盘, 保证 u 盘内只有这一个以 .bin 结尾的文件

按住 reset 键上电, 等待指示灯变黄色闪烁, 松开 reset 键, 等待几分钟后指示灯变, 刷开发版完成

配置完路由器后(可使用 wifi 中继先保证网络畅通), 下载小米 wifi APP绑定小米账号

https://d.miwifi.com/rom/ssh  下载 ssh 工具, 并获取路由器 ssh 密码, 保存备用

刷入 ssh 工具, 步骤同上, u 盘内必须只有 miwifi_ssh.bin 这一个以 .bin 结尾的文件, 这个包刷新较快, 等待路由器自动重启即可

刷入 breed

下载不死 boot
https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin 

使用 winscp (新版本 ssh 默认使用 sftp 协议, 该路由器较老, 不支持 sftp) 将 breed-mt7621-xiaomi-r3g.bin 复制到 tmp 目录下

使用如下配置的 ssh 连接

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-dss -o macs=hmac-sha1 root@192.168.31.1

随后刷入

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

等待 ssh 自动断开后, 查看路由器指示灯变粉(紫), 断电后按住 reset 键上电, 等待指示灯变黄色闪烁, 松开 reset

插入网线查看电脑获取到 192.168.1.x 的 ip 地址, 访问 192.168.1.1 进入 breed

刷入 openwrt

新版本 breed 可直接刷入 openwrt, 将内存布局改为 openwrt

https://openwrt.org/toh/xiaomi/mir3g  wiki 内下载 如下 3 个包

https://downloads.openwrt.org/releases/22.03.5/targets/ramips/mt7621/openwrt-22.03.5-ramips-mt7621-xiaomi_mi-router-3g-squashfs-kernel1.bin https://downloads.openwrt.org/releases/22.03.0/targets/ramips/mt7621/openwrt-22.03.0-ramips-mt7621-xiaomi_mi-router-3g-squashfs-rootfs0.bin https://downloads.openwrt.org/releases/24.10.0/targets/ramips/mt7621/openwrt-24.10.0-ramips-mt7621-xiaomi_mi-router-3g-squashfs-sysupgrade.bin

刷入 kernel1rootfs0 后, 等待自动重启, 这次重启较慢, 切勿断电, 等待路由器重启后指示灯变蓝, 查看电脑是否获取到 ip, 访问 192.168.1.1 进入 openwrt (新版本默认无密码, 旧版本默认为 password)

进入 openwrt 后在备份与升级-刷写新的固件(默认为英语, 搞刷机的这点词汇量都没有就别研究了), 刷入 sysupgrade, 等待重启即可完成 openwrt 的刷写

配置联通随享

首先为 openwrt 配置联网,可使用 wifi 中继: 网络-无线, 根据 wifi 类型选择对应的网卡模式, 分别为 2.4g 和 5g wifi, 扫描 wifi, 输入密码, 保存并应用 (此处均为默认配置, 输入密码下一步下一步即可)

回到网络-接口, 查看 wwan 是否获取到 ip, 完成联网

安装 rndis 驱动、usb 模式切换、usb 诊断及 curl (用于后续配置自动关闭 wifi)

ssh root@192.168.1.1 opkg update opkg install kmod-usb-net-rndis usb-modeswitch usbutils curl

踩坑

此处巨坑, 联通随享的中兴微方案, 插入后默认不为 rndis 模式, 经过多番查找

最终在 archwiki 上找到需要将设备配置为 1403 模式 (archwiki, 永远的神!)

https://wiki.archlinux.org/title/ZTE_MF_823_(Megafon_M100-3)_4G_Modem 

通过 lsusb 获取到 usb ID 为 19d2:0581

需要切换成 19d2:1403, 通过如下的 wiki, 将 16 进制转换为 10 进制, 修改得到如下配置

/etc/usb-mode.json
"19d2:0548": { "*": { "t_vendor": 6610, "t_product": [ 5123 ], "mode": "StandardEject", "msg": [ ] } },

此处的参考文档如下:

https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_rndis https://openwrt.org/docs/guide-user/network/wan/wwan/usb-modeswitching

将该配置添加到/etc/usb-mode.json 或参考 wiki 自定义配置文件

随后运行

usbmode -l

回显如下

Found device: 19d2:0548 (Manufacturer: "DEMO, Incorporated", Product: "DEMO Mobile Boardband", Serial: "1234567890ABCDEF")

然后重启路由器 ifconfig -a 即可出现新的网卡 eth1

修改 openwrt 的 wan 口设备为 eth1, 即可完成上网!

后续

这里提一嘴, openwrt 可以通过配置 hotplug 自动关闭联通随享自带的 wifi (可有效减少散热压力)
bash 脚本如下

/etc/hotplug.d/iface/95-sample-hotplug
#!/bin/sh if [ "$ACTION" = ifup -o "$INTERFACE" = eth1 ] ; then echo "usb insert" > /tmp/unicom.log sleep 15 curl 'http://10.168.1.1/reqproc/proc_post' -X POST --header 'content-type:application/json' -d "isTest=false&goformId=LOGIN&password=$url编码的base64编码后的密码" >> /tmp/unicom.log sleep 2 curl 'http://10.168.1.1/reqproc/proc_post' -X POST --header 'content-type:application/json' -d "goformId=SET_WIFI_INFO&isTest=false&wifiEnabled=0" >> /tmp/unicom.log fi
chmod a+x /etc/hotplug.d/iface/95-sample-hotplug

可通过 logread 及 dmesg 进行 debug

wan 口配置 dns 让路由器本身能正常上网
关闭 dnsmasq 的 dns 解析功能

uci set dhcp.@dnsmasq[0].localuse="0" uci set dhcp.@dnsmasq[0].port="0" uci commit dhcp

重启路由器

配置路由器下发 dns 配置
lan 口 dhcp-高级设置 下发 dns
6,223.5.5.5,119.29.29.29

安装中文语言包

opkg install luci-i18n-base-zh-cn luci-i18n-firewall-zh-cn

配置无缝更新

从页面上安装 luci-app-attendedsysupgrade

配置镜像站

opkg install ca-certificates sed -i 's_https\?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf