红米 AC2100 刷入 Padavan/OpenWRT
参考 jinglei207 的教程,感谢前人的工作
准备工作
请先看完一遍教程,将工具和需要下载的文件准备好,会大大简化之后的操作
降级固件
和早期的小米路由器不同,官方不再提供 ssh 解锁包,下载 2.0.7 版本固件,通过浏览器管理界面“升级”固件
获取 SSH 权限
登录路由器管理界面,在地址栏找到
stok
字符串将地址栏
stok=example/
字符串后的内容删除,替换成以下内容1
api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
以下是修改示例
1
2
3
4# 原始 url
http://192.168.*.*/cgi-bin/luci/;stok=example/
# 修改后的 url
http://192.168.*.*/cgi-bin/luci/;stok=example/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B在浏览器地址栏执行修改后的 url
如果显示以下内容说明注入成功,ssh 权限已开启
1
{"code":0}
获取 root 密码
通过路由器 S/N 计算
参考方案来自 xiaooloong,S/N 可以在管理界面或路由器底部找到
请在上方输入 S/N
通过漏洞直接修改
参考漏洞注入部分的方法,将你的
stok=example/
字符串后的内容删除,替换成以下内容1
api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B
密码将被修改为
admin
在浏览器地址栏执行修改后的 url
备份固件
可以使用 Breed 备份,但还是建议尽早备份固件,就算编程器可以恢复,固件也不好找
查看闪存中的所有分区,其中 Bdata 中存放了路由器的 S/N 信息
1
2
3
4
5
6
7
8
9cat /proc/mtd
dev: size erasesize name
mtd0: 07f80000 00020000 "ALL"
mtd1: 00080000 00020000 "Bootloader"
mtd2: 00040000 00020000 "Config"
mtd3: 00040000 00020000 "Bdata"
... ...
mtd15: 021e8000 0001f000 "data"使用 SSH 客户端连接路由器,备份原有的 BootLoder(uboot)到路由器的
/tmp
目录1
dd if=/dev/mtd1 of=/tmp/xiaomi_Bootloader.bin
建议备份一下 Bdata 和 ALL 分区
1
2dd if=/dev/mtd3 of=/tmp/xiaomi_Bdata.bin
dd if=/dev/mtd0 of=/tmp/xiaomi_All.bin使用 WinSCP 将备份的固件下载到本地
关于坏块
红米 AC2100 的坏块问题严重,但是最新的 Breed 刷入固件时可以跳过坏块,这个问题也咨询过 Padavan 的开发者 HiBoy,放心使用 Padavan、OpenWRT 等第三方固件
查询坏块
1
dmesg | grep eraseblock
大部分都是 14、15、768
1
2
3[ 2.990000] Bad eraseblock 14 at 0x0000001c0000
[ 3.000000] Bad eraseblock 15 at 0x0000001e0000
[ 3.310000] Bad eraseblock 768 at 0x000006000000
连接校园网
请参考 Padavan 校园网 的替换和配置 mentohust 部分
写入 Breed
将固件上传到路由器的
/tmp
目录,有命令行恐惧症的朋友可以使用 WinSCP如果路由器能联网也可以使用以下命令下载
1
2cd /tmp
wget https://breed.hackpascal.net/breed-mt7621-xiaomi-r3g.bin刷入 Breed,瞬间就能完成
1
mtd -r write /tmp/breed-mt7621-xiaomi-r3g.bin Bootloader
等待路由器重启成功后再进行后续操作,不要断电
写入固件
下载 Padavan 固件:https://opt.cn2qq.com/padavan/,找到
RM2100_3.4.3.9-099.trx
也可以选择 OpenWRT 固件,推荐到 https://openwrt.ai/ 在线定制
在断电情况下,按住路由器的
reset
键并接通电源,使用 WAN 口连接电脑,浏览器访问192.168.1.1
,此时应该能进入 Breed 后台,选择固件更新,上传刚才下载好的固件,建议顺便备份一下编程器固件重启应该较久,可以先重新连接 LAN 口,等指示灯变蓝后,进入 Padavan 管理界面
- Padavan 的默认管理地址为
192.168.123.1
,第一次启动请耐心等待 - Padavan 后台的默认用户名
admin
,密码admin
- Padavan 的默认无线名称
PDCN
,密码1234567890
- Padavan 的默认管理地址为