首先将路由器降级为 2.11.20,百度网盘分享文件夹点进去就能看到路由器刷机资源了,包含2.11.20降级包 和 潘多拉固件,下面就是小米路由器3 潘多拉固件刷机教程,降级方法很简单,在小米路由器管理界面中选择系统升级,手动上传ROM包即可。

链接: https://pan.baidu.com/s/1slQurrOO4TujEcfAGTtA2Q提取码: z7dd

小米路由器降级.png

然后正常设置并登录路由器管理界面,注意地址栏路径的STOK,注意这个参数很重要,后面经常要用到,

当然现在也不用着急把它记下来,这个参数每次登录路由器的时候都会变,你只要记下来这次登录的stok就行了,

然后依次访问下面的URL,注意将替换为实际的字符串值,

OLD_PASSWORD 就是刚才设置路由器时候设置的密码,NEW_PASSWORD 随便设置,这几步操作涉及到字符串复制和替换,很有可能出错,大家在执行的时候一定要注意,

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>

前三条命令比较安全,顺利的话应该返回 {"msg":"未能连接到指定WiFi(Probe timeout)","code":1616},如果不是这个结果可以重来一遍,直到返回结果是这个为止,

其实如果学过计算机的应该可以看出来,这大概算是利用了旧版固件的漏洞,直接在地址栏上附带参数进行渗透攻击。最后一条命令应该返回的结果是 {"code":0},

这时候应该已经可以用 SSH 访问路由器了。然后需要一个可以 SSH 到 Linux 的软件,Windows 10 的 WSL、Git for Windows、MobaXterm 等软件都可以,

我这里用的是 MobaXterm。然后用下面的命令 SSH 到路由器里面。SSH密码就是刚刚最后一条 URL 的 NEW_PASSWORD,

ssh root@192.168.31.1

成功的话应该会显示出欢迎信息,并进入到了一个新终端,

登录SSH.png

成功进入到终端之后,依次输入下面的命令重新激活串口功能,最后用reboot命令重启路由器使之生效,建议一条一条复制。

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

刷入bootloader

上面的步骤做完了之后,就可以刷入潘多拉固件了,

固件下载地址百度网盘,下载并解压了潘多拉固件之后,在 SSH 软件中切进该目录,然后用 scp 命令将 BootLoader 复制到 /tmp 文件夹中,

scp pb-boot-xiaomi3-20181021-fd6329c.img root@192.168.31.1:/tmp

这里我改用了 WSL,不过不管用啥 SSH 道理都一样,大家注意终端里的相对路径就行了,然后再通过 SSH 登录到路由器上,

然后依次执行以下命令:

cd /tmp
mtd write pb-boot-xiaomi3-20181021-fd6329c.img Bootloader
reboot

其实说白了就是切进 /tmp 目录把刚刚上传的固件刷到 BootLoader 里面去,刚刚 scp上传 的是哪个文件,这里刷的就是哪个文件,最后一条命令重启路由器,等到路由器再次启动,离大功告成也就差不多了,

用 ls 命令可以发现 /tmp 里面东西还是挺多的,看一下固件上传成功没有,

查看是否上固件成功.png

刷入固件

上面的命令执行完之后,路由器会重启,等待4-5分钟左右。这时候路由器应该一直处于黄灯状态,

然后拔掉电源线来关闭路由器,找根曲别针插到路由器后面的RESET按钮上,不要松开,然后插上线重启路由器,路由器通电后等1-2秒钟在松开RESET,这时候路由器应该会处于黄灯闪烁的状态,

然后浏览器打开192.168.1.1,应该会看到潘多拉恢复模式,

刷入固件-1.png

这时候就很好办了,点击浏览文件,选择 PandoraBox Firmware 里面的固件(比如:*-sysupgrade.bin),然后点击恢复固件。

刷入固件-2.png

等待一段时间之后,就可以进入到路由器管理页面了,默认密码是admin,如此一来,潘多拉固件就成功刷入了!

刷入潘多拉固件成功.png

刷回原厂固件

如果你觉得潘多拉固件不好用,还可以刷回原厂固件,原厂固件相关文件在 Revert to Stock 文件夹中,

首先进入潘多拉恢复模式,然后选择 openwrt-ramips-mt7620-xiaomi_miwifi-r3-squashfs-pb-boot.bin 文件并上传,

浏览器中登录192.168.1.1,不需要密码直接登录,然后在里面设置密码并开启SSH,

用scp命令将必要的文件( Bootloader.bin 和 kernel0.bin )传到 /tmp 目录中,

在SSH中执行以下命令:

cd /tmp
mtd write Bootloader.bin Bootloader
mtd write kernel0.bin kernel0_rsvd
reboot

等路由器重启之后,再次进入SSH,输入以下命令:

fw_setenv flag_try_sys2_failed 1
reboot

重启之后,路由器应该会显示为红灯闪烁状态,说明进入了恢复模式。然后准备一个FAT32格式的U盘,将miwifi.bin固件放入,然后插到路由器上,

按住RESET按钮1-2秒,直到红灯闪烁变为黄灯闪烁,

等待4-5分钟,然后登录192.168.31.1设置路由器。