小米路由器简单救砖

最近在将小米路由器CR8808刷机时,不小心操作失败,路由器成砖头了。好消息是,按reset可以进入openwrt 恢复控制台;坏消息是,通过恢复控制台上传的所有的固件,都提示无效固件。简单记录下成砖过程和救砖过程。PS:在某鱼上咨询一些救砖人士,至少需要50大洋,我也差一点买编程器。

一、成砖

之前将CR880X系列都根据,恩山论坛的教程都成功将固件刷新为红米AX3000,但是一直没有能刷成功极客固件。

1、刷红米AX3000分区,采用如下命令

bash 复制代码
tftpboot OpenWrt.mtd1.bin && flash 0:MIBIB
#做完不要断电!继续输入以下命令:
tftpboot OpenWrt.mtd11.bin && flash 0:APPSBL
tftpboot OpenWrt.mtd12.bin && flash 0:APPSBL_1
#确认好步骤,没有报错后直接拔电!
reset #重启

2、重启后,使用小米恢复工具就可以正常输入Redmi AX3000的固件了。

3、本打算使用大分区(CR880X合并分区并刷带web的uboot)。如下命令,但是第三步失败。

bash 复制代码
tftpboot MIBIB.bin && flash 0:MIBIB
#刷完务必断电重启
#重新卡进uboot   
#继续刷入带web的uboot命令:
tftpboot APPSBL.bin && flash 0:APPSBL
tftpboot APPSBL1.bin && flash 0:APPSBL1.bin

4、重启后就变成砖了。系统自动进入uboot,并且网络不通。尝试使用小米恢复工具,根本网络不通。通过 httpd 可以启动openwrt web恢复界面,但是固件校验都失败,此时网络是通的。Ctrl+C退出httpd后,网络不通。

二、救砖

1、help领命发现,printevn可以查看环境变量,setenv 可以设置变量,saveenv则可保存变量。但是printenv发现,环境变量非常少。大概如下

bash 复制代码
IPQ5018# printenv
baudrate=115200
bootargs=console=ttyMSM0,115200n8
bootcmd=bootmiwifi
bootdelay=5
eth1addr=44:df:65:5e:8d:9
ethact=eth0
ethaddr=44:df:65:a:2f:3
fdt_high=0x4A400000
fdtcontroladdr=4a9d4004
flash_type=11
ipaddr=192.168.2.1
machid=8040000
netmask=255.255.255.0
serverip=192.168.2.100
soc_hw_version=20180101
soc_version_major=1
soc_version_minor=1
stderr=serial@78AF000
stdin=serial@78AF000
stdout=serial@78AF000

Environment size: 450/262140 bytes

2、找到另一台同型号的CR880X(已经刷成Redmi AX3000了),查看环境变量。内容非常多,包含系列号、无线信息、超密等等。

bash 复制代码
IPQ5018# printenv
CMSN=2411000125813
CountryCode=CN
SN=4484/FVA30551
andlink_dev_key=00010001045A73D1EBD6CDF1285FDF9A62C8DF4A736BF96B9628D299034D31934789873
andlink_prov_code=ZHJ
andlink_svr_try_count=3
boot_wait=on
bootargs=ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait
bootcmd=bootmiwifi
bootdelay=2
bootfile=miwifi_cr8808_all_fac_release_6.4.52.bin
cmei=11105167225813
color=101
default_netmode=router
eth1addr=4c:c6:4c:65:ca:87
ethact=eth1
ethaddr=4c:c6:4c:1:ee:2d
ethprime=eth1
fdt_high=0x4A400000
fdtcontroladdr=4a9d4004
fileaddr=44000000
filesize=1a8ae28
flag_boot_recovery=0
flag_boot_rootfs=0
flag_boot_success=1
flag_boot_type=2
flag_last_success=0
flag_ota_reboot=0
flag_try_sys1_failed=0
flag_try_sys2_failed=0
flash_type=11
fsbootargs=ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs
gatewayip=192.168.31.1
ipaddr=192.168.31.111
machid=8040000
mgtpsd=y@3jmca
miot_did=69992866
miot_key=6MWwxcU0cAwqNVZ
mode=Router
model=CR8808
mtddevname=fs
mtddevnum=0
mtdids=nand0=nand0
mtdparts=mtdparts=nand0:0x2400000@0xa80000(fs),
netmask=255.255.255.0
no_wifi_dev_times=0
partition=nand0,0
serverip=192.168.31.100
soc_hw_version=20180101
soc_version_major=1
soc_version_minor=1
stderr=serial@78AF000
stdin=serial@78AF000
stdout=serial@78AF000
telnet_en=0
uart_en=0
wifipsd=9h36uk9
wl0_radio=1
wl0_ssid=CMCC-ukw-5G
wl1_radio=1
wl1_ssid=CMCC-ukw
wl_pa_type=xpa

Environment size: 1505/65532 bytes

3、经过对比,使用 setenv,saveenv恢复环境变量。最后可以启动、网络也通了。刷红米AX3000分区。使用小米恢复工具恢复后,可以正常启动了,wifi也可以接入。但是,路由器管理密码不对,怀疑miot_key、nv_sys_pwd每台路由器不同,但是这2个我已经复制过去了。尝试了很多密码都无法登录。再次使用小米恢复工具时,悲催的是路由器和电脑网络有不通了。恢复环境变量的时候,没有将TTL开启,启动后TTL直接无法中断了。

三、后续计划。

1、操作TTL的时候,西安执行永久开启TTL的命令,如下:

bash 复制代码
setenv boot_wait on
setenv uart_en 1
saveenv

2、寻找CR8808开启ssh方法,类似于CR660X系列解锁ssh方法。

相关推荐
道法自然040215 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
乌龟跌倒1 天前
网络层3——IP数据报转发的过程
网络·tcp/ip·计算机网络·智能路由器
原野心存1 天前
网络模型——二层转发原理
网络·计算机网络·智能路由器·二层转发原理
IPdodo全球网络1 天前
如何在家庭网络中设置静态IP地址:一份实用指南
网络·tcp/ip·智能路由器·ip
IPdodo全球网络1 天前
如何通过网络加速器提升TikTok创作与观看体验
网络·智能路由器·tiktok·tiktok电商·tk直播
GISer_Jing2 天前
内网部署web项目,外网访问不了?只有局域网能访问!怎样解决?
网络·智能路由器
乌龟跌倒2 天前
网络层5——IPV6
网络·计算机网络·智能路由器
黑龙江亿林等级保护测评2 天前
DDOS防护介绍
网络·人工智能·安全·web安全·智能路由器·ddos
悲伤抑郁大鱿鱼2 天前
关于路由笔记
网络·笔记·智能路由器
天才技术宅2 天前
如何设置内网IP的端口映射到公网
网络·智能路由器