小米路由器3C刷入Breed和OpenWrt

发布时间 2023-04-01 12:24:32作者: Snoopy1866

本文链接:https://www.cnblogs.com/snoopy1866/p/17278237.html
准备工具:小米路由器3C(R3L)、网线、电脑
准备软件:Xshell
教程中使用到的文件均打包保存在:https://wwpe.lanzoub.com/ibnVl0rqr09a
教程参考了以下多位大佬的帖子:
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=161906&page=1#pid1011303
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=154561&page=1&authorid=200302
https://www.right.com.cn/forum/thread-6015436-1-1.html
https://www.right.com.cn/forum/thread-471113-1-1.html
https://www.right.com.cn/forum/thread-2527199-1-1.html
https://www.right.com.cn/forum/thread-4034584-1-1.html
https://www.right.com.cn/forum/thread-4067036-1-1.html
https://www.bilibili.com/read/cv21661961
https://doc.embedfire.com/openwrt/user_manal/zh/latest/User_Manual/openwrt/opkg.html
教程参考的OpenWrt官方文档链接:
https://openwrt.org/toh/xiaomi/mir3c
https://openwrt.org/toh/hwdata/xiaomi/xiaomi_miwifi_3c
https://openwrt.org/zh/releases/snapshot

下面正式进入教程:

1. 刷入官方开发版固件

浏览器输入192.168.31.1(小米路由器默认后台管理地址,如有更改输入修改后的IP即可),输入管理员密码,进入路由器后台管理界面,手动“升级”为官方开发版固件。

等待重启后,重新设置管理员密码。

2. 通过破解获取 telnet 权限

下载 R3GV2 patches,解压缩后,执行其中的 0.start_main.bat,按照提示输入路由器后台管理密码,当出现
start uploading config file...
run telnet+ftpd
Done
时表示已经成功获取telnet权限。

3. 刷入Breed

  • 打开Windows自带资源管理器,输入ftp://192.168.31.1,将breed.bin复制到路由器的/tmp目录下,这里不建议使用其他ftp软件,可能会出现无法显示文件目录的情况

  • 使用telnet软件(建议Xshell)连接路由器,提示输入用户名,输入 root 即可

  • 输入 cat /proc/mtd 查看分区信息

  • 输入 mtd write /tmp/breed.bin Bootloader,将 breed.bin 刷入到 Bootloader分区

  • 使用网线连接电脑和路由器的LAN口,长按路由器背后的reset键约5秒,打开浏览器,地址栏输入 192.168.1.1,进入 Breed Web 恢复控制台(请确保电脑本机IP处于192.168.1.x网段,如不是请自行修改本机IP)

4. 配置 HFS

  • 打开 HFS,点击 Menu → IP address,选择本机网卡的IP地址,设置监听 IP

  • 在软件左侧 Virtual File System 中,右键,选择 Add files...,将 OpenWrt 固件添加到监听列表

  • 点击地址栏右侧的 Copy to clipboard,复制文件地址

5. 刷入 OpenWrt 固件

  • 在 Breed 界面中,先备份 EEPROM,下载备份好的文件到本地

  • 再次使用 telnet 软件连接路由器,注意此时的IP地址要改为 192.168.1.1

  • 输入 wget url,注意将 url 替换为步骤4中复制的文件地址,回车。当出现进度条 [0%] 时,需要手动多次按enter键(貌似任意键都可以),将固件下载到路由器上。
    注意查看下载完成后路由器返回的信息,记下固件大小 0x5c0133 和固件保存位置 0x80000000 这两个信息,后续步骤会用到

  • 输入 falsh erase 0x140000 0x600000 擦除 flash原有数据。这里的 0x140000 表示 firmware 的地址,可以在 OpenWrt 官方的设备详情页面查看 openwrt.log 获取,0x600000 表示设定空间大小,这个空间大小必须大于固件大小 0x5c0133。

  • 输入 flash write 0x140000 0x80000000 0x600000 写入固件,这行命令的意思是在地址 0x140000 处将保存在 0x80000000 位置的固件写入到已分配好的空间 0x600000 中。

  • 输入 boot flash 0x140000 重启路由器,这行命令的意思是在 0x140000 处启动固件

  • 查看路由器指示灯,当指示灯由黄灯闪烁变为蓝灯时,浏览器地址栏输入 192.168.1.1,如果成功进入 openwrt 登录界面,代表固件已经成功刷入并启动了。此时先不着急配置网络,按住路由器的 reset 键,进入 breed

6. 设置环境变量

  • 在 Breed 界面中,启用环境变量功能,位置选择 Breed 内部,点击设置,然后重启路由器使设置生效
  • 再次进入 Breed 界面,编辑环境变量,增加字段 autoboot.command,值设为 boot flash 0x140000,表示从 0x140000 处启动固件,再次重启路由器

7. 重新写入固件

  • 通过浏览器输入 192.168.1.1 进入 OpenWrt 后台管理界面,初始会要求设置 root 密码。
  • 点击 System → Backup/Flash Firmware → Flash new firmware image,将刚刚刷入的 OpenWrt 再重新刷写一遍,然后点击 System → Reboot,重启路由器。这一步是为了将运行在 ram 中的固件真正地写入 rom 中,防止重启路由器后配置丢失。

8. 安装简体中文语言包

  • 重启后进入 OpenWrt,点击 System → Software → Update lists,等待大约半分钟,刷新软件包列表,然后搜索 luci-i18n-base-zh-cn 和 luci-i18n-opkg-zh-cn,安装简体中文语言包。

9. 注意事项

  • 必须准备一条网线,否则刷入breed后无法连接路由器后台
  • 不建议刷 snapshotes 版本,snapshpt 默认不包含 LuCI GUI,且安装软件包具有时间限制