准备工作
- 关闭系统防火墙
- 红米AX6000一台
- 网线两条
- 刷机包(固件、uboot、刷机命令、刷机软件)
刷机步骤
配置路由器
拿到全新设备(红米AX6000)
获取token
token是指登录设备后生成的一串字符,用于验证是否具有管理权限,为了获取token,首先需要登录路由器管理页面,这样在浏览器地址栏就可以看到类似以下的链接,里面就包含了token,该款路由器的token名称为stok,也就是”stok=”后面的就是token值,我们需要复制该值备用。
举个例子:
比如登录后地址栏中是以下链接:
http://192.168.31.1/cgi-bin/luci/;stok=01b3e6fe60cdd40e58c1b91c1a9b03d5/web/home#router
则token值为01b3e6fe60cdd40e58c1b91c1a9b03d5,该值在下面的链接中会用到。
开启调试模式
首先替换以下链接中的token值,也就是把xxx替换成上一步获取到的token,后面的步骤中也类似。
http://192.168.31.1/cgi-bin/luci/;stok=xxx/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
示例:
比如上面示例中获取到的token为01b3e6fe60cdd40e58c1b91c1a9b03d5,则新的链接为
http://192.168.31.1/cgi-bin/luci/;stok=01b3e6fe60cdd40e58c1b91c1a9b03d5/api/misystem/set_sys_time?timezone=%20%27%20%3B%20zz%3D%24%28dd%20if%3D%2Fdev%2Fzero%20bs%3D1%20count%3D2%202%3E%2Fdev%2Fnull%29%20%3B%20printf%20%27%A5%5A%25c%25c%27%20%24zz%20%24zz%20%7C%20mtd%20write%20-%20crash%20%3B%20
将新的链接粘贴到浏览器地址栏访问,然后继续下面的步骤,下面的链接也一样通过浏览器访问。
第一次重启
通过特殊方式重启设备,注意不要直接断电重启。
http://192.168.31.1/cgi-bin/luci/;stok=xxx/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
修改telnet配置
注意: 由于上一步重启了设备,需要重新登录路由器获取token,将新的token替换xxx,下同
http://192.168.31.1/cgi-bin/luci/;stok=xxx/api/misystem/set_sys_time?timezone=%20%27%20%3B%20bdata%20set%20telnet_en%3D1%20%3B%20bdata%20set%20ssh_en%3D1%20%3B%20bdata%20set%20uart_en%3D1%20%3B%20bdata%20commit%20%3B%20
第二次重启,开启telnet
通过特殊方式重启设备,注意不要直接断电重启。
http://192.168.31.1/cgi-bin/luci/;stok=xxx/api/misystem/set_sys_time?timezone=%20%27%20%3b%20reboot%20%3b%20
这一次重启后系统会默认启动telnet服务,这样就可以通过telnet客户端直接登录路由器后台了。
进入路由器后台
telnet客户端有很多种,windows本身也集成了telnet客户端,但需要开启才行,具体可以自行搜索如何开启windows telnet客户端。 也可以直接用第三方工具,比如xshell、putty等,这些工具中都集成了telnet客户端。
运行tftp服务器
tftp服务器用于传输文件,在刷机中经常用到,占用空间小,刷机包中已经包含该工具,在刷机包目录直接运行。 通过tftp可以很方便的备份文件、上传文件等,官方固件都会集成tftp工具命令的,不需要去通过重量级的ssh工具传输,这样可以简化刷机步骤。
备份重要分区
红米AX6000 flash分区表
root@XiaoQiang:~# cat /proc/mtd
dev: size erasesize name
mtd0: 08000000 00020000 "spi0.1"
mtd1: 00100000 00020000 "BL2"
mtd2: 00040000 00020000 "Nvram"
mtd3: 00040000 00020000 "Bdata"
mtd4: 00200000 00020000 "Factory"
mtd5: 00200000 00020000 "FIP"
mtd6: 00040000 00020000 "crash"
mtd7: 00040000 00020000 "crash_log"
mtd8: 01e00000 00020000 "ubi"
mtd9: 01e00000 00020000 "ubi1"
mtd10: 03200000 00020000 "overlay"
无线路由器会包含一些重要参数分区,主要是无线参数和产品参数分区,如果无线参数分区被破坏,会导致无线模块出问题,可能导致无线性能特别差,无线参数是各个固件通用的,而产品分区主要包含SN等信息,只有官方固件用得到。
正常情况下刷机无线参数是不会被破坏的,因为新固件一般都会兼容官方固件的无线参数分区,但为了保险起见,还是把重要参数做下备份。
红米AX6000重要分区为Nvram、Bdata、Factory,其中Factory为无线参数分区
可以把1-4分区都进行备份
dd if=/dev/mtd1 of=/tmp/mtd1.bin
dd if=/dev/mtd2 of=/tmp/mtd2.bin
dd if=/dev/mtd3 of=/tmp/mtd3.bin
dd if=/dev/mtd4 of=/tmp/mtd4.bin
这样就会生成mtd1.bin、mtd2.bin、mtd3.bin、mtd4.bin文件,需要将这些文件传到自己的电脑。 这里采用tftp传输 首先查看电脑网卡的ip,比如ip为192.168.31.100 则传输命令为:
cd /tmp/
tftp -pr mtd1.bin 192.168.31.100
tftp -pr mtd2.bin 192.168.31.100
tftp -pr mtd3.bin 192.168.31.100
tftp -pr mtd4.bin 192.168.31.100
上传boot文件到设备
做好备份后,我们就可以开始刷boot了, 通过tftp命令上传刷机包中的boot文件到设备/tmp/目录 (注意这里假设你的电脑网卡ip为192.168.31.100,需要根据实际情况修改)
cd /tmp/
tftp -gr mt7986_redmi_ax6000-fip-fixed-parts.bin 192.168.31.100
上传成功后校验下md5,防止文件篡改,md5值在刷机包中可以查看
md5sum mt7986_redmi_ax6000-fip-fixed-parts.bin
刷入boot
上传boot文件成功后就可以开始刷入boot了,刷入命令如下:
mtd erase FIP
mtd write /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
注意如果有失败情况,那肯定是文件传输失败,只要执行了第一条命令,千万不要重启设备,要保证第二条也执行成功,否则变砖,具体日志见我的刷机截图。
刷入完成后还可以通过以下命令校验,显示Success表示成功,否则重新刷入boot
mtd verify /tmp/mt7986_redmi_ax6000-fip-fixed-parts.bin FIP
刷boot日志:
刷入固件
boot刷入成功后就可以重启设备了,断电后立即长按reset复位按键,然后上电,大概15秒后松开,然后浏览器输入192.168.31.1 boot后台,如果不能访问请检查ip是否是192.168.31.x/24网段。
然后选择刷机包中的固件进行升级,注意第一次升级会报错,属于正常现象,重启再次通过boot上传固件升级即可
进入管理界面
网卡恢复动态获取ip,查看网卡ip网段,刷机包中的固件ip为192.168.66.1
这样刷机就完成了
注意事项
AX6000的boot包含两种,以上教程是刷的是大分区boot,和官方的boot分区大小不一样,但是大分区boot带web界面,不用担心变砖。另外一种是官方分区boot,虽然没有大分区boot好用,但是恢复官方固件方便。如果你是打算一直使用第三方系统,建议选择大分区boot。 以上教程只是刷大分区boot的极简教程,仅供参考,首次刷机建议去恩山论坛多查阅资料再动手操作。
评论(0)