在这里插入图片描述

1,确保小米路由器4 为原版固件。

2,网线插LAN口,此时默认网关192.168.31.1
登录小米后台,设置路由器为路由模式,而非中继模式

3,运行 0 - patches_telnet\0.start_main.bat
输入小米后台管理密码,等待telnet+tftp开通,看到Done字样。即表示
开通成功。
如果开通没有成功,检查路由器的WAN口的网络是否有问题。连不上github
是开通不了的。

4,运行 1 - httpserver\httpserver.bat 打开本地http服务器。后续需要的资源
都在Res文件夹中。

5,运行 2 - putty(中文版)\putty.exe
选择telnet方式连接路由器地址192.168.31.1
用户名root
无密码或者是password

执行:
cd /data/usr
wget http://当前电脑的IP:8081/Res/r3g.bin&&nvram set uart_en=1&&nvram set bootdelay=5&&nvram set flag_try_sys1_failed=1&&nvram commit

mtd -r write r3g.bin Bootloader(执行会立即重启路由器。所以先顶住reset按钮,再回车)

6,观察指示灯,变蓝 闪烁证明进入了breed,松开reset
a 备份eeprom,等固件到本地
b 设置环境变量 xiaomi.r3g.bootfw 为 2
c 写入固件(不是编程器固件) \1 - httpserver\Res\openwrt-21.02.1-ramips-mt7621-xiaomi_mi-router-4-initramfs-kernel.bin

7,重启进入openwrt
选择菜单 =》 系统 =》 备份/升级 =》 选择 \1 - httpserver\Res\openwrt-21.02.1-ramips-mt7621-xiaomi_mi-router-4-squashfs-sysupgrade.bin
去掉方块中的对号

8,在breed控制台,手动执行以下命令重刷 kernel.bin
(感谢评论区朋友的建议。这里进breed的方法再赘述一下,方法:断电,顶住Reset通电,5秒后放开进入breed)
运行 2 - putty(中文版)\putty.exe
选择telnet方式连接路由器地址192.168.1.1
用户名root
密码无

执行:
wget http://当前电脑的IP:8081/Res/openwrt-21.02.1-ramips-mt7621-xiaomi_mi-router-4-squashfs-kernel1.bin

flash erase 0x200000 0x400000

flash erase 0x600000 0x400000

flash write 0x200000 0x80001000 0x400000

flash write 0x600000 0x80001000 0x400000

autoboot (自动重启)

9,安装中文界面luci
路由器正常启动进入openwrt后,此时确保WAN口可以正常连接外网
运行 2 - putty(中文版)\putty.exe

执行:
opkg update
opkg install luci
opkg install luci-i18n-base-zh-cn
reboot

10,设置LAN口网关IP:192.168.31.1
注意默认网关是192.168.1.1这个是和移动网关重复的,所以必须修改。


关于路由器刷机文件的说明:

--------------------------------------【1】-----------------------------------------
在下载openwrt系统时,经常能看到
initramfs-kernel.bin,
squashfs-factory.bin,
squashfs-sysupgrade.bin
等结尾的文件。

factory适用于从原厂系统刷到openwrt,
sysupgrade则是从openwrt刷到openwrt(已经是openwrt系统,在openwrt系统中更新自己),
squashfs则是一种文件系统,适用于嵌入式设备。
initramfs是放在内存RAM中的rootfs 映像文件,跟kernel放在一起。
一般来说用不到initramfs-kernel.bin来刷机,因为启动后,所有的配置在路由器重启后都不能保留
(毕竟ram文件系统,所有文件放在ram中,断电就没了)。
但也有用到initramfs-kernel.bin的时候,就是在移植openwrt系统的时候,设备上没有flash闪存的时候。

简单来说:
256k(u-boot)
64k(u-uoot-env)
属于启动区文件,类似电脑的BIOS作用

1024k(kernel)
6528k(rootfs)
属于是固件的核心文件和固件的功能性文件,类似电脑的操作系统

256k(cfg)
这个是路由器的配置文件

64k(eeprom)
这个是路由器一些硬件参数类文件,比如无线的调试参数,MAC地址等等,每个路由器都有属于自己的eeprom文件。
备注:当无线不稳定的时候有必要刷回原厂备份的eeprom。

--------------------------------------【2】-----------------------------------------
固件下载的地址:
https://downloads.openwrt.org/releases/21.02.1/targets/ramips/mt7621/

--------------------------------------【3】-----------------------------------------
本次刷机的主要重点问题:

	小米r3g和小米4, 有两个kernel分区, openwrt里定义为 kernel_stock 和kernel

	分别从 0x200000 和0x600000 开始,大小都为0x400000

	breed可以在环境变量设置 xiaomi.r3g.bootfw

	为1 则启动 位于 0x200000 的 kernel_stock

	为2 则启动位于 0x600000 的 kernel

	那么如果要从breed刷openwrt,

	则首先启动到breed,在刷固件界面,刷入initramfs-kernel.bin

参考:
小米路由器4刷breed, pandavan,openwrt
https://zhuanlan.zhihu.com/p/56317023

--------------------------------------【4】-----------------------------------------
刷过Breed之后无法用小米救砖修复的处理办法:
a 在Breed界面选择 Bootloader 固件选择:
4 - 官方原版2.26.175 恢复救急用\官方Bootloader救刷了r3g用\Bootloader.bin
b 断电重启之后,再连接网线 按照官方救砖办法即可恢复
--------------------------------------【5】-----------------------------------------
所有内容打包地址:
链接:https://pan.baidu.com/s/1xLZ923FwIeTCjptkXFwpaw
提取码:flkj

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐