找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 25840|回复: 347

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

 火... [复制链接]
发表于 2023-10-14 18:46 | 显示全部楼层 |阅读模式
本帖最后由 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

本帖子中包含更多资源

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

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-10-14 18:58 | 显示全部楼层
图呢???


=======================
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-14 19:44 | 显示全部楼层
图呢,SPI固件呢白票档来了
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 1 反对 0

使用道具 举报

发表于 2023-10-14 19:54 | 显示全部楼层
????楼主厉害
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-14 23:04 | 显示全部楼层
难道看全文要充VIP?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 08:13 来自手机 | 显示全部楼层
楼主威武,佩服啊。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 08:39 | 显示全部楼层
感觉很牛,思考思考
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

点评

脚本去除ecc 有相关资料链接吗?方便给个链接补。研究折腾了很久,网上搜了找了很久没有找到 有解决方法  详情 回复 发表于 2023-10-15 11:39
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-10-15 11:39 | 显示全部楼层
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
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 11:45 | 显示全部楼层
牛逼,支持下.
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 11:50 | 显示全部楼层
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
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 14:33 | 显示全部楼层
卧槽,真大佬在线教学
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 15:03 | 显示全部楼层
NAND和SPI双启动
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 17:42 | 显示全部楼层
谢谢分享。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-15 19:25 | 显示全部楼层
牛!                 
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-5-13 17:45

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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

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