红米/小米AC2100刷入r3g breed以及恢复官方boot详细教程(更新查坏块方法、pb-boot)

https://www.right.com.cn/forum/thread-4023907-1-1.html

前言

1、首先说明,如果你现在用的是openwrt固件,boot分区可能有锁,建议更新最新源码编译的openwrt(新源码编译的openwrt已解除boot分区锁)。 2、如果还没刷机(用的官方固件),可以在本帖步骤“二、刷入r3gbreed”开头查坏块。如果你已经刷过机,查坏块方法详见本帖“三、刷入breed后续"。 3、lintel的专用pb-boot已出,刷入方法在“pb-boot-rm2100-Readme.txt”中。lintel的pb-boot链接http://downloads.pangubox.com:6380/lintel/Redmi_AC2100/

说明
文件说明:
pb-boot.img  用于系统里面刷入的pb-boot.
pb-boot.ecc  用于编程器写入救砖的pb-boot

RM2100 pb-boot刷入方法:

一、详情参考原贴通过漏洞打开路由telnet
原贴地址 https://www.right.com.cn/forum/thread-4023907-1-1.html

二、刷入pb-boot
【从原厂固件】
1、Win+R ,输入cmd回车打开命令行,
telnet 192.168.31.1
cd /tmp

2、不想备份的跳过此步
想要备份路由原厂分区的,可以先在电脑以管理员权限运行/rm2100中的 ftpdmin.exe,之后回到telnet命令行
例如:想备份mtd1分区,就在命令行输入
./busybox nanddump -f mtd1.bak /dev/mtd1
./busybox ftpput 192.168.31.177 mtd1.bak ./mtd1.bak
备存文件存在你rm2100文件所在的硬盘根目录。不想备份也可以,我给的文件中有mtd1和eeprom的备份。

3、注意此时“Task_文件服务器”进程是否还在运行,没运行的再执行一下/rm2100中的httpserver.bat
然后执行
wget http://192.168.31.177:8081/pb-boot.img&&nvram set uart_en=1&&nvram set bootdelay=5&&nvram set flag_try_sys1_failed=1&&nvram commit
mtd -r write pb-boot.img Bootloader

【从padavan/OpenWrt】
1、用winscp将pb-boot.img 传入padavan的/tmp文件夹,

2、用xshell、putty或telnet命令行登录padavan,执行
cd /tmp

3、不想备份的跳过此步
cat /proc/mtd
cat /dev/mtdblock0 > /tmp/mtd0.bak
用winscp将/tmp/mtd0.bak文件传回电脑。

4、刷写pb-boot:
mtd_write -r write pb-boot.img Bootloader

三、刷完pb-boot后续
1、将电脑改为自动获取ip,等待路由器重启(当电脑获取到ip或者路由只有一个蓝灯亮时,pb-boot引导官方固件成功)。

2、建议等待5分钟后拔电,用牙签按住reset键再插电,等蓝灯闪烁,松开reset键,电脑网线接lan,浏览器访问192.168.1.1即可进入pb-boot web界面。

目前已知红米路由闪存有东芝和ESMT两种,刷入pb-boot均正常。

注意:保险起见,暂时不要通过pb-boot"固件更新"功能直接刷回官方boot,
官方的u-boot有毒!!!刷错锁了串口即使能开机也只能编程器!!!

一、通过漏洞打开路由telnet

1:在开始菜单-设置-程序-程序和功能-启用和关闭Windows功能 勾选telnet client(或telnet 客户端) 2:从“控制面板\网络和 Internet\网络连接”把你的所有不相关的网络接口都禁掉,包括虚拟机接口,修改连接路由器的网口地址为192.168.31.177,子网掩码255.255.255.0,默认网关192.168.31.1。 3:关闭所有杀毒软件,关闭防火墙,解压好刷机工具中的breed教程完整版.zip, 打开/rm2100文件夹,先安装文件夹里的WinPcap_4_1_3.exe或者npcap-0.9991.exe, 之后打开 开启telnet命令.txt一键开启telnet.bat(不用管理员运行) 提前复制好开启telnet命令.txt里面的内容 4:进入路由器,确保路由地址为192.168.31.1,修改好pppoe的账号密码。 账号:123 密码:123 把你的路由器按照如下连接 5:执行一键开启telnet.bat,按提示操作,直到反弹shell窗口显示收到数据。 6:把前面复制的

cd /tmp&&wget http://192.168.31.177:8081/busybox&&chmod a+x ./busybox&&./busybox telnetd -l /bin/sh

粘贴到反弹shell窗口(右键为粘贴),回车运行 至此,路由器telnet功能成功开启 卡反弹shell等问题大概率是电脑系统、防火墙、杀毒软件造成的,如果开telnet你这一步没有成功,就彻底关掉电脑防火墙和杀毒软件(系统建议用win10正版最新), 然后删掉之前文件,关闭所有进程重新解压breed教程完整版.zip再从头走一遍。

注意:路由telnet开启成功后记得把WAN-LAN之间的网线(上面接线图棕色线)拔掉,否则刷入breed后易造成网络风暴。

二、刷入r3gbreed

【从原厂固件】

Win+R ,输入cmd回车打开命令行(也可以用puttyxshell),

telnet 192.168.31.1
cd /tmp

查看坏块的命令是(分析见下文)

dmesg | grep NAND
dmesg | grep '[B|b]ad.*block'
dmesg | grep eraseblock

查看路由当前分区的命令是

cat /proc/mtd

想要备份路由原厂分区的,可以先在电脑以管理员权限运行/rm2100中的 ftpdmin.exe,之后回到telnet命令行 例如:想备份mtd1分区,就在命令行输入

./busybox nanddump -f mtd1.bak /dev/mtd1
./busybox ftpput 192.168.31.177 mtd1.bak ./mtd1.bak

备存文件存在你rm2100文件所在的硬盘根目录。不想备份也可以,我给的文件中有mtd1和eeprom的备份。 (注意此时“Task_文件服务器”进程是否还在运行,没运行的再执行一下/rm2100中的httpserver.bat)备份之后,执行

wget http://192.168.31.177:8081/breed-mt7621-xiaomi-r3g.bin&&nvram set uart_en=1&&nvram set bootdelay=5&&nvram set flag_try_sys1_failed=1&&nvram commit
mtd -r write breed-mt7621-xiaomi-r3g.bin Bootloader

将电脑改为自动获取ip,等待路由器重启(当电脑获取到ip或者路由只有一个蓝灯亮时,breed引导官方固件成功)。 建议等待5分钟后拔电,用牙签按住reset键再插电,等蓝灯闪烁,松开reset键,浏览器访问192.168.1.1即可进入breedweb界面。 首次进入breed记得先备份下编程器固件和eeprom。 至此,路由器成功刷入breed

【从padavan】

winscpbreed-mt7621-xiaomi-r3g.bin 传入padavan的/tmp文件夹, (winscp 就是路由器的可视化文件管理器,跟ftp的用法一样,填好路由ip地址,账号密码就登进去了,然后打开/tmp,把breed文件从电脑拖进去) 用xshell、putty或telnet命令行登录padavan,执行

cd /tmp

备份:

cat /proc/mtd
cat /dev/mtdblock0 > /tmp/mtd0.bak

用winscp将/tmp/mtd0.bak文件传回电脑。

刷写breed:

mtd_write -r write breed-mt7621-xiaomi-r3g.bin Bootloader

将电脑改为自动获取ip,等待路由器重启(当电脑获取到ip或者路由只有一个蓝灯亮时,breed引导padavan固件成功)。 建议等待5分钟后拔电,用牙签按住reset键再插电,等蓝灯闪烁,松开reset键,浏览器访问192.168.1.1即可进入breedweb界面。 首次进入breed记得先备份下编程器固件和eeprom。 至此,路由器成功刷入breed。

三、刷入breed后续

如果你刷完后进了小米官方的系统或者进不了系统,可以尝试进入breed后增加环境变量 xiaomi.r3g.bootfw,值为2 。 参考 https://www.right.com.cn/forum/thread-4023403-1-2.html。 对breed操作不太明白的可以看hackpascal大佬的原贴 https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=161906 。 推荐一下chongshengB大佬的padavan固件 https://github.com/chongshengB/rt-n56u/releases

刷入openwrt有问题的可以参考 https://www.right.com.cn/forum/thread-4025861-1-1.html 。 集客0512版本可从breed直接刷入,参考 https://www.right.com.cn/forum/thread-4021056-1-1.html 。 0511最新消息,部分红米路由从breed刷入padavan会卡33%校验失败,经过我的研究,有这种情况的路由闪存不太寻常。 确认闪存坏块分为两步 第一步,翻路由的系统日志或内核日志,一般坏块信息在路由刚启动时的日志附近。如老毛子: 第二步,telnet(或使用xshell、putty)登录进路由,依次执行

dmesg | grep NAND
dmesg | grep '[B|b]ad.*block'
dmesg | grep eraseblock

会有四种情况: 1、执行指令没有返回任何信息,翻日志也没找到任何闪存相关信息,重启下路由再找一次。 2、执行后返回信息中有ESMT字样,翻日志也没有显示坏块信息的是ESMT闪存,没有检测到坏块。 3、较为正常东芝闪存返回信息:坏块768。但刷固件一切正常。目前我刷过几十次固件,坏块暂时还没有增加。 4、是东芝闪存而且有问题的路由返回信息如图,坏块90+768,根据调查“90”这个数字还有其他值,推测跟东芝闪存体质有关。 东芝和ESMT用的都是SLC闪存(寿命最长的闪存),而且不少机器只开telnet,不刷固件或breed也出现坏块,所以坏块应该不是刷机造成的,是东芝闪存生产出来自带的(质量参差不齐)。 目前有两种推测: (1)坏块位置比较靠后,官方固件只用到了前面一部分如kernel0,所以官方固件不影响使用。 (2)官方和op固件屏蔽闪存坏块的机制较为完善(类似u盘量产的时候屏蔽坏块),所以官方和部分op固件可以正常使用。 padavan固件会用到有的坏块区域,如kernel1,所以有的机器不能刷入padavan,或者刷入后使用有问题。 原厂bootloader关于badblock、ECC、NAND的相关描述,自行参考 目前已知红米路由闪存有东芝和ESMT两种,breed均正常启动。

四、刷回官方bootloader方法

我写这个教程的原因之一就是恢复官方boot的操作经验证可行,如果你不想用第三方固件,要刷回官方固件,稳妥的操作顺序是先恢复官方boot引导文件,再用官方救砖工具一键刷回。 刷回方法

1、从breed

根据最新测试,从breed界面“固件更新”-“Bootloader”处选择官方bootloader文件直接上传并刷写可行。 官方bootloader文件位置: 打开/rm2100, 红米用bootloader-redmi-ac2100.bin 小米用bootloader-xiaomi-ac2100.bin 路由重启后用官方救砖工具可刷回原厂。具体步骤和资源请参考: 小米路由官方救砖工具使用说明 https://www.xiaomi.cn/post/5289432 。 小米路由官方资源下载首页 http://miwifi.com/miwifi_download.html

2、从padavan固件:

【红米】将/rm2100文件夹中的bootloader-redmi-ac2100.bin通过winscp上传到路由/tmp目录下, 用xshell、putty或telnet命令行登进老毛子,执行

mtd_write -r write /tmp/bootloader-redmi-ac2100.bin Bootloader

【小米】将bootloader-xiaomi-ac2100.bin通过winscp上传到路由/tmp目录, 执行

mtd_write -r write /tmp/bootloader-xiaomi-ac2100.bin Bootloader

路由重启后用官方救砖工具可刷回原厂。具体步骤和资源请参考: 小米路由官方救砖工具使用说明 https://www.xiaomi.cn/post/5289432 。 小米路由官方资源下载首页 http://miwifi.com/miwifi_download.html

3、从openwrt固件:

由于部分op的boot分区有锁,建议最好还是先从breed刷入老毛子再按上文恢复官方。 如果想试试,就按上文老毛子的方法导入bootloader文件,执行

【红米】
mtd -r write /tmp/bootloader-redmi-ac2100.bin Bootloader
【小米】
mtd -r write /tmp/bootloader-xiaomi-ac2100.bin Bootloader

五、小米/红米AC2100专用pb-boot

lintel的专用pb-boot已出,刷入方法在“pb-boot-rm2100-Readme.txt”中。lintel的pb-boot链接http://downloads.pangubox.com:6380/lintel/Redmi_AC2100/ 最后提醒:刷机须谨慎,后果自负

资源

hackpascal大佬的原贴https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=161906 r3gbreed下载链接 https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin 官方原厂bootloader备份 https://www.right.com.cn/forum/thread-4023403-1-2.html 感谢https://www.right.com.cn/forum/thread-4016985-1-1.html提供的win平台一键脚本 引用下教程https://www.right.com.cn/forum/thread-4017726-1-1.html 刷入r3gbreed的创意来自https://4pda.ru/forum/index.php?showtopic=975687&st=1580#entry96288010, 刷入方法由一位越南朋友带来论坛https://www.right.com.cn/forum/thread-4022855-1-4.html 小米官方救砖工具使用说明 https://www.xiaomi.cn/post/5289432 小米官方资源下载首页 http://miwifi.com/miwifi_download.html 小米官方救砖工具下载 http://bigota.miwifi.com/xiaoqiang/tools/MIWIFIRepairTool.x86.zip 红米原厂固件下载 http://cdn.cnbj1.fds.api.mi-img. ... re_d517e_1.0.14.bin 小米原厂固件下载 http://bigota.miwifi.com/xiaoqia ... e_64288_2.0.376.bin 推荐一下xshell下载地址,对个人免费 https://www.netsarang.com/zh/free-for-home-school 。 winscp下载 https://winscp.net/download/WinSCP-5.17.5-Setup.exe 。 putty下载 https://the.earth.li/~sgtatham/putty/latest/w32/putty.exe【完整版】蓝奏云:https://lanzous.com/icgyl1e GDhttps://drive.google.com/file/d/ ... sF/view?usp=sharing 【单独文件】https://lanzous.com/icgyjub 【官方下载的xshell、winscp、putty】 https://lanzous.com/icgsv3a 【有消息说小米会修复漏洞,备份下当前原厂固件】 https://lanzous.com/icgst5a

最后更新于