找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 17861|回复: 41

[AX3600] AX3600 改SPI启动的探索 可救砖

  [复制链接]
发表于 2021-3-8 14:54 | 显示全部楼层 |阅读模式
本帖最后由 huah0235 于 2021-3-9 10:11 编辑

接上个帖子,尝试将AX3600的512MB内存改为1G。新一代wifi6方案和以前有很大不同,更加复杂。有一个cdt分区控制内存布局。想要更改内存需要刷cdt分区,刷了大佬编译的测试cdt,uboot读取错误的cdt无法启动,直接变砖,故开始了艰难的尝试。目前已经救活,但坑很多,写出来给大家点启发,也记录一下这次折腾,给后续自己留一点参考。特别感谢群里志平大佬提供的支持和帮助!在此鸣谢
前期需要了解的


一、元器件工作电压
这个机器SPI,NAND,TTL的电压全部都是1.8v,而不是常见的3.3v。这就导致我手里现成的芯片全部无法使用。
1.8v 的SPI芯片很少,这里我用的型号W25Q128FW,同时,那种简易的编程器,大部分也不支持。需要购买支持1.8v新编程器或者电平转换板
NAND用的也是1.8v,老一点的编程器或者有些大神用双启路由器改的编程器没法使用,而且电压过高有可能烧毁芯片。本人使用的RT809H可以支持。
TTL兼容性差。老的土豪金ttl线,插上去之后机器会无法启动,必须拔掉先上电,再插ttl。很多时候需要中断进入uboot,会错过。推荐使用支持1.8v的FT232 TTL线,无上述问题。

其他高通方案的wifi6芯片,电压貌似也是1.8,想折腾这类机器要提前准备好需要的硬件。

二、NAND混用
AX3600的NAND芯片是混用的,分winbond W29N02GZ和gigadevice GD9FS2G8F2A两种。本身这种做法无所谓,但是这两颗芯片的实际容量是不一样的。W29N02GZ编程器读出来的容量是264MB,GD9FS2G8F2A是272MB,如果把GD的编程器固件往winbond中刷,肯定是刷不进去的。NAND编程器固件又不能随便修改,会导致ecc出错。应该有解决方法,但我没研究出来,欢迎知道方法的大佬指点。



---------------------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------

开始折腾



1.添加SPI的外围元件,焊接烧录好数据的SPI,CPU旁边的R103(4.7k)电阻摘掉。即可切换为SPI启动。此机器有SPI焊盘,但是后面有两个电阻需要补上
R87 R88两颗10k贴片电阻,0402封装。
C77 1uf电容,0201封装

参考openwrt官方论坛https://forum.openwrt.org/t/addi ... mi-ax3600/55049/166



2.进入uboot,输入print,查看ip地址,网线连接路由器和电脑,电脑手动设置为192.168.1.10(官方固件可能是192.168.31.100,具体看print输出的信息),

3.打开tftp64,将所需文件复制到tftp目录,调整好ip

4.输入命令刷机

#擦除整片flash
nand erase 0x0 10000000
#由于uboot最多只能刷入大概100MB的固件,所以我将原本的128MB的固件拆分成了两部分,两次上传,两次刷入入。先下载第一部分
tftpboot ax3600_0-0x3ffffff.bin
#刷入第一部分
nand write 0x44000000 0x0 0x4000000
#下载第二部分
tftpboot ax3600_0x4000000-0x7ffffff.bin

#刷入第二部分
nand write 0x44000000 0x4000000 0x8000000

5.将R103装回去,切换回nand启动。机器成功启动之后web更新一遍固件,救砖完成


---------------------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------

技巧
1.刷这种固件会覆盖掉原机的所有信息,包括art,mac,bdata,序列号等。可以参考使用这个帖子(https://www.wutaijie.cn/?p=254)提到的方法还原原机备份。比较麻烦。可以在uboot中刷入,也可以先修改,再刷入。
两个需要修改的部分(art,bdata),都在ax3600_0-0x3ffffff.bin中。
art十六进制地址0x800000-0x880000
bdata十六进制地址0x880000-0x900000








2.原机分区信息
root@XiaoQiang:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00010000 "spi32766.0"
mtd1: 00100000 00020000 "0:SBL1"
mtd2: 00100000 00020000 "0:MIBIB"
mtd3: 00300000 00020000 "0SEE"
mtd4: 00080000 00020000 "0EVCFG"
mtd5: 00080000 00020000 "0:RPM"
mtd6: 00080000 00020000 "0:CDT"
mtd7: 00080000 00020000 "0:APPSBLENV"
mtd8: 00100000 00020000 "0:APPSBL"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "bdata"
mtd11: 00080000 00020000 "crash"
mtd12: 00080000 00020000 "crash_syslog"
mtd13: 023c0000 00020000 "rootfs"
mtd14: 08000000 00020000 "rootfs_1"
mtd15: 01ec0000 00020000 "overlay"
mtd16: 00080000 00020000 "rsvd0"
mtd17: 00900000 00020000 "0:WIFIFW"
mtd18: 0041e000 0001f000 "kernel"
mtd19: 016c4000 0001f000 "ubi_rootfs"
mtd20: 01876000 0001f000 "data"




3.刷cdt卡死的ttl输出

IPQ807x# sf probe
SPI_ADDR_LEN=3
SF: Detected W25Q128FW with page size 256 Bytes, erase size 4 KiB, total 16 MiB
IPQ807x# sf erase 0x1e0000 0x10000
SF: 65536 bytes @ 0x1e0000 Erased: OK
IPQ807x# sf write 0x44000000 0x1e0000 0x10000
device 0 offset 0x1e0000, size 0x10000
SF: 65536 bytes @ 0x1e0000 Written: OK
IPQ807x# reset
resetting ...

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=file:///C:\Users\16429\AppData\Roaming\Tencent\QQTempSys\%W@GJ$ACOF(TYDYECOKVDYB.pngBOOT.BF.3.3.1-00148
S - IMAGE_VARIANT_STRING=HAABANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e1
B -       201 - PBL, Start
B -      2735 - bootable_media_detect_entry, Start
B -      2881 - bootable_media_detect_success, Start
B -      2885 - elf_loader_entry, Start
B -     11375 - auth_hash_seg_entry, Start
B -     11617 - auth_hash_seg_exit, Start
B -    250130 - elf_segs_hash_verify_entry, Start
B -    310648 - PBL, End
B -    490897 - SBL1, Start
B -    569709 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    579561 - pm_device_init, Start
B -    761158 - PM_SET_VAL:Skip
D -    179340 - pm_device_init, Delta
B -    763415 - pm_driver_init, Start
D -      5307 - pm_driver_init, Delta
B -    769911 - clock_init, Start
D -      2135 - clock_init, Delta
B -    773876 - boot_flash_init, Start
D -     16134 - boot_flash_init, Delta
B -    793793 - boot_config_data_table_init, Start
D -      1098 - boot_config_data_table_init, Delta - (575 Bytes)
B -    801448 - Boot Setting :  0x00000618
B -    805169 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:16
B -    812215 - sbl1_ddr_set_params, Start
B -    816027 - CPR configuration: 0x30c
B -    819413 - cpr_init, Start
B -    822188 - Rail:0 Mode: 5 Voltage: 808000
B -    827434 - CL CPR settled at 760000mV
B -    830271 - Rail:1 Mode: 5 Voltage: 880000
B -    834449 - Rail:1 Mode: 7 Voltage: 904000
D -     16561 - cpr_init, Delta
B -    841342 - Pre_DDR_clock_init, Start
B -    845368 - Pre_DDR_clock_init, End
B -    848662 - DDR Type : PCDDR3
IPQ807x# sf probe
SPI_ADDR_LEN=3
SF: Detected W25Q128FW with page size 256 Bytes, erase size 4 KiB, total 16 MiB
IPQ807x# sf erase 0x1e0000 0x10000
SF: 65536 bytes @ 0x1e0000 Erased: OK
IPQ807x# sf write 0x44000000 0x1e0000 0x10000
device 0 offset 0x1e0000, size 0x10000
SF: 65536 bytes @ 0x1e0000 Written: OK
IPQ807x# reset
resetting ...

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=file:///C:\Users\16429\AppData\Roaming\Tencent\QQTempSys\%W@GJ$ACOF(TYDYECOKVDYB.pngBOOT.BF.3.3.1-00148
S - IMAGE_VARIANT_STRING=HAABANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e1
B -       201 - PBL, Start
B -      2735 - bootable_media_detect_entry, Start
B -      2881 - bootable_media_detect_success, Start
B -      2885 - elf_loader_entry, Start
B -     11375 - auth_hash_seg_entry, Start
B -     11617 - auth_hash_seg_exit, Start
B -    250130 - elf_segs_hash_verify_entry, Start
B -    310648 - PBL, End
B -    490897 - SBL1, Start
B -    569709 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    579561 - pm_device_init, Start
B -    761158 - PM_SET_VAL:Skip
D -    179340 - pm_device_init, Delta
B -    763415 - pm_driver_init, Start
D -      5307 - pm_driver_init, Delta
B -    769911 - clock_init, Start
D -      2135 - clock_init, Delta
B -    773876 - boot_flash_init, Start
D -     16134 - boot_flash_init, Delta
B -    793793 - boot_config_data_table_init, Start
D -      1098 - boot_config_data_table_init, Delta - (575 Bytes)
B -    801448 - Boot Setting :  0x00000618
B -    805169 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:16
B -    812215 - sbl1_ddr_set_params, Start
B -    816027 - CPR configuration: 0x30c
B -    819413 - cpr_init, Start
B -    822188 - Rail:0 Mode: 5 Voltage: 808000
B -    827434 - CL CPR settled at 760000mV
B -    830271 - Rail:1 Mode: 5 Voltage: 880000
B -    834449 - Rail:1 Mode: 7 Voltage: 904000
D -     16561 - cpr_init, Delta
B -    841342 - Pre_DDR_clock_init, Start
B -    845368 - Pre_DDR_clock_init, End
B -    848662 - DDR Type : PCDDR3



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
fei13 + 1 大佬能不能发一个3600原厂分区文件,我的没备份,买了工具准备救砖

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-3-8 18:43 | 显示全部楼层
升了最新版本没了ssh没法帮你了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-9 09:53 | 显示全部楼层
备份出来的分区可以用编程器写进吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-3-9 10:12 | 显示全部楼层
130011388 发表于 2021-3-9 09:53
备份出来的分区可以用编程器写进吗?

普通的不可以,ECC校验部分读不出来,nanddump出来的应该行
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-9 11:22 | 显示全部楼层
huah0235 发表于 2021-3-9 10:12
普通的不可以,ECC校验部分读不出来,nanddump出来的应该行

大神!有个问题困扰我好久了,我通过ttl线用uboot命令还原分区,怎么不成功,每次还原后都变砖,把备份出来的uboot分区备份出来,再写进去重启就砖了,同样的方法还原art分区没问题,是不是uboot分区有锁
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-9 11:32 | 显示全部楼层
130011388 发表于 2021-3-9 11:22
大神!有个问题困扰我好久了,我通过ttl线用uboot命令还原分区,怎么不成功,每次还原后都变砖,把备份出 ...

是好的机器,ttl命令备份出uboot分区,不做任何修改,再写进去,就变砖,是什么情况
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-9 11:32 | 显示全部楼层
130011388 发表于 2021-3-9 11:22
大神!有个问题困扰我好久了,我通过ttl线用uboot命令还原分区,怎么不成功,每次还原后都变砖,把备份出 ...

是好的机器,ttl命令备份出uboot分区,不做任何修改,再写进去,就变砖,是什么情况
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-10 11:25 | 显示全部楼层
好文章,谢谢分享,先收藏
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-3-10 11:33 来自手机 | 显示全部楼层
130011388  2021-3-9 11:32
ttlubootκд

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-3-11 11:41 | 显示全部楼层
搭接的内存做多大的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-2 20:04 | 显示全部楼层
谢谢你分享好教程,收藏备用。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-3 12:11 | 显示全部楼层
130011388 发表于 2021-3-9 11:32
是好的机器,ttl命令备份出uboot分区,不做任何修改,再写进去,就变砖,是什么情况

坏块,可以发来我给你修好。qq1947958141
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-7 18:17 | 显示全部楼层
Maximilian 发表于 2021-7-3 12:11
坏块,可以发来我给你修好。qq1947958141

现在整好了,不是坏块问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-8 12:14 | 显示全部楼层

学习学习一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-7-21 13:18 | 显示全部楼层
能否提供一下SPI闪存刷入的U-BOOT文件啊。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-19 18:03

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表