雅典娜 刷机教程
通过 高通 9008 模式刷机,不管是什么版本,机器砖了没有,都可以用该方法刷机,且不需要TTL
1. 前置准备
1.1 下载刷机工具包
https://github.com/lgs2007m/Actions-OpenWrt/releases/tag/Router-Flashing-Files
1.2 安装高通 USB 驱动包
Qualcomm USB Driver v1.0.10061.1.exe
1.3 一些精良的拆机装备 和 拆机
因为会用到三种螺丝刀头,所以你需要有足够的装备才可以
1.4 TYPE-A to TYPE-A 的线
或 TYPE-C to TYPE-A 的线也可以。
注意不要一直连接,避免 路由器 USB 5v 供电损坏
2. 开始刷机
2.1 进入 9008 模式
- PC 和 雅典娜 连接好
- 短接 R656 和 GND 针脚(保持)
- 然后上电
- 上电2秒后,不用再短接了
- 打开设备管理器,查看端口 里面有个 Qualcomm 的设备,记下 COM(n),我这里为 COM3,记下 3
2.2 刷写临时 uboot(临时)
- 打开
USB命令.bat
- 选择
京东云AX6600雅典娜
- 输入
COM端口号
, 我刚才为3,这里就输入 3,然后 按enter
- 等待 SBL1 完成,程序会暂停,准备第二次刷入
- 注意!!,这个地方非常关键,刷入 uboot 的过程,非常快,如果不及时操作,临时的 uboot 就进不去,那么就必须回到 2.1 重新开始。
- 准备好按住
RESET
按钮,另一只手准备好按Enter
, 按下 Enter 之后 开始刷写,看到雅典娜灯变红,立刻按下 RESET(保持),然后 红灯会闪烁,5 下之后,会变蓝,此时,临时 uboot 就进去了。(注意不要掉电,否则 2.1 重新开始)
这个是 第三个步骤的 log
***********************************************************************************
* 如果没有安装Qualcomm USB Driver驱动,请先安装 *
* USB线连接路由器和电脑,路由器上电会进入Qualcomm Emergency Download mode *
* 此时设备管理器-端口 (COM 和 LPT) 下会出现Qualcomm HS-USB QDLoader 9008的COM端口 *
* 如果未出现,则需要拆机短接启动电阻,路由器再上电,出现后可松开短接 *
* 输入9008的COM端口号并回车,第一个命令执行后注意观察设备管理器是否已刷新两次 *
* 观察已刷新两次,再等待5秒,如果要进入U-Boot webui此时可以按住reset按键 *
* 然后按任意键执行第二个命令,执行成功后路由器会亮灯 *
* 也可以不按reset键,U-Boot会直接启动原闪存上的固件 *
***********************************************************************************
1.京东云AX1800 Pro亚瑟
2.京东云AX6600雅典娜
请输入序号:2
>>>已选择2.京东云AX6600雅典娜
请输入COM端口号:3
>>>输入端口号为COM3
正在上传SBL1。。。
QSaharaServer.exe -p \\.\COM3 -s 13:mmcblk0p1_0SBL1.bin
Binary build date: Jun 25 2019 @ 03:16:15
QSAHARASERVER CALLED LIKE THIS: 'QSaharaServer.ex'Current working dir: D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara
Sahara mappings:
2: amss.mbn
6: apps.mbn
8: dsp1.mbn
10: dbl.mbn
11: osbl.mbn
12: dsp2.mbn
16: efs1.mbn
17: efs2.mbn
20: efs3.mbn
21: sbl1.mbn
22: sbl2.mbn
23: rpm.mbn
25: tz.mbn
28: dsp3.mbn
29: acdb.mbn
30: wdt.mbn
31: mba.mbn
13: mmcblk0p1_0SBL1.bin
22:20:20: Requested ID 13, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara\mmcblk0p1_0SBL1.bin"
22:20:20: 442184 bytes transferred in 0.046000 seconds (9.1674MBps)
22:20:20: File transferred successfully
NOTE: Target requested image 13 which is DeviceProgrammer. Forcing QUIT. This is by design, ** All is well ** SUCCESS!!
22:20:20: Sahara protocol completed
>>>看到最后输出Sahara protocol completed说明SBL1已上传成功
>>>观察到设备管理器刷新两次后,按任意键继续下一步
请按任意键继续. . .
在准备执行第五步的时候,一定要准备好按 RESET
正在上传CDT DEVCFG QSEE RPM APPSBL。。。
QsaharaServer.exe -p \\.\COM3 -s 1:mmcblk0p10_0CDT_AX6600_Athena.bin -s 34:mmcblk0p6_0DEVCFG.bin -s 25:mmcblk0p4_0QSEE.bin -s 23:mmcblk0p8_0RPM.bin -s 5:mmcblk0p13_0APPSBL.bin
Binary build date: Jun 25 2019 @ 03:16:15
QSAHARASERVER CALLED LIKE THIS: 'QsaharaServer.ex'Current working dir: D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara
Sahara mappings:
2: amss.mbn
6: apps.mbn
8: dsp1.mbn
10: dbl.mbn
11: osbl.mbn
12: dsp2.mbn
16: efs1.mbn
17: efs2.mbn
20: efs3.mbn
21: sbl1.mbn
22: sbl2.mbn
23: mmcblk0p8_0RPM.bin
25: mmcblk0p4_0QSEE.bin
28: dsp3.mbn
29: acdb.mbn
30: wdt.mbn
31: mba.mbn
1: mmcblk0p10_0CDT_AX6600_Athena.bin
34: mmcblk0p6_0DEVCFG.bin
5: mmcblk0p13_0APPSBL.bin
22:20:42: Requested ID 1, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅 典娜USB救砖\QSahara\mmcblk0p10_0CDT_AX6600_Athena.bin"
22:20:42: 548 bytes transferred in 0.015000 seconds (0.0348MBps)
22:20:42: File transferred successfully
22:20:42: Requested ID 34, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara\mmcblk0p6_0DEVCFG.bin"
22:20:42: 37114 bytes transferred in 0.000000 seconds
22:20:42: File transferred successfully
22:20:42: Requested ID 25, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara\mmcblk0p4_0QSEE.bin"
22:20:42: 1439076 bytes transferred in 0.078000 seconds (17.5950MBps)
22:20:42: File transferred successfully
22:20:42: Requested ID 23, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅典娜USB救砖\QSahara\mmcblk0p8_0RPM.bin"
22:20:42: 102748 bytes transferred in 0.000000 seconds
22:20:42: File transferred successfully
22:20:42: Requested ID 5, file: "D:\京东云AX1800-Pro亚瑟_AX6600雅典娜刷机救砖教程20240510\京东云AX1800-Pro亚瑟_AX6600雅 典娜USB救砖\QSahara\mmcblk0p13_0APPSBL.bin"
22:20:42: 577036 bytes transferred in 0.016000 seconds (34.3940MBps)
22:20:42: File transferred successfully
22:20:42: Sahara protocol completed
>>>看到最后输出Sahara protocol completed说明CDT DEVCFG QSEE RPM APPSBL已上传成功
>>>请查看路由器LED是否亮起,检查是否能进入U-Boot,并及时断开USB线
2.3 连接 临时 uboot
如果你没有看到蓝灯亮起,说明没进入到 uboot, 反复重试前面的步骤, 蓝灯亮了之后再来这一步
- 把PC网线和雅典娜的LAN口连接起来
- 进入到控制面板,
网络和 Internet
->查看基本网络信息并设定连接
->以太网
(找到连接的网卡),点属性
->TCP/IPV4
- 调整为固定IP地址
192.168.1.10
, 掩码255.255.255.0
,确定 - 打开浏览器
http://192.168.1.1
- (可选) 如果看不到正常连接,点
配置
->高级
->Speed & Duplex
->10Mbps Full Duplex
或100Mbps Full Duplex
2.4 从临时 uboot 刷到 rom 上
此时的 uboot 掉电就没了,那么想要一直用 uboot,需要把它刷写到 rom 里。
- 打开浏览器
http://192.168.1.1/uboot.html
。注意地址!!,只有uboot.html
才可以刷,不要搞错了,否则前功尽弃 - 选择
选择文件
选择亚瑟雅典娜通用不死uboot\uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin
, 点击Update U-Boot
- 此时会闪烁蓝光,完成刷写之后会亮绿光(3s),接着就会重启。
验证:
- 断电
- 按住 RESET(保持),上电
- 看到红灯闪烁,直到蓝灯,就进入到了 uboot。
这个时候 就不再需要再进入到 9008 模式了。也就是说 初步的刷机已经完成了。可以把雅典娜组装起来了。
2.5 刷写 GPT 分区表
- 按住 RESET(保持),上电
- 打开
http://192.168.1.1/img.html
。 注意地址!! - 选择
选择文件
选择\雅典娜双分区gpt分区表(不带最后的大分区)\gpt-JDC_AX6600_Athena_dual-boot_rootfs2048M_no-last-partition.bin
, 点击Update IMG
- 蓝灯闪烁,完成后会变为绿灯。
因为雅典娜普遍都是 128G 的,不缺容量,所以刷 2G 给系统没什么。不像其他的路由器。
2.6 刷写 OpenWrt 系统
2.6.1 系统选择
其实没几个能用的,我自己用的是 immortalwrt
高通版
直接下载连接:
如果地址 404 了,那么就找 Release:PQ60XX-WIFI-YES_immortalwrt.git-main_
开头的就行。
Kwrt
另外一个是 Kwrt(基于官方), 看起来很不错,但是我启动不了,等哪天能用了,我再试试吧
- https://github.com/kiddin9/Kwrt
- openwrt.ai
2.6.2 刷写系统
- 按住 RESET(保持),上电
- 打开
http://192.168.1.1/
。 注意地址!! - 选择
选择文件
选择immortalwrt.git-main_jdcloud_ax6600-squashfs-factory_24.10.22_13.17.18.bin
,点击Update firmware
- 蓝灯闪烁,完成后会变为绿灯。在之后就是 正常启动,启动后会变为蓝灯(常亮)。
3. 备份 GPT 分区
一个好的工程师总会有备份的好习惯。
虽然上面刷过 GPT 分区,但是原来的数据都还保留着,主要的分区都没动,所以还是有备份的价值的。尤其是你还想刷回原厂。
雅典娜和亚瑟的 备份分区脚本是一样的。
- 在雅典娜上插入u盘(自动挂载到了
/mnt/sda1
) mkdir -p /mnt/sda1/backup
- 执行下面的脚本
#!/bin/sh
dd if=/dev/mmcblk0 bs=512 count=34 of=/mnt/sda1/backup/mmcblk0_GPT.bin conv=fsync
dd if=/dev/mmcblk0p1 of=/mnt/sda1/backup/mmcblk0p1_0SBL1.bin conv=fsync
dd if=/dev/mmcblk0p2 of=/mnt/sda1/backup/mmcblk0p2_0BOOTCONFIG.bin conv=fsync
dd if=/dev/mmcblk0p3 of=/mnt/sda1/backup/mmcblk0p3_0BOOTCONFIG1.bin conv=fsync
dd if=/dev/mmcblk0p4 of=/mnt/sda1/backup/mmcblk0p4_0QSEE.bin conv=fsync
dd if=/dev/mmcblk0p5 of=/mnt/sda1/backup/mmcblk0p5_0QSEE_1.bin conv=fsync
dd if=/dev/mmcblk0p6 of=/mnt/sda1/backup/mmcblk0p6_0DEVCFG.bin conv=fsync
dd if=/dev/mmcblk0p7 of=/mnt/sda1/backup/mmcblk0p7_0DEVCFG_1.bin conv=fsync
dd if=/dev/mmcblk0p8 of=/mnt/sda1/backup/mmcblk0p8_0RPM.bin conv=fsync
dd if=/dev/mmcblk0p9 of=/mnt/sda1/backup/mmcblk0p9_0RPM_1.bin conv=fsync
dd if=/dev/mmcblk0p10 of=/mnt/sda1/backup/mmcblk0p10_0CDT.bin conv=fsync
dd if=/dev/mmcblk0p11 of=/mnt/sda1/backup/mmcblk0p11_0CDT_1.bin conv=fsync
dd if=/dev/mmcblk0p12 of=/mnt/sda1/backup/mmcblk0p12_0APPSBLENV.bin conv=fsync
dd if=/dev/mmcblk0p13 of=/mnt/sda1/backup/mmcblk0p13_0APPSBL.bin conv=fsync
dd if=/dev/mmcblk0p14 of=/mnt/sda1/backup/mmcblk0p14_0APPSBL_1.bin conv=fsync
dd if=/dev/mmcblk0p15 of=/mnt/sda1/backup/mmcblk0p15_0ART.bin conv=fsync
dd if=/dev/mmcblk0p16 of=/mnt/sda1/backup/mmcblk0p16_0HLOS.bin conv=fsync
dd if=/dev/mmcblk0p17 of=/mnt/sda1/backup/mmcblk0p17_0HLOS_1.bin conv=fsync
dd if=/dev/mmcblk0p18 of=/mnt/sda1/backup/mmcblk0p18_rootfs.bin conv=fsync
dd if=/dev/mmcblk0p19 of=/mnt/sda1/backup/mmcblk0p19_0WIFIFW.bin conv=fsync
dd if=/dev/mmcblk0p20 of=/mnt/sda1/backup/mmcblk0p20_rootfs_1.bin conv=fsync
dd if=/dev/mmcblk0p21 of=/mnt/sda1/backup/mmcblk0p21_0WIFIFW_1.bin conv=fsync
dd if=/dev/mmcblk0p22 of=/mnt/sda1/backup/mmcblk0p22_rootfs_data.bin conv=fsync
dd if=/dev/mmcblk0p23 of=/mnt/sda1/backup/mmcblk0p23_0ETHPHYFW.bin conv=fsync
dd if=/dev/mmcblk0p24 of=/mnt/sda1/backup/mmcblk0p24_plugin.bin conv=fsync
dd if=/dev/mmcblk0p25 of=/mnt/sda1/backup/mmcblk0p25_log.bin conv=fsync
dd if=/dev/mmcblk0p26 of=/mnt/sda1/backup/mmcblk0p26_swap.bin conv=fsync
如果有必要的话 可以全盘备份
dd if=/dev/mmcblk0 | gzip > /mnt/sda1/backup/owrt.mmcblk0.gz
结论
主干分支就三个步骤,但是每个细节都可能会失败重来。
- flash uboot.img
- flash GPT partition table
- flash firmware.img
参考和致谢
主要参考:
- 京东云雅典娜AX6600高通9008刷机教程:https://www.bilibili.com/read/cv39484024/
- 亚瑟 TTL 刷机: https://www.yindan.me/tutorial/jdc-ax1800-pro.html
- 亚瑟 免 TTL 刷机: https://www.right.com.cn/forum/thread-8386067-1-1.html
- 整理好的固件列表: https://www.right.com.cn/forum/thread-8394992-1-1.html
- OWRT:https://github.com/VIKINGYFY/OpenWRT-CI/
以下仅供排除某个小故障点或帮助理解:
- 亚瑟刷回官方教程: https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8388891&page=1#pid20516109
- 亚瑟AX1800红灯救砖维修过程(内附雅典娜AX6600红灯):https://www.right.com.cn/forum/thread-8289754-1-1.html
- SSH下备份原厂分区到电脑的方法: https://www.ekju.cn/2024/01/1238.html