小米路由器3 目前是家里的子路由,中继模式扩展 WIFI 信号用。之前很想刷个 OpenWRT 固件,可那时候查阅资料发现这款路由器的存储芯片使用的是 NANO,还没有面向它制作的第三方固件。遂作罢,但秉着不折腾不舒服的精神,第一时间就把它的 ssh 给打开了。

昨天朋友发来小米路由器3刷潘多拉固件的教程,眼前一亮。细看发现需要用虚拟机,总之有些繁琐。主要是我不太喜欢这种黑箱操作,刷个固件而已,用虚拟机干什么?想不通。

既然匹配的固件已经放出来了,就说明可以刷。经过一番研究,在 openwrt 官方维基上找到了刷机指南,并不复杂,把过程复述如下供有缘人参考。

准备

所有需要的文件在这个 Mega 网盘 里面都有,但是也可以下载最新的版本。

开启 SSH

降级固件至 miwifi_r3_all_55ac7_2.11.20.bin

登录小米路由器,在地址栏拿到这台路由器的 stok=0a3ca27c3b327e9bxxxxxxxx

浏览器依次打开下列地址,将其中的 <STOK> 替换成上面实际取得的值。

 * http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router
  
  * http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqnetwork/set_wifi_ap?ssid=Xiaomi&encryption=NONE&enctype=NONE&channel=1%3Bnvram%20set%20ssh%5Fen%3D1%3B%20nvram%20commit
  
  * http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqnetwork/set_wifi_ap?ssid=Xiaomi&encryption=NONE&enctype=NONE&channel=1%3Bsed%20%2Di%20%22%3Ax%3AN%3As%2Fif%20%5C%5B%2E%2A%5C%3B%20then%5Cn%2E%2Areturn%200%5Cn%2E%2Afi%2F%23tb%2F%3Bb%20x%22%20%2Fetc%2Finit.d%2Fdropbear
  
  * http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqnetwork/set_wifi_ap?ssid=Xiaomi&encryption=NONE&enctype=NONE&channel=1%3B%2Fetc%2Finit.d%2Fdropbear%20start
  
  * http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/set_name_password?oldPwd=<OLD_PASSWORD>&newPwd=<NEW_PASSWORD>

<OLD_PASSWORD> 是路由器当前的登录密码

重新启用串口(需重启)

# nvram set uart_en=1
# nvram set flag_last_success=1
# nvram set boot_wait=on
# nvram commit

bootloader

下载 pb-boot-xiaomi3 打头的最新版本。https://downloads.pangubox.com/pb-boot/

Firmware

下载 PandoraBox-ralink-mt7620-xiaomi-r3 打头的最新版本。https://downloads.pangubox.com/pandorabox/19.01/targets/ralink/mt7620/

刷机

第一步 刷 bootloader

把 bootloader 传到路由器的 /tmp 目录:

$ scp pb-boot-xiaomi3-20190317-61b6d33.img root@192.168.1.4:/tmp

SSH 连接路由器,进入 /tmp 目录,开刷:

# cd /tmp
# mtd write pb-boot-xiaomi3-20180726-0d8505f.img Bootloader
# reboot

提示:以后刷新版 bootloader 也是这个过程

第二步 重置

路由器重启后断电,按住 reset 后通电,等待大概 1~2 秒钟,路由器上的黄色呼吸灯开始闪烁。松开 reset

第三步 刷潘多拉固件

这时候可能需要电脑和路由器直接用网线连接,访问 192.168.1.1 会显示 PandoraBox 固件生机页面,选择准备好的固件上传。

固件刷成功以后,访问 192.168.1.1,初始密码 admin

至此,小米路由器3刷潘多拉固件操作完成。

Reference