找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 14244|回复: 262

[AX3600] 【硬改】小米AX3600 补齐SPI焊盘实现NAND和SPI双启动实战记录,救砖必备!

 火... [复制链接]
本帖最后由 cieyget 于 2023-10-19 22:26 编辑

介绍
            
      前段时间朋友找我修一个砖头的AX3600  开机卡Uboot 不亮灯也没有任何反应,折腾前没有备份过任何内容,并且NAND编程器固件不能随便修改,改了会导致ecc出错。不能直接通过偏移地址将ART 等关键数据从编程器固件中提取出来,像楼主这种完美主义者,怎么能让机器使用非原机的的ART Bdata 数据呢?观察到主板上有一个SPI 焊盘突然就想起来,曾经 K3 神机的 SPI NAND 双启动魔改。那么只需要使用SPI FLASH 中的UBOOT 启动后 在通过 TFTP 将 原机的数据备份出来不就可以了?于是在一番折腾后有了这个帖子。
      同时作为路由器爱好者,对于普通玩家来说花几百上千买个nand 编程器很不现实,所以我们都不希望在路由器出现问题时束手无策。对于AX3600 我们可以通过补齐空闲的备用SPI焊盘,实现NAND和SPI的双启动。这将使我们在遇到砖头问题时能够轻松切换至SPI启动uboot,而后在SPI Uboot 中刷写救砖固件,从而挽救我们心爱的路由器。

所需物料

      在开始之前,确保已经准备好以下物料:
  
  • 电阻  0402 10K x2
  • 电容  0201  1uF x1
  • NOR FLASH芯片 W25Q128JW x1 (16M)

   
      已测试兼容芯片 : W25Q64FW  W25Q128FW W25Q128JW
      
      这里需要注意的是目前IPQ系列方案的SPI,NAND,TTL的电压全部都是1.8v,如果使用错误的电压可能烧毁芯片发生不预料的损失。
      同时也需要支持1.8V电压的编程器,如 CH341 这种编程器原生也并不支持1.8V的 SPI 芯片,需要购买额外的电平转换板。

将UBOOT写入NOR FLASH

      使用编程器将 uboot 烧写进 W25Q128JW

        

硬件改动
      
      将SPI的外围元件补齐,并且将烧录好数据的SPI NOR FLASH芯片焊接至焊盘。通过更改配置电阻的方式切换为SPI启动。







  • 补齐 R87 R88 位号上的两颗0402 10k 贴片电阻
  • 补齐 C77 位号上的 0201 1uf电容
  • 移除 CPU旁边的R103(4.7k)电阻

      
      
      移除R103电阻,切换至SPI 启动

         

测试和验证

      在进过上面的改动后,插电,开机。5安大电流!

      通过 1.8V TTL 连接至AX3600 可以看到已经正常引导进Uboot了,同时也识别出Flash 的型号和容量。

      

      

      使用 printenv 查看一下当前环境变量

      

通过SPI UBOOT 写入系统
      
      成功启动至SPI UBOOT 后,使用网线连接至 AX3600 并且将网卡IP设置为 : 192.168.1.10,打开TFTP 工具 就可以在SPI UBOOT 中像NAND中写数据了
      将网卡以及UBOOT 环境变量配置好后使用以下命令救砖命令刷机,
      需要注意的是这种方法会给原机的art bdata 等数据写成救砖固件中的信息,建议在操作前将原机的art 和bdata 分区 进行备份
      
     备份原机信息:

  1. #备份原机 ART
  2. nand read 0x44000000 0x800000 0x80000 && tftpput 0x44000000 0x80000 ART.bin

  3. #备份原机 Bdata
  4. nand read 0x44000000 0x880000 0x80000 && tftpput 0x44000000 0x80000 Bdata.bin
复制代码
     

      刷入救砖固件:

      由于uboot最多只能刷入大概100MB的固件,所以将原本的128MB的固件拆分成了两部分,两次上传,两次刷入。

  1. #擦除整片flash
  2. nand erase 0x0 10000000

  3. #下载第一部分
  4. tftpboot ax3600_0-0x3ffffff.bin
  5. #刷入第一部分
  6. nand write 0x44000000 0x0 0x4000000

  7. #下载第二部分
  8. tftpboot ax3600_0x4000000-0x7ffffff.bin
  9. #刷入第二部分
  10. nand write 0x44000000 0x4000000 0x8000000
复制代码
     

      还原原机信息:

  1. #还原ART数据:WIFI 相关参数数据
  2. tftpboot ART.bin && nand erase 0x800000 0x80000 && nand write 0x44000000 0x800000 0x80000

  3. #还原Bbdata: SN MAC 型号等相关数据
  4. tftpboot bdata.bin && nand erase 0x880000 0x80000 && nand write 0x44000000 0x880000 0x80000
复制代码
     
      至此小米AX3600 硬改及救砖步骤完成,关机后将 R103 位号 电阻安装至原位开机即可,建议在第一次启动后重置一遍系统。

相关参考资料:

AX3600 改SPI启动的探索 可救砖-小米无线路由器以及小米无线相关的设备-恩山无线论坛 (right.com.cn)      
       Adding OpenWrt support for Xiaomi AX3600 (Part 1) - For Developers - OpenWrt Forum
       Add OpenWrt support for Xiaomi "Redmi AX6000" - For Developers - OpenWrt Forum

本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
图呢???


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

使用道具 举报

图呢,SPI固件呢白票档来了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

????楼主厉害
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

难道看全文要充VIP?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
楼主威武,佩服啊。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感觉很牛,学习学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

感谢分享启动电阻位置~
话说带ecc的编程器备份,用脚本去除ecc再按art分区偏移量提取就行了

点评

脚本去除ecc 有相关资料链接吗?方便给个链接补。研究折腾了很久,网上搜了找了很久没有找到 有解决方法  详情 回复 发表于 2023-10-15 11:39
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
lgs2007m 发表于 2023-10-15 10:24
感谢分享启动电阻位置~
话说带ecc的编程器备份,用脚本去除ecc再按art分区偏移量提取就行了 ...

脚本去除ecc 有相关资料链接吗?方便给个链接补。研究折腾了很久,网上搜了找了很久没有找到 有解决方法

点评

这个脚本里面的PAGE, OOB= 2048, 64,含ecc是132M,去ecc是128M,如果是其他的闪存数据阵列,需要修改。 https://gist.github.com/soxrok2212/0d94ec68f09ed57164d59ddfcf524eff 使用python3: 来源:https://foru  详情 回复 发表于 2023-10-15 11:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

牛逼,支持下.
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

cieyget 发表于 2023-10-15 11:39
脚本去除ecc 有相关资料链接吗?方便给个链接补。研究折腾了很久,网上搜了找了很久没有找到 有解决方法 ...

这个脚本里面的PAGE, OOB= 2048, 64,含ecc是132M,去ecc是128M,如果是其他的闪存数据阵列,需要修改。
https://gist.github.com/soxrok22 ... 57164d59ddfcf524eff
使用python3:
  1. script.py 132M.bin 128M.bin
复制代码


来源:https://forum.openwrt.org/t/add- ... mi-ax6000/125008/87

点评

这个是官方的uboot么?那怎么设置进去维修模式?  发表于 2023-12-8 16:17
好的,十分感谢分享!  详情 回复 发表于 2023-10-16 14:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

卧槽,真大佬在线教学
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

NAND和SPI双启动
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-4-29 18:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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