最近在将小米路由器CR8808刷机时,不小心操作失败,路由器成砖头了。好消息是,按reset可以进入openwrt 恢复控制台;坏消息是,通过恢复控制台上传的所有的固件,都提示无效固件。简单记录下成砖过程和救砖过程。PS:在某鱼上咨询一些救砖人士,至少需要50大洋,我也差一点买编程器。
一、成砖
之前将CR880X系列都根据,恩山论坛的教程都成功将固件刷新为红米AX3000,但是一直没有能刷成功极客固件。
1、刷红米AX3000分区,采用如下命令
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)。如下命令,但是第三步失败。
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发现,环境变量非常少。大概如下
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了),查看环境变量。内容非常多,包含系列号、无线信息、超密等等。
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的命令,如下:
setenv boot_wait on setenv uart_en 1 saveenv
2、寻找CR8808开启ssh方法,类似于CR660X系列解锁ssh方法。
原文链接:https://blog.csdn.net/z3h/article/details/131871485?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836740116800186526948%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836740116800186526948&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-22-131871485-null-null.nonecase&utm_term=%E8%B7%AF%E7%94%B1%E5%99%A8%E3%80%81openwrt