雅典娜 刷机教程

通过 高通 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 模式

  1. PC 和 雅典娜 连接好
  2. 短接 R656 和 GND 针脚(保持)
  3. 然后上电
  4. 上电2秒后,不用再短接了
  5. 打开设备管理器,查看端口 里面有个 Qualcomm 的设备,记下 COM(n),我这里为 COM3,记下 3

2.2 刷写临时 uboot(临时)

  1. 打开 USB命令.bat
  2. 选择 京东云AX6600雅典娜
  3. 输入 COM端口号, 我刚才为3,这里就输入 3,然后 按 enter
  4. 等待 SBL1 完成,程序会暂停,准备第二次刷入
  5. 注意!!,这个地方非常关键,刷入 uboot 的过程,非常快,如果不及时操作,临时的 uboot 就进不去,那么就必须回到 2.1 重新开始
  6. 准备好按住 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, 反复重试前面的步骤, 蓝灯亮了之后再来这一步

  1. 把PC网线和雅典娜的LAN口连接起来
  2. 进入到控制面板,网络和 Internet -> 查看基本网络信息并设定连接 -> 以太网(找到连接的网卡),点属性 -> TCP/IPV4
  3. 调整为固定IP地址 192.168.1.10, 掩码 255.255.255.0,确定
  4. 打开浏览器 http://192.168.1.1
  5. (可选) 如果看不到正常连接,点 配置 -> 高级 -> Speed & Duplex -> 10Mbps Full Duplex100Mbps Full Duplex

2.4 从临时 uboot 刷到 rom 上

此时的 uboot 掉电就没了,那么想要一直用 uboot,需要把它刷写到 rom 里。

  1. 打开浏览器 http://192.168.1.1/uboot.html注意地址!!,只有 uboot.html 才可以刷,不要搞错了,否则前功尽弃
  2. 选择 选择文件 选择 亚瑟雅典娜通用不死uboot\uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin, 点击 Update U-Boot
  3. 此时会闪烁蓝光,完成刷写之后会亮绿光(3s),接着就会重启。

验证:

  1. 断电
  2. 按住 RESET(保持),上电
  3. 看到红灯闪烁,直到蓝灯,就进入到了 uboot。

这个时候 就不再需要再进入到 9008 模式了。也就是说 初步的刷机已经完成了。可以把雅典娜组装起来了。

2.5 刷写 GPT 分区表

  1. 按住 RESET(保持),上电
  2. 打开 http://192.168.1.1/img.html注意地址!!
  3. 选择 选择文件 选择 \雅典娜双分区gpt分区表(不带最后的大分区)\gpt-JDC_AX6600_Athena_dual-boot_rootfs2048M_no-last-partition.bin, 点击 Update IMG
  4. 蓝灯闪烁,完成后会变为绿灯。

因为雅典娜普遍都是 128G 的,不缺容量,所以刷 2G 给系统没什么。不像其他的路由器。

2.6 刷写 OpenWrt 系统

2.6.1 系统选择

其实没几个能用的,我自己用的是 immortalwrt 高通版

直接下载连接:

https://github.com/VIKINGYFY/OpenWRT-CI/releases/tag/IPQ60XX-WIFI-YES_immortalwrt.git-main_24.10.26_04.21.07

如果地址 404 了,那么就找 Release:PQ60XX-WIFI-YES_immortalwrt.git-main_ 开头的就行。

Kwrt

另外一个是 Kwrt(基于官方), 看起来很不错,但是我启动不了,等哪天能用了,我再试试吧

2.6.2 刷写系统

  1. 按住 RESET(保持),上电
  2. 打开 http://192.168.1.1/注意地址!!
  3. 选择 选择文件 选择 immortalwrt.git-main_jdcloud_ax6600-squashfs-factory_24.10.22_13.17.18.bin,点击 Update firmware
  4. 蓝灯闪烁,完成后会变为绿灯。在之后就是 正常启动,启动后会变为蓝灯(常亮)。

3. 备份 GPT 分区

一个好的工程师总会有备份的好习惯。

虽然上面刷过 GPT 分区,但是原来的数据都还保留着,主要的分区都没动,所以还是有备份的价值的。尤其是你还想刷回原厂。

雅典娜和亚瑟的 备份分区脚本是一样的。

  1. 在雅典娜上插入u盘(自动挂载到了 /mnt/sda1
  2. mkdir -p /mnt/sda1/backup
  3. 执行下面的脚本
#!/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

结论

主干分支就三个步骤,但是每个细节都可能会失败重来。

  1. flash uboot.img
  2. flash GPT partition table
  3. flash firmware.img

参考和致谢

主要参考:

以下仅供排除某个小故障点或帮助理解: