找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 6655|回复: 8

路由宝 youku-yk1 终极黄白术:JTAG 和 免拆焊编程器

[复制链接]
本帖最后由 iu87 于 2019-10-11 15:28 编辑

大家好,由于求助TTL救砖,至今仍无人回复,希望知情如何进入TTL的朋友,告知一下,
我这里开始尝试如何用JTAG来救砖,或者是免拆焊编程器,目前仅有一个思路,不知道
是否能成,就在这里连 载献丑了,欢迎来喷。

方案一:免拆焊编程器
1. 直接飞线连接到编程器,这个是失败的,没有必要详细描写,但我主要分析一下失败
的原因和判断的根据。
  先摆一个 FLASH 的引脚图吧:

看示波器观察 FLASH 的时钟脚波形会发现,像这样:

电平高的时候,只有1.5V,这是因为被主控芯片拉低,编程器没办法把时钟线拉到
正常的高电平。

PS:
* 上电时可以观察到 FLASH 的数据线,只有一个有信号,可以判断这是单线SPI模式。
* 测试或查看FLASH芯片手册,可得,该FLASH工作于3.3V
* FLASH 工作电压来自于 0欧电阻 R249

接下来,要想办法解决这个主控影响编程器工作的问题。
---更新 20191008----


先试一下,让主控保持复位的状态,然后再接上编程器,不让主控芯片影响编程器工作。
首先,咱们来看一下主控芯片的手册,

<s>然后找找板子上对应的焊点,从上面的图可以看出来,这些引脚在晶振附近(晶振容易找),
先找到晶振之后,多数芯片上电复位电路是一个电容器对地,可疑分子如下图示,红圈:</s>


<s>在正常通电情,测试电压为 3.3V,符合猜想,如果将该容上面焊盘接地,
如果引脚没错,应该会引起芯片复位。
另外,电容一端是3.3V,也有可能是接着电源,将其接地,将会导致短路,
(这个当然也能引起重启),发生灾难性事故,为了防止这个事件发生,
用万用表,量这个电源与3.3V电源(R249),结果并非直接连接,接下来
就可以试验了。
大约如下,非常刺激,还有电火花,但是用万用表电流档去测,却没有什么
电流,应该是电线比较细,电容放电所致,胆小请勿尝试:</s>


<s>照片的局部~~</s>


<s>另外一头,电脑接着TTL(串口uart),可以看到芯片复位了,看起来疗效不错:</s>
  1. U-Boot 1.1.3 (Oct 19 2015 - 10:09:07)

  2. Board: Ralink APSoC DRAM:  128 MB
  3. relocate_code Pointer at: 87fb8000
  4. enable ephy clock...done. rf reg 29 = 5
  5. SSC disabled.
  6. spi_wait_nsec: 29
  7. spi device id: c2 20 19 c2 20 (2019c220)
  8. find flash: MX25L25635E
  9. raspi_read: from:30000 len:1000
  10. *** Warning - bad CRC, using default environment

  11. ============================================
  12. Ralink UBoot Version: 4.2.1.0
  13. --------------------------------------------
  14. ASIC 7620_MP (Port5<->None)
  15. DRAM component: 1024 Mbits DDR, width 16
  16. DRAM bus: 16 bit
  17. Total memory: 128 MBytes
  18. Flash component: SPI Flash
  19. Date:Oct 19 2015  Time:10:09:07
  20. ============================================
  21. icache: sets:512, ways:4, linesz:32 ,total:65536
  22. dcache: sets:256, ways:4, linesz:32 ,total:32768

  23. ##### The CPU freq = 580 MHZ ####
  24. estimate memory size =128 Mbytes

  25. Please input the operation:                                                   0

  26. 3: System Boot system code via Flash.
  27. ## Booting image at bc050000 ...
  28. raspi_read: from:50000 len:40
  29. Bad Magic Number


  30. U-Boot 1.1.3 (Oct 19 2015 - 10:09:07)

  31. Board: Ralink APSoC DRAM:  128 MB
  32. relocate_code Pointer at: 87fb8000
  33. enable ephy clock...done. rf reg 29 = 5
  34. SSC disabled.
  35. spi_wait_nsec: 29
  36. spi device id: c2 20 19 c2 20 (2019c220)
  37. find flash: MX25L25635E
  38. raspi_read: from:30000 len:1000
  39. *** Warning - bad CRC, using default environment

  40. ============================================
  41. Ralink UBoot Version: 4.2.1.0
  42. --------------------------------------------
  43. ASIC 7620_MP (Port5<->None)
  44. DRAM component: 1024 Mbits DDR, width 16
  45. DRAM bus: 16 bit
  46. Total memory: 128 MBytes
  47. Flash component: SPI Flash
  48. Date:Oct 19 2015  Time:10:09:07
  49. ============================================
  50. icache: sets:512, ways:4, linesz:32 ,total:65536
  51. dcache: sets:256, ways:4, linesz:32 ,total:32768

  52. ##### The CPU freq = 580 MHZ ####
  53. estimate memory size =128 Mbytes

  54. Please input the operation:                                                   0

  55. 3: System Boot system code via Flash.
  56. ## Booting image at b

  57. U-Boot 1.1.3 (Oct 19 2015 - 10:09:07)

  58. Board: Ralink APSoC DRAM:  128 MB
  59. relocate_code Pointer at: 87fb8000
  60. enable ephy clock...done. rf reg 29 = 5
  61. SSC disabled.
  62. spi_wait_nsec: 29
  63. spi device id: c2 20 19 c2 20 (2019c220)
  64. find flash: MX25L25635E
  65. raspi_read: from:30000 len:1000
  66. *** Warning - bad CRC, using default environment

  67. ============================================
  68. Ralink UBoot Version: 4.2.1.0
  69. --------------------------------------------
  70. ASIC 7620_MP (Port5<->None)
  71. DRAM component: 1024 Mbits DDR, width 16
  72. DRAM bus: 16 bit
  73. Total memory: 128 MBytes
  74. Flash component: SPI Flash
  75. Date:Oct 19 2015  Time:10:09:07
  76. ============================================
  77. icache: sets:512, ways:4, linesz:32 ,total:65536
  78. dcache: sets:256, ways:4, linesz:32 ,total:32768

  79. ##### The CPU freq = 580 MHZ ####
  80. estimate memory size =128 Mbytes

  81. Please input the operation:                                                   0

  82. 3: System Boot system code via Flash.
  83. ## Booting image at bc050000 ...
  84. raspi_read: from:50000 len:40
  85. Bad Magic Number

复制代码


<s>暂时就把他当作复位引脚吧,以后要是查出不对头再说,接下来就是保持主控复位状态,
然后看编程器是否能正常使用。</s>

------紧急更新-------

那个引脚是错的,并不是复位引脚。
原因是,我的万用表以前就保险丝断了,刚刚发现,那个电容确实是接了电源。

我不知道怎么添加“删除线”,所以用<s>括起来的,都是错误的试验。

---- 好像找到复位引脚了(20191010) ----
电阻器 R**,一个很好情趣的数字。
复位电路中的电阻有这么样的特征,两头电压都是高电平,阻值4.7K~10K之间,
这个MT7620A,复位线在晶振的这个方位。
验证方法:
使用毫安电流档(万用表),短接GND与R**,电流很小,不到1mA(后来用微安档测得222.4),但是能够在串口看到复位的打印信息。

---- 更新:暴力查找进入 TTL 字符 ----
既然把复位焊点找到了,现在要用编程器烧写,也得夹6个线,也是一大串,
既然都到这里了,我想到一个方案,尝试所有的按键吧,看看是否可以进入。
这是我写的脚本,每重启一次换一个按键,一个按键不行就俩:

  1. #$language = "VBScript"
  2. #$interface = "1.0"

  3. g_vWaitFors = Array("Please input the operation: ", _
  4.                   "Please input the operation:")

  5. g_keys = 1
  6. keys = "xx"

  7. '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8. Sub Main()
  9.     Set objTab = crt.GetScriptTab

  10.     If objTab.Session.Connected <> True then
  11.         crt.Dialog.MessageBox _
  12.             "Error." & vbcrlf & _
  13.             "This script was designed to be launched after a valid " & _
  14.             "connection is established." & vbcrlf & vbcrlf & _
  15.             "Please connect to a remote machine before running this script."
  16.         Exit Sub
  17.     end if
  18.    
  19.     objTab.Screen.Synchronous = true

  20.     Do
  21.         nIndex = objTab.Screen.WaitForStrings(g_vWaitFors)

  22.         g_keys = g_keys + 1

  23.         if g_keys >  255 then
  24.             keys = CStr(Chr(g_keys mod 256)) & CStr(Chr(g_keys \ 256))
  25.         else
  26.             keys = CStr(Chr(g_keys))
  27.         end if



  28.         objTab.Screen.Send keys

  29. '      如果不行,就得在这里要重启一下板子
  30.       
  31.     Loop

  32. End Sub
复制代码


---- 更新:等待按键输入的时长 ----
板子在打印完

  1. Please input the operation:
复制代码

这句话之后,明显可以看到一个等待的时候,我现在用逻辑分析仪看看具体时间是多长,大约不到一秒:

一秒的时间,对于电脑来说,是非常长的时间了,在收到等待输入信号时,可以延时100毫秒,然后输出按键。
hmmm... 不断地让板子重启,试验6万多次,实在不是人干的活。
可能得找个单片机来干这个活了。



--- 更新 20191011:暴力搜寻优酷 L1 youku-yk1 进入TTL按键 ---

大家好,现在已经在搜寻进入的按键了,试一次大约1.7秒,时间如下:
127 * 127 * 1.7 = 27852.8秒 大约 7.7小时,如果不幸密码是3位以上,那就惨了。

-- -- 更新:还猜不到--
  1. ##### The CPU freq = 580 MHZ ####
  2. estimate memory size =128 Mbytes

  3. Please input the operation: 3:[3e 2f 01 00]
  4.                                          0
  5.    
  6. 3: System Boot system code via Flash.
  7. ## Booting image at bc050000 ...
  8. raspi_read: from:50000 len:40
  9. Bad Magic Number
  10.                 should reset target


  11. U-Boot 1.1.3 (Oct 19 2015 - 10:09:07)

  12. Board: Ralink APSoC DRAM:  128 MB
  13. relocate_code Pointer at: 87fb8000
复制代码

试到这里,已经试遍了所有2个ASCII字符的组合,没有一个是对的,
这个需要时间,现在先用编程器吧。然后再找JTAG线。








本帖子中包含更多资源

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

×
我的恩山、我的无线 The best wifi forum is right here.
编辑器救砖保险吧,看看是8脚的还是16脚的买好夹子。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这个我救过,原机的flash是32的,我的编程器不能读写,找了一个主板的1m的写入breed,把flash手按到板子上,启动进入breed之后换原机的32的flash用手按到板子上,网页里面再刷入breed 然后焊回去刷机就可以了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

jtag和ttl完全是两回事啊

点评

ttl看到的实际上就是bootloader启动的输出,如果原版bootloader不提供刷机的选项,那么ttl就刷不成救不了,而jtag是直接给cpu交互的可以直接操作闪存内存,所以你这种情况只能动闪存了,flashrom读写闪存要在cpu不占  详情 回复 发表于 2019-10-8 19:56
现在不知道如何通过TTL救砖,所以求TTL救砖大法。现在我是想通过JTAG或FLASHROM来救。  发表于 2019-10-8 19:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

keke1023 发表于 2019-10-8 18:44
jtag和ttl完全是两回事啊

ttl看到的实际上就是bootloader启动的输出,如果原版bootloader不提供刷机的选项,那么ttl就刷不成救不了,而jtag是直接给cpu交互的可以直接操作闪存内存,所以你这种情况只能动闪存了,flashrom读写闪存要在cpu不占用闪存的情况下,好像调整编程器供电的电压可以做到不启动cpu
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

一个L1搞的这么麻烦,拆闪存读取保存固件,然后清空闪存刷breed,闪存焊回去,进breed把读取保存的编程器固件恢复进去(保留bl分区,不保留epprom),然后再进breed刷机,完事。

点评

这么说就是另外一个话题了...  发表于 2019-10-9 00:44
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-30 22:34

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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