小米路由R3G Breed 刷Padavan/openWRT固件

小米R3G这款路由器,采用MT7621A处理器,256M RAM,128M ROM,全千兆网口,且价格便宜(60CNY左右),是一款十分值得折腾的路由器,推荐想要折腾路由器的新手入手。

本文介绍使用UART串口向小米路由R3G刷入Breed的详细操作流程, 通过此方式,可以绕过小米官方对系统固件的限制(例如不开放SSH,无法申请到解锁码、当前软件版本为某某定制版等)。

1, .前期准备,下载 所有需要下载的文件如下

https://pan.baidu.com/s/1syLZvEWLnWIqsJORL7dRhg?pwd=aovi 提取码:aovi

  下载Padavan固件 

padavan (cn2qq.com)

2,使用UART向小米路由R3G刷入Breed

breed是一款嵌入式设备的bootloader,刷过openwrt系统的应该都知道。刷好breed的路由器可以自由的切换固件,也不用担心固件不兼容导致设备变砖,称之为不死uboot。breed已经支持各种芯片的设备,比如ar9331、mt7620、mt7621、qca9558、qca9563等,而我们刷的最多的路由器就是k2p、newifi3、小米/红米ac2100、小米r3g、小米r4a等。 

如果只是使用 OpenWrt, Breed 起到的作用不大, 因为不能直接用Breed写入OpenWrt的官方固件(分两个文件, kernel和rootfs), 但是Breed最好还是要有, 至少在刷固件出问题后, 还能不拆机换成其他带ssh的固件救砖.

breed当前版本的日期是 2021-12-16. 这个版本有专为R3G准备的"小米R3G设置", “环境变量编辑”, "小米 R3G Bdata"配置界面,  文件名:breed-mt7621-xiaomi-r3g.bin

(1)准备工作, 开始前,需要准备以下软件和硬件:

  • 小米路由器R3Gv1一台

  • USB转TTL串口线一根(或者有类似功能的设备也可)

  • RJ45网线一根

  • 适用于该路由器的Breed.bin

  • 适用于该路由器的Openwrt固件

  • Putty

  • Tftpd

 (2)硬件链接:

电脑USB -> USB-to-uart  -> 路由器UART

电脑网口 -> 网线 -> 路由器lan口

(3) 刷入Breed

打开Putty,选择串口连接,填写端口号,速率115200,然后连接

将路由器插电,开机,此时会在PuTTY窗口中看到如下输出

 

 看到Please choose the operation:的提示时,按下4,进入命令行界面

 

 然后依次输入以下指令,这是为了防止路由器ROM将UART端口设置为不接受输入状态

 接下来重启路由器,在Please choose the operation:的提示时选9,并输入Y确认

 此时,打开电脑的网卡配置,按照如下设置手动指定IP地址

 

 启动Tftpd,设置FTP服务器工作路径为breed所在位置,IP为上方网卡指定的IP

此时,在PuTTY界面写入刚才写好的客户端(路由器)IP,服务器(电脑)IP,breed文件名

 

 按下回车,会自动刷入breed,会提示刷入成功,并自动引导进入breed

断开路由器电源,按住reset键,在重新插上电源,直到发现网口灯全部同时闪烁位置,大约5-10s左右,搜开reset键。在浏览器界面输入192.168.1.1进入breed后台

(4)breed后台配置

在小米R3G设置中,删除normal_firmware_md5键值,点击最下面的保存按钮。 原因:刷新刷的固件 md5 值与原来的不一致会导致无法开机

 

环境变量 xiaomi.r3g.bootfw
如果写入 Breed 到 bootloader, 这个参数是必须的. Breed的启动流程如下:

        如果 kernel0 存在, 那么启动 kernel0
        如果 kernel0 不存在, kernel1 存在, 那么启动 kernel1
        如果 kernel0 和 kernel1 都存在, 则检查环境变量 xiaomi.r3g.bootfw 的值, 如果存在且值为2,         那么启动 kernel1, 否则启动 kernel0
        如果通过mtd写入了OpenWrt 到Kernel1, 但是不写这个环境变量, Breed就会从kernel0启动, 无法进入系统, 然后重启, 再次从kernel0启动, 这样一直循环下去.

在环境变量编辑中,添加一个环境变量,变量名为xiaomi.r3g.bootfw,值为2,点击保存。

 (5)breed刷入Padavan路由器固件 

对于单文件的第三方固件(比如Padavan ,小米官方的固件等), 可以和以往的固件一样, 启动到 Breed 界面下, 在界面中直接上传刷入.

通过控制台上传Padavan路由器固件( 上传确认以后会自动刷入并重启 ) 

等待几分钟后将网线插回LAN口上 获取电脑适配器会获取192.168.123.x网段的ip

或者打开无线网查看有名为PDCN的WIFI密码:1234567890

在浏览器中输入 192.168.123.1 即可进入管理面板

默认账号:admin

默认密码:admin 

Padavan系统中,需要手动开启SSH,然后才能用putty等工具登录,具体操作步骤如下:

按照上面的步骤操作完成后,点击最下面的应用本页面设置保存设置;

然后运行Putty工具,在登录IP栏填写登录IP,默认的是192.168.123.1,如果你修改了登录IP,就填写你改了之后的登录IP;端口 22;登录类型:SSH;填写并选好所需要的参数后,点击OPEN登录;

 

 默认用户和密码都是admin

 (6)breed刷openWRT 固件

我们要通过breed刷openwrt固件首先必须要知道openwrt各种镜像的用途,一般一个型号的设备包含多个openwrt镜像,比如kernel镜像、upgrade镜像等, 包含四个文件 :

Index of /releases/19.07.7/targets/ramips/mt7621/ (openwrt.org)

 这里来讲这四种镜像在实际刷机过程中的使用方法

(a)initramfs-kernel镜像具有最少文件系统的Linux内核,包含只读文件系统,也就是说升级该镜像后,配置是不能保存的。一般在breed下先升级该镜像,作为中间固件,然后再升级sysupgrade镜像。因为大部分小米路由器在breed下不能直接升级sysupgrade镜像,需要先升级kernel镜像。

initramfs是放在内存RAM中的rootfs 映像文件,跟kernel放在一起。一般来说用不到initramfs-kernel.bin来刷机,因为启动后,所有的配置在路由器重启后都不能保留(毕竟ram文件系统,所有文件放在ram中,断电就没了)。但也有用到initramfs-kernel.bin的时候,就是在移植openwrt系统的时候,没有设备上的flash闪存的驱动的时候。

(b)kernel1镜像 linux内核单独镜像,在首次刷机会用到,一般通过mtd命令写入。

(c)rootfs0镜像 文件系统镜像,包含linux系统的配置文件、进程等,在首次刷机会用到,一般通过mtd命令写入。

(d)sysupgrade镜像 系统升级固件,也是最常用的镜像,用于通过web页面升级,sysupgrade镜像是包含了linux内核和文件系统的。 如果出现sysupgrade镜像格式不对,但是型号确实没问题,这可能是openwrt新旧版本的问题,这时候就需要通过breed升级。 

具体操作如下:

(I)分别下载这两个文件
初始化固件:xiaomi_mir3g-initramfs-kernel.bin
升级包固件:xiaomi_mir3g-squashfs-sysupgrade.bin

(II)进入Breed,添加“环境变量” xiaomi.r3g.bootfw ,值为 2,保存

(III)从breed界面,先选择件布局:小米路由器3G固件2(对应kernel1分区)。然后“固件更新”-“Bootloader”处选择OpenWrt底包文件(xiaomi_mir3g-initramfs-kernel.bin)直接上传并更新确认。

该步骤是将initramfs初始化固件刷入R3G的kernel1分区,当breed重启后会检查环境变量 xiaomi.r3g.bootfw 如果存在且值为 2,启动kernel1分区

(V)刷入底包之后,路由器会自动重启, 等蓝灯常亮后 浏览器 输入 10.0.0.1 进入OpenWrt底包后台。点击备份/升级, 点击刷写固件,选择OpenWRT的sysupgrade固件(目前最新的为xiaomi_mir3g-squashfs-sysupgrade.bin)

(VI)等待路由器自动重启完成,蓝灯常亮后,会自动跳转到后台登录界面, 或手动输入后台地址  10.0.0.1,登录后台, 默认密码 root ,完成!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值