大年初四,隔壁叔叔还在刷机哦。

隔壁叔叔还在刷机

距离上次拆开AX3600TTL刷机已经过去了一两个月,忍来忍去还是无法忍受ssrp的体验,准备尝试设置略显繁复的openclash。

没搞明白ImmortalWrt的可视化编译怎么弄的,就从GitHub找了一个又一个包开刷,有大的有小的,最后还是相中了恩山无线的固件,

“愿你刷机归来,还是恩山无线”,雷布斯如是说(误)

刷完之后开始研究openclash繁琐的配置,在配置方面暂且使用fakeip+tun+rule的形式,目前来看,访问openai、github、youtube 没有问题,这便是好的。

刷入uboot

从一开始,拆机TTL刷机就觉得太麻烦了,所以准备刷入个uboot,看恩山的教程大多数都是从零到一的,比如从解锁ssh到扩容,然后再到刷入uboot,再通过uboot刷机。由于嵌入式和openwrt这些匮乏的知识,看了几篇blog后终于知道怎么刷了,openwrt很open,起码不像openai。

ssh&备份

ssh登录到路由器。

openwrt已经解锁了这些分区,对于我的小米AX3600来说,就是要替换掉两个分区的内容,可以通过cat /proc/mtd来查看所有的分区

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@ImmortalWrt:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00100000 00020000 "0:sbl1"
mtd1: 00100000 00020000 "0:mibib"
mtd2: 00300000 00020000 "0:qsee"
mtd3: 00080000 00020000 "0:devcfg"
mtd4: 00080000 00020000 "0:rpm"
mtd5: 00080000 00020000 "0:cdt"
mtd6: 00080000 00020000 "0:appsblenv"
mtd7: 00100000 00020000 "0:appsbl"
mtd8: 00080000 00020000 "0:art"
mtd9: 00080000 00020000 "bdata"
mtd10: 00080000 00020000 "crash"
mtd11: 00080000 00020000 "crash_syslog"
mtd12: 0f000000 00020000 "rootfs"
mtd13: 00080000 00020000 "rsvd0

我们要刷的是mtd1和mtd7,不太懂mtd1是什么意思,问了下chatgpt,得到这样的回答。

image-20240213232500820

所以大概是恩山的tb6750217编写ax3600-mibib.bin修改了系统的启动配置,使路由器重启时可以选择第13分区mtd13 ,而这个是扩容后的操作系统分区。

首先备份mtd1和mtd7

1
2
dd if=/dev/mtd1 of=/tmp/mtd1_backup.bin
dd if=/dev/mtd7 of=/tmp/mtd7_backup.bin

备份到/tmp,可以通过scp等命令下载在本地或者其他位置保存起来

然后把下载的ax3600-mibib.binuboot-xiaomi-ax3600.bin上传到路由器的/tmp

写入

1
2
3
4
5
mtd erase /dev/mtd1
mtd write /tmp/ax3600-mibib.bin /dev/mtd1

mtd erase /dev/mtd7
mtd write /tmp/uboot-xiaomi-ax3600.bin /dev/mtd7

有如下类似的输出算是写入成功了

1
2
3
4
5
root@ImmortalWrt:/tmp# mtd erase /dev/mtd7
Unlocking /dev/mtd7 ...
Erasing /dev/mtd7 ...
root@ImmortalWrt:/tmp# mtd write /tmp/uboot-xiaomi-ax3600.bin /dev/mtd7
Unlocking /dev/mtd7 ...

两个文件都在恩山无线的这位老哥的蓝奏云上

https://wws.lanzoui.com/b02c8pkle

密码:2mjy

当然也可以访问我的云端硬盘:https://cloud.deusyu.app/s/k5h6?&path=%2F

通过uboot刷机

电脑连路由器的lan口,关闭Wi-Fi,配置IPv4为手动,IP地址:192.168.1.10,子网掩码:255.255.255.0,路由器:192.168.1.1

image-20240213233253480

然后路由器断电重启,同时按住Reset键,蓝灯闪烁后变黄,浏览器输入 192.168.1.1 进入不死 uboot。

温和、甜蜜的试验

在一开始我只刷入了uboot-xiaomi-ax3600.bin这个文件,然后验证刷入的uboot是否能正确刷入固件,刷完重启后路由器的SYSTEM灯是蓝灯,但INTERNET灯没有亮,搜索Wi-Fi也没有openwrt或者ImmortalWrt的字样。

失败了,然后只能再次拆开TTL硬刷了,而这次不像以往那么好运了,给第13分区刷入固件后,启动SYSTEM灯还是蓝灯,INTERNET灯没有亮!与此同时我也给第12分区——这个小分区刷入官方固件,但是刷不进去。

🤔 我猜应该是加载分区的问题,然后再次进入uboot刷了一个小固件,果然,uboot加载了第12分区,成功进入openwrt后,我又给第1分区补上了ax3600-mibib.bin这个文件,然后再刷入大固件,成功!

如果你搜索到了这篇文章,那么只能说,额,你不走寻常路,很少有人是我这种:先不扩容刷机,然后变砖,拆机TTL工具救砖,返回来扩容后再TTL刷机,最后又补上uboot。

如果你也这样,那么恭喜你,非常爱探索,咳咳,至少通过这些大胆的折腾,嵌入式和openwrt不像以前那么模糊了,有些地图已经露出来轮廓,战争迷雾已经散了一部分。

不要温和的走入那个良夜~

参考

  1. [AX3600] ax3600/AX6 扩容以及刷入uboot教程
  2. [AX3600] ax6 ax3600刷uboot后恢复官方系统方法