代码改变世界

xiaomi wifi 3 pro + openwrt

2026-09-27 15:45  蜡笔小旧  阅读(4)  评论(0)    收藏  举报

今天尝试了下老的小米路由器pro安装openwrt, 之前一直久仰OpenWRT大名(从闭源项目偷偷使用Linux被发现,然后被开源社区告,最后开源)。

我的路由器是R3P,当初买的时候是联发科的芯片,当初我记得有高通还是博通的芯片贵几百块。 我这个也花了499,感觉还是有点小贵。 买了新的AX6000之后这个路由器就一直吃灰了。

后面看到网上有人刷openwrt,趁着放假就试了一下。但是网上的配方各种, 我看着就头大了,然后还有各种刷成砖的。我先是分两步, 第一步:支持ssh, 第二部刷openwrt。

第一步:支持ssh。

这一步据说有两种办法:

1. 找一个脚本,有管理密码就可以,可能是利用了什么漏洞api。

2.官方支持的, 先找到开发版固件miwifi_r3p_firmware_daddf_2.13.65.bin, 在后台系统上传, 然后重启。 重启后用小米wifi app连接,  绑定小米id, 然后访问https://d.miwifi.com/rom/ssh, 会给你ssh root密码。

把miwifi_ssh.bin拷贝到U盘根目录,然后用针reset不动, 插拔电源,黄灯闪烁后就松开。等重启后就可以ssh root@192.168.31.1, 这里有个问题ssh一直报错,看上去是交换加密算法太老了有问题,然后gpt了下

Host midwifi-r3p
    HostName 192.168.31.1
    User root
    KexAlgorithms +diffie-hellman-group14-sha1
    HostKeyAlgorithms +ssh-rsa

配置了下后, Windows还是连不连, 发现Mac可以, 后面就用Mac了。

 

第二部:装openwrt

先备份老的: 

 dd if=/dev/mtd0 of=/extdisks/sda1/r3p-mtd0-all.bin

然后下载, 这里有很多地方可以下, 很多帖子用的是github的, 我这里还是用gpt推荐的官方release, 虽然还是搞不清有什么区别, 据说有更适合中国宝宝的immortalwrt, 我还是先用下纯净版的吧

https://downloads.openwrt.org/releases/25.12.4/targets/ramips/mt7621/?utm_source=chatgpt.com

然后放到U盘里面

# 设置小米启动标志
nvram set flag_try_sys1_failed=1
nvram set flag_try_sys2_failed=0
nvram set flag_boot_success=0
nvram commit

# factory 镜像的前 4 MiB 是 kernel
dd if=factory.bin bs=1M count=4 | mtd write - kernel1

# 清理旧 rootfs
mtd erase rootfs0
mtd erase rootfs1
mtd erase overlay

# 跳过前 4 MiB,把剩余部分写入 rootfs0:

dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0

然后root, 访问地址是192.168.1.1。 有一点没搞懂的是kernel1+rootfs0

原厂 Xiaomi MiWiFi
        │
        │ factory.bin
        ▼
┌──────────────────────────────┐
│ kernel1  ← factory 前 4 MiB │
│                              │
│ rootfs0  ← factory 后 6 MiB │
│                              │
│ rootfs1  ← 清空              │
│ overlay  ← 清空              │
│                              │
│ Bootloader ← 保留            │
│ Factory    ← 保留            │
└──────────────────────────────┘
        │
        ▼
     reboot
        │
        ▼
 OpenWrt 25.12.4