记录一下狗东亚瑟ax1800刷机过程。
拆机
拆除底部螺丝
路由器底部有一块用双面胶粘住的胶垫,可以用吹风机稍微加热,使胶水软化,然后小心揭开外围胶垫,找到并拆除 5 颗螺丝,以便取下底盖。取下底盖后,内部还有一圈螺丝,继续拆除它们。
拆除顶部螺丝
路由器的顶盖使用 5 个卡扣固定。用螺丝刀轻轻往里顶住卡扣,然后向上撬开。取下顶盖后,拆除内部的 2 颗螺丝(懵逼了我的没有这两颗螺丝,百度后才知道早期版本没有这两颗螺丝
)。
取出机器本体
轻轻挤压外层保护壳,使其与网口分离,然后顺势从底部抽出路由器本体。
连接串口
串口,也称为串行通信接口,它允许计算机通过串行方式与外部设备进行数据传输。
连接适配器和路由器
在取出机器本体后,可以看到主板上有 4 个并排的串口引脚。
使用杜邦线将 USB 转 TTL 适配器和路由器的串口连接,对应关系如下:
适配器 |
路由器 |
GND(地线) |
G |
TXD(发送) |
R |
RXD(接收) |
T |
划重点 路由器和TTL的RT一定要反接。
连接适配器到电脑上
将 USB 转 TTL 适配器插入到电脑的 USB 端口,然后在电脑的 设备管理器
- 端口
中找到适配器对应的端口号(例如 COM4)。
使用PuTTY
或类似串行通信软件,设置串行通信参数(端口号、波特率等):
Connection type
选Serial
,Serial line
选对应的端口号例如 COM4
,Speed
填115200
,点击 Open
连接。
进入 bootloader 模式
接通路由器电源,当路由器启动时,在 PuTTY 中快速地按 Enter
键中断启动过程。
如果一切正常,PuTTY 最后一行会显示 IPQ6018#
,表示成功进入 bootloader 模式。
在此模式下,我们可以使用 tftpboot
命令从 TFTP 服务器下载文件。
所以为了将刷机文件发送给路由器,我们还要在电脑上搭建一个 TFTP 服务器。
开启 TFTP 服务器
京东云亚瑟默认的下载服务器 IP 是 192.168.10.1
,我们需要将电脑的 TFTP 服务器地址也设置成这个 IP 。
首先,使用网线将路由器的 LAN 口和电脑的网口连接。
然后,按照以下步骤设置以太网 IP:
- 打开
控制面板
> 网络和共享中心
> 更改适配器设置
- 右键点击
以太网
> 属性
- 双击
Internet 协议版本 4 (TCP/IPv4)
- 选择
使用下面的 IP 地址
并输入以下信息:
- IP 地址:
192.168.10.1
- 子网掩码:
255.255.255.0
最后,下载并运行 tftpd64.exe
文件,确保软件界面中的 Server interface
选择了上述设置的 IP 地址,同时保持软件后台运行。
备份分区
养成刷机前先备份的好习惯,后续想要恢复也比较方便些。亚瑟使用的是双分区,一共有 27 个分区。
在 PuTTY 中一行一行地执行以下命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| mmc read 0x50000000 0x00000000 0x00000022 && tftpput 0x50000000 0x00004400 mmcblk0p_GPT.bin mmc read 0x50000000 0x00000022 0x00000600 && tftpput 0x50000000 0x000c0000 mmcblk0p1_0SBL1.bin mmc read 0x50000000 0x00000622 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p2_0BOOTCONFIG.bin mmc read 0x50000000 0x00000822 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p3_0BOOTCONFIG1.bin mmc read 0x50000000 0x00000a22 0x00000e00 && tftpput 0x50000000 0x001c0000 mmcblk0p4_0QSEE.bin mmc read 0x50000000 0x00001822 0x00000e00 && tftpput 0x50000000 0x001c0000 mmcblk0p5_0QSEE_1.bin mmc read 0x50000000 0x00002622 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p6_0DEVCFG.bin mmc read 0x50000000 0x00002822 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p7_0DEVCFG_1.bin mmc read 0x50000000 0x00002a22 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p8_0RPM.bin mmc read 0x50000000 0x00002c22 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p9_0RPM_1.bin mmc read 0x50000000 0x00002e22 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p10_0CDT.bin mmc read 0x50000000 0x00003022 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p11_0CDT_1.bin mmc read 0x50000000 0x00003222 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p12_0APPSBLENV.bin mmc read 0x50000000 0x00003422 0x00000500 && tftpput 0x50000000 0x000a0000 mmcblk0p13_0APPSBL.bin mmc read 0x50000000 0x00003922 0x00000500 && tftpput 0x50000000 0x000a0000 mmcblk0p14_0APPSBL_1.bin
mmc read 0x50000000 0x00003e22 0x00000200 && tftpput 0x50000000 0x00040000 mmcblk0p15_0ART.bin mmc read 0x50000000 0x00004022 0x00003000 && tftpput 0x50000000 0x00600000 mmcblk0p16_0HLOS.bin mmc read 0x50000000 0x00007022 0x00003000 && tftpput 0x50000000 0x00600000 mmcblk0p17_0HLOS_1.bin mmc read 0x50000000 0x0000a022 0x0001e000 && tftpput 0x50000000 0x03c00000 mmcblk0p18_rootfs.bin mmc read 0x50000000 0x00028022 0x00002000 && tftpput 0x50000000 0x00400000 mmcblk0p19_0WIFIFW.bin mmc read 0x50000000 0x0002a022 0x0001e000 && tftpput 0x50000000 0x03c00000 mmcblk0p20_rootfs_1.bin mmc read 0x50000000 0x00048022 0x00002000 && tftpput 0x50000000 0x00400000 mmcblk0p21_0WIFIFW_1.bin mmc read 0x50000000 0x0004a022 0x0000a000 && tftpput 0x50000000 0x01400000 mmcblk0p22_rootfs_data.bin mmc read 0x50000000 0x00054022 0x00000400 && tftpput 0x50000000 0x00080000 mmcblk0p23_0ETHPHYFW.bin mmc read 0x50000000 0x00054422 0x0002bc00 && tftpput 0x50000000 0x05780000 mmcblk0p24_plugin.bin
mmc read 0x50000000 0x00080022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p25_log1.bin mmc read 0x50000000 0x000a0022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p25_log2.bin mmc read 0x50000000 0x000c0022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p25_log3.bin mmc read 0x50000000 0x000e0022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p25_log4.bin mmc read 0x50000000 0x00100022 0x00016000 && tftpput 0x50000000 0x02c00000 mmcblk0p25_log5.bin
mmc read 0x50000000 0x00116022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap1.bin mmc read 0x50000000 0x00136022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap2.bin mmc read 0x50000000 0x00156022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap3.bin mmc read 0x50000000 0x00176022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap4.bin mmc read 0x50000000 0x00196022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap5.bin mmc read 0x50000000 0x001b6022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap6.bin mmc read 0x50000000 0x001d6022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap7.bin mmc read 0x50000000 0x001f6022 0x00020000 && tftpput 0x50000000 0x04000000 mmcblk0p26_swap8.bin
|
这些命令会将备份文件直接上传到电脑上与 tftpd64.exe
文件相同的目录中。
刷入 U-Boot
将 U-Boot 文件放在与 tftpd64.exe
文件相同的目录中,然后在 PuTTY
中执行以下命令,注意修改命令中的 uboot.bin
为实际的文件名称:
1 2 3 4 5
| tftpboot uboot.bin && flash 0:APPSBL && flash 0:APPSBL_1
# 验证刷入的 CRC32 mmc read 0x50000000 0x00003422 0x500 && crc32 0x50000000 0xA0000 mmc read 0x51000000 0x00003922 0x500 && crc32 0x51000000 0xA0000
|
上述命令会将 U-Boot 刷入 mmcblk0p13(0:APPSBL)
和 mmcblk0p14(0:APPSBL_1)
分区。
刷入固件
成功刷入 U-Boot 后,就可以断开路由器电源,准备进行愉快的刷机体验了。
参考资料
小白也能看懂的京东云亚瑟 AX1800 Pro 刷机教程