一台路由器引发的血案

一。刷机

需求

U 盘一个

可以正常链接的网线一根

起因

因为我想用 openWRT，于是查了一下，刚好这台机器可以刷。我推荐你在https://openwrt.org/toh/start 这里找一下你的路由器型号。

而且最近这个网站 https://supes.top/?version=22.03&target=x86%2F64&id=generic 开始到处疯狂的宣传，但是据听说这作者有点问题，所以我还是推荐你到 openwrt.org 找一下。

小米 R3P 的链接：https://openwrt.org/toh/xiaomi/mi_router_3_pro

刷机开始

打开http://miwifi.com/miwifi_download.html ，点击下面的 ROM，然后找到你的路由器型号，选择开发版进行下载。

进入小米路由器后台，一般为 192.168.1.1 或者 192.168.31.1。然后常用设置 - 系统状态 里面进行升级，选择本地升级，然后选择你刚下载的文件。（这里如果有需求，你可以点击这个页面的备份按钮备份你的路由器 ROM）

然后需要绑定你的账号和小米路由器。之后点击打开 https://d.miwifi.com/rom/ssh ，会让你登录账号。登录之后根据型号下载 SSH 工具。

将下载的文件命名为miwifi_ssh.bin之后，放到一个格式为 FAT 或者 FAT32 的 U 盘内，然后插入路由器。

拔下路由器电源，按下路由器上的 reset 键，插入 U 盘，然后插入电源，等待路由器开始闪黄灯之后，松开 reset 键。

稍等之后，你就可以通过 ssh 工具访问路由器啦。如果这里你不懂，可以打开 windows 菜单，搜索 powershell，点开之后输入ssh root@192.168.31.1，然后回车，输入 yes，然后回车，然后输入上图里的密码，再回车……

将我们在https://openwrt.org/toh/start 下载的刷机包传到路由器内，可以打开一个新的 powershell 窗口，输入

Copy
scp C:\Users\Administrator\Downloads\xxxxx-factory.bin root@192.168.31.1:/tmp/

然后系统会提示你输入密码。输入之后回车即可。等待传输结束之后输入下面的代码：

Copy
cd /tmp/
nvram set flag_try_sys1_failed=1
nvram set flag_try_sys2_failed=0
nvram set flag_boot_success=0
nvram commit
mv xxxxxx你上传到路由器的文件名xxxxx-factory.bin factory.bin
dd if=factory.bin bs=1M count=4 | mtd write - kernel1
mtd erase rootfs0
mtd erase rootfs1
mtd erase overlay
dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0
reboot

等待路由器重启之后，进入 192.168.1.1 就可以到 openWRT 管理你的路由器啦。

二。变砖事故…

因为芯片和官方包不知道谁的问题。刷了这个包之后，路由器没有 5Ghz WIFI…

于是我找了个大佬的包，没有走上面的流程，直接在 openWRT 里通过升级进行刷机，然后变砖了…

三。刷回官方固件

TTL 刷回官方固件

这个路由器没有 breed，我也没有刷，所以智能通过 UBOOT 启动去操作官方刷机，真的是烦死小米的程序员了。现在的情况，就是需要拆机去刷，下面是具体步骤（不同路由器可能有不同的步骤，这里是我的小米路由器 PRO 型号 R3P）

购买 USB 转 TTL 转接头 和 N 条公对母杜邦线（至少 4 条，3 条用，1 条备用）

拆机，拆机的时候需要首先把左右的塑料板拆开，然后去掉下面的脚垫，里面有螺丝。然后从侧面把主板退出来。拆机视频：https://www.ixigua.com/6897570683249754637

链接电脑，USB 转 TTL，路由器，其中，对公线插入主板时，有条件可以用锡焊焊住，没有条件就用东西挡住，让金属头保持链接，且不会活动和短接即可。如图

其中需要注意的是，路由器和转接器的 RX 对 TX，TX 对 RX，GND 对 GND

打开你的设备管理器，找到芯片的端口，如图为 COM6

其中，SPEED 如果为 115200 乱码的话，可以尝试 117200 或者 117500

下载 PUTTY，如图所示输入

正式开始前，你还需要做一个步骤。打开http://miwifi.com/miwifi_download.html ，点击下面的 ROM，然后找到你的路由器型号，下载 ROM 之后，重命名为 miwifi.bin，放入到一个格式为 FAT 或者 FAT32 的 U 盘内。插到路由器上。然后你需要保持步骤 3 中的设备正常链接。

点击 OPEN 后，这时电脑会弹出一个命令窗口，然后出现下面的画面时

具体都是什么意思我就不多解释了。我们需要键盘输入数字 4，回车，即可。等待自动命令跳完，输入

Copy
setenv flag_try_sys1_failed 0
setenv flag_try_sys2_failed 1
setenv uart_en 1
saveenv
reset

后等待路由器自动启动

文章最初发布于我的 SSPAI，这里备份一下。其实还有一种 TFTP 的方法，有兴趣的可以点这里具体查看。 https://sspai.com/post/73982