小米路由器刷入openWRT

Jul 20, 2024

写在前面

本文仅记录小米路由器 4A 千兆版(R4A)的刷机过程,用于参考作用。

教程来自从 0 开始刷小米路由器 4a 千兆版 | 猪猪博客

准备工作

开始

一、ssh 连接

使用 powershell 解锁 ssh

输入下面的命令

.\python.exe .\remote_command_execution_vulnerability_v2.py

如果显示了telnetsshftp的信息就说明服务启动成功了,如果不成功可以多尝试几次。

1

使用 ssh 工具连接路由器

我这里使用的是 xshell,主机为192.168.31.1,用户名和密码都是root

2

二、备份原厂固件

登录进去后执行下面的命令,命令会将原厂固件保存到/tmp目录。

cat /proc/mtd&&dd if=/dev/mtd0 of=/tmp/all_backup.bin

这个时候我们需要使用 ftp 工具取出固件。

我本来想使用 winSCP,但是不知道什么原因连接上了但是显示不出文件,所以直接用资源管理器了。

all_backup.bin文件复制出来,这个就是刚刚保存的原厂固件。

注意!这里要使用右键菜单中的复制到文件夹

3

检查文件的大小,正常情况下应该是 16M,如果非常小就说明前面的步骤可能出问题了,建议删除路由器中的all_backup.bin重新执行命令再将文件复制出来。

4

三、刷入不死鸟 breed

使用资源管理器进入/tmp目录,将breed.bin复制到/tmp目录下。

5

在 shell 中检查breed.bin的 MD5,对比 MD5 值24e62762809c15ba3872e610a37451a3如果 MD5 值不同,请重新上传。

6

确认原厂固件all_backup.bin备份完成以及breed.bin上传完成后,执行以下命令刷入 breed。

mtd write /tmp/breed.bin Bootloader

这一步可能会断网,我做的时候没有断,这都是正常的。

将连接电脑的网线从 LAN 口插到 WAN 口,绿圈的是 WAN 口,红圈是 LAN 口。

7

在浏览器输入192.168.1.1进入 breed 后台。如果无法进入,将路由器断电,按住复位键,路由器通电,等待 5~10s 松开复位键,再在路由器输入192.168.1.1,进入速度可能会有些慢,多等一会。如果长时间无法进入,可能是前面的步骤出错,检查一些自己的操作。

四、刷入 openWRT

在刷入 openWRT 固件前在固件备份中备份编程器固件以及EEPROM

8

打开固件更新选择你的openwrt.bin固件,或者开头我提供的R4AG v2固件,又或者是你自己的固件。在EEPROM选择刚刚备份下来的eeprom.bin,点击刷入会跳转到一个确认页面,在这里点击上传,读条完成后路由器会自动重启。将网线从 WAN 口插回 LAN 口,在路由器输入193.168.31.1就能进入openWRT了(这里进入时间可能会比较慢,建议多等一两分钟)。默认的用户名密码是root/password,如果不对自行询问固件作者。

(选择固件的截图忘记截了)

9

10