【www.shanpow.com--网络散文】
一:[希捷固件门]希捷“固件门”硬盘修复DIY方法

2012年2月,家里老人家用的台式机500G硬盘忽然就找不到了,BIOS中找不到硬盘,没法启动。由于硬盘中有不少老人家到外面旅游的照片,这要丢了,会非常心疼。拆下硬盘,无意中发现这是希捷硬盘。本着网络有神人的思想,上网google了一下希捷硬盘坏之类的关键词,才发现这个硬盘可能是遭受了希捷“固件门”。正好找到两篇固件门修复方法的网页。1、http://diybbs.zol.com.cn/2/525_17429.html;
2、http://dreamkeeper.com.cn/2010/01/repair-the-firmware-problem-of-seagate.html。这两个帖子写的很好,基本上就按照这个来就可以。不过现在的方法和工具有改变,加上最近在微博上有人问起我修复的方法。这里就把我更新后的方法,以及修复心得写出来,供后来中招的TX参考。
首先声明,为了简化起见,此文中图片选用了部分上面两个网址的图片,请原主人海涵。
首先确认你的硬盘是不是“固件门”之内的,在网上找了一下,希捷官方给出的受影响的硬盘型号如下:
希捷 Barracuda 7200.11
ST31000340AS ST31000640AS ST3750330AS ST3750630AS ST3640330AS
ST3640630AS ST3500320AS ST3500620AS ST3500820AS ST31500341AS
ST31000333AS ST3640323AS ST3640623AS ST3320613AS ST3320813AS
ST3160813AS
希捷 Barracuda ES.2 SATA
ST31000340NS ST3750330NS ST3500320NS ST3250310NS
迈拓 DiamondMax 22
STM31000340AS STM31000640AS STM3750330AS STM3750630AS STM3500320AS
STM3500620AS STM3500820AS STM31000334AS STM3320614AS
STM3160813AS
如果在其中,恭喜你中奖了。
和前面两个方案稍微有点区别的是,如今的工具比较先进了。在淘宝上搜“USB转TTL模块”,这个东西只要几块钱,我买的是8.8元,加运费是14.8元,应该各个城市都有,为了快速起见,建议在自己门口买,我是在http://detail.tmall.com/item.htm?id=14923844549&prt=1332164650867这里买的。里面还有驱动的下载。
然后你需要的是一个装有WIN
XP的台式机,XP系统中有我们后面需要的超级终端,WIN7里面这个相对难找,一定要台式机的原因是笔记本可能带不动硬盘(坏掉的那个),反正网上是这么说的,我用笔记本试了,没成功,后面是用台式机成功的。
最好你还要准备一个USB的延长线,或者是一个USB
HUB,应该不难找,主要是刚才那个小模块要一端连到台式机的USB口,另一端要连到硬盘上,需要长一点的线,操作比较方便。
首先将USB转TTL模块插到台式机的USB口上(可以带着USB延长线),计算机会找到新硬件,如果找不到驱动,最好用卖家那里提供的驱动程序安装一下,这样计算机就能找到USB转TTL模块了。在计算机硬件中会显示这个模块。记住后面的那个端口号(COMx).
连接硬盘。这里要连接的是硬盘的串口端,就是硬盘跳线的那几根针所在的位置。
看下面的那个图,靠近电源的那根针是RX,旁边的是TX,利用上面买到的那个TTL转换模块中提供的杜邦线,一头插在模块的TX端,硬盘这边插在RX端,模块的RX端连到硬盘的TX端。一般的杜邦线可能插到硬盘这端的会挤,可以吧前面那截的塑料切掉,把里面的那个金属部分用钳子捏小一点,然后套到硬盘针上,一定要连接牢靠,并且这两根针之间不能接触到。
请注意下图硬盘串口部分,TX、RX左边还有两个针脚被套着的(已被短接)。这两个针脚据说需要短接,我弄的时候是短接了,否则在激活超级终端的时候会出现问题。短接的方法大家可以自由发挥。
切断马达电源。用点纸片就行。拆下硬盘PCB板上离马达最近的螺丝,同时也拧松另外几颗,按照下图把塑料片塞进去,不用多深的距离,里面是有几个触点,隔离开就行。如果塞好后不放心,可以连接一下SATA电源,看看硬盘马达是否在转动。设置超级终端。运行Windows
XP自带的超级终端(开始-所有程序-附件-通信-超级终端)。根据下图操作。
这里面的设置,除了端口外根据你安装驱动后在系统设备中显示的端口号进行调整外,其它的值都按照图中值来进行设置。
输入指令,调试硬盘(关键部分!这时硬盘与电脑使用连接,并且接上SATA电源,马达不转。)
接下来,会出现一个空白的命令控制界面。按下Ctrl+Z激活调试终端,会出现F3
T>
注意,如果出现了上面的这个字符,恭喜你,你成功了99%,我就为了让这个出现鼓捣了好几个小时。如果空白命令界面上啥都没出现,说明你的TTL模块可能有问题,后面会有一个检验方法,先还是走正题。如果这是出现的是一个箭头符号,或者其他乱码,那么应该是RX与TX的线接反了,调换一下位置;还有可能就是你连接线没有接牢靠;再或者你连接线之间裸露的金属部分是否有碰到的部分;再者就是你是否用了台式机;而且最好是用台式机后部的USB口。如果还不行,你就多试几次吧,晃晃线之类的。就看你的人品了。
下面指令请注意大小写!!!(以下指令是由“风里有梦”提供,我操作的时候有所出入,用纯红标注)
首先我们需要进入2级指令 。输入/2,回车:
F3 T>/2
F3 2>
(操作这一步前请等待20秒)接着,我们需要停止板卡的马达电路。
输入Z,回车:
F3 2>Z
成功,将看到下面的字符出现:Spin Down Complete
Elapsed Time 0.147 msecs
现在来到关键时刻,这个操作一定要注意,不要将T6锣丝刀碰到PCB的电路!!!
首先,抽出硬盘马达的纸片,小心的利用T6 六角锣丝刀紧上螺丝(注意,是所有螺丝,您拧松过的螺丝都要紧上),一定要紧上,然后输入U,回车。
F3 2>U
成功的话,你可听到一阵硬盘马达的转动声后,终端将出现:Spin Up Complete
Elapsed Time 7.093 secs
接着,我们要继续。这个操作要进入1指令,输入/1。回车:
F3 2>/1
F3 1>
现在,让我们清除S.M.A.R.T。创建S.M.A.R.T扇区。输入N1。回车:
F3 1>N1
F3 1>
接下来的一步,是清除G-List,有人说这一步是可选的,
如果我们这一步没有执行,修复完成后,如果硬盘没有再出现BUSY错误,这一步将不是必须的。但是,我还是为了保险, 执行了它:
清除G-List(修正检测链表),输入/T,回车:
F3 1>/T
F3 T>
进入T级命令后,输入下面的i4,1,22再回车:
F3 T>i4,1,22
来到关键时刻,拔掉硬盘的PC供电的SATA电源,终端上显示:(我拔下SATA电源时并没有显示Rst
ox20M,显示的还是F3
T>)Rst
0x20M
接下来,我们不用做任何事,耐心计数等待10秒左右后(有网友建议最好等待数分钟),再插上SATA电源,
将完成硬盘的重启!然后,在终端上,我们再次CTRL+Z,进入硬盘调试模式,终端显示:(我还是显示的是F3
T>)ASCII Diag
mode
来到最后一步了,这个将帮你重建硬盘的索引区到固件内,以下的指令请仔细对照后,方按下回车执行。否则将可能导致数据丢失:
F3 T>m0,2,2,,,,,22
输入以上指令后,不用担心,如果没有问题,这个指令执行可能需要15~30秒钟左右(有网友反馈此命令运行超过十分钟,请大家耐心等待),终端将出现下列内容:具体的数字根据硬盘的不同会有不同,只要后面显示成功了就可以。
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level =
14, Max Certify Rewrite Retries = 00C8
User Partition Format 10% complete, Zone 00, Pass 00, LBA
00004339, ErrCode 00000080, Elapsed Time 0 mins 05 secs
User Partition Format Successful - Elapsed Time 0 mins 05
secs
大功告成!!!拔掉和硬盘串口的连接线,接上SATA数据线,启动电脑,自检没有任何问题,出现了熟悉的画面!!!如果一次没成,可以再启动一下试试。
测试你的TTL模块是否是好的,需要下载一个串口调试工具,直接网上搜就行。把那个TTL转换模块查到USB口上,然后短接上面的RX和TX针,启动串口调试工具,设置好串口号,以及波特率之类的,手动发送一下,如果能够收到反馈,就表示这个模块没有问题。
其他的只能祝你好运了。反正我的那个500G硬盘是搞定了。
二:[希捷固件门]希捷固件门硬盘动手修复过程,配图文说明,骗M
上传修复所需的串口调试助手&超级终端工具,打包成一个压缩包了:
串口调试助手&超级终端.7z (309 K) 下载次数:31
希捷固件门事件,想必各位坛友都听说过,名气很大
硬盘是淘宝跳蚤街100包邮买入,希捷7200.11 500GB,故障表现为:硬盘不能识别,BIOS不认,挂易驱线、接esata口,系统都不认,毫无反应,就像硬盘不存在一样。这种情况下只有通过串口调试解决(原理还是没懂)。不过硬盘本身硬件无恙,通电主机正常转。在网上找了教程,买了需要的材料,开始动手。以下是全过程
兵马未动粮草先行,准备工作必不可少。
第一件事,当然是找教程。网上还是有不少这方面的教程的,找两篇详细点的仔细看懂。
第二件事,准备所需工具和材料。所需材料为:T6螺丝刀(用于拆硬盘电路板),双面胶or透明胶or其他薄的绝缘材料,USB-TTL刷机线(这个是主角)。前两样都有了。第三个,刷机线,看教程有说用挪鸡鸭CA-42数据线的,查了更详细的说明知道真正需要的是2303芯片的USB-TTL(或者说是USB-COM)线,。既然只需要2303芯片的就可以了,可选范围就大多了,淘宝搜到一个专门的2303芯片的刷机线,用作中九机顶盒刷机的,也可以拿来调试硬盘,杜邦插头直接做好的省区我自己动手改造CA-42数据线的麻烦,当然就选这个
图片:01.jpg
。
图片:03.jpg
开始工作了。
一、硬件连接和改造
1、连接硬盘。TTL线的TX端连接硬盘的RX端,TTL线的RX端连接硬盘的TX端。如图为TTL线和硬盘对应的端口
图片:02.jpg
看硬盘数据线插头旁边的跳线槽,需要连接的位置就在这。最左边两根针脚已经被跳线帽短接了,据说这个在操作的时候必须保留否则可能出现问题,我就没管这个了。其实这两根针短接的时候硬盘是强制工作的1.5Gbps速率下的,修好以后可以拔掉,可以稍微提升性能
图片:04.jpg
发现杜邦头太大了,塞不进去。于是把杜邦头的塑料壳拆掉,用透明胶包裹住里面的铜套绝缘
图片:05.jpg
插上去
图片:06.jpg
这样TTL线就和硬盘连接好了
再拆掉硬盘电路板。把一段透明胶对折站起来,粘成绝缘膜,裁成大概1cm宽,铺在硬盘主电机的电源触点上面
图片:07.jpg
这样硬盘通电的时候电机是不会转的
图片:08.jpg
昨天忘记说明一点了,最后要给硬盘插上sata电源线,这个电源线一定要用电源原生的SATA电源线,不要用大4PIN转SATA转接线,也不要用易驱线和移动硬盘的电源,不然可能出现问题。保险起见,当然直接用原生的sata线了
2、连接刷机线到电脑并安装驱动程序
这一步我省略,大家应该都会
二、软件调试
1、设置和确认COM端口
USB-TTL线安装驱动完成以后,进设备管理器,可以看到已安装的设备。如图,我这里是COM6
图片:09.PNG
打开“串口调试助手”(用来确认端口号)
选择刚才安装的刷机线对应的串口号,发现下拉列表最多直到COM4,没有COM6,看来需要改一些设置
图片:10.png
回到设备管理器。自己看图,都看得懂的
图片:11.png
图片:13.png
图片:12.png
在重新打开“串口调试助手”,选择刚改的COM2端口。点“手动发送”,最下面的TX RX数值应该会同时变化(点一次手动发送 数值增加一次),同时变化说明端口选择正确,如果TX增加而RX一直为0,说明端口选择错误或者刷机线没有连接好。确认TX RX数值都会变化以后,即可确认当前COM端口号为连接的端口,须记这个端口
图片:14.png
未完,楼下继续
[ 此帖被wjbluecloud在2011-11-06 11:43重新编辑 ]
图片:15.png
2、用超级终端调试
打开超级终端。
XP系统自带超级终端,位置在“开始-所有程序-附件-通信-超级终端”。WIN7系统没有,在网上找到从XP系统提取出来的超级终端文件,下载下载,正确安装。安装方法就不说明了,很好找说明
打开超级终端要新建连接。设置部分是刚刚开软件截图补上的的,修复硬盘那会没截图,所以连接名称前后有差别
图片:15.png
一步一步设置
图片:16.png
。
图片:17.png
进入调试界面!!!!!
图片:18.png
进入这个界面以后,开始输入代码调试(红色字为输入内容,每输入完一次内容要按回车。截图中红框内的内容即是要输入的部分):
按组合键Ctrl+Z激活调试终端,会出现F3 T>,如图
直接引用原话:“注意,如果这时出现的是一个箭头符号,或者其他乱码,那么应该是RX与TX的线接反了,调换一下位置。 如果串口调试助手正常,却无法激活超级终端,请关注您的USB接口供电是否不足,如果它无法带动一个移动硬盘的话(通常此问题都出现在笔记本或者台式机前置面板上的USB接口上),请换一个电力强劲的USB接口。 ”输入指令要注意大小写
图片:19.png
输入 /2 回车 :: 进入2级指令(我也不懂,照做)(PS:双冒号后面为说明文字,下同)
输入 Z 回车 :: 停止硬盘主机电路
看到下面的字符出现:
“Spin Down Complete
Elapsed Time 0.145 msecs”如图
图片:20.png
接下来,抽出压在硬盘电路板下面的透明胶。抽出以后仔细听,发现硬盘主机确实没没动静,看来这些调试代码却是是这么回事 虽然我不懂原理,哈哈
输入 U 回车 :: 启动硬盘主机电路
这时候,听到硬盘主机启动了,就和正常硬盘刚刚通电一样,通电以后,屏幕出现:
“Spin Up Complete
Elapsed Time 6.843 secs”
图片:21.png
输入 /1 回车 :: 进入1级指令
输入 N1 回车 :: 创建S.M.A.R.T扇区
输入 /T 回车 :: 清除G-List。引用原文说法:“有人说这一步是可选的, 如果我们这一步没有执行,修复完成后,如果硬盘没有再出现BUSY错误,这一步将不是必须的。”。管他的,既然可能需要,就操作吧
输入 i4,1,22 回车 :: 注意大小写,注意要输入“逗号”
图片:22.png
指令输入完成,拔掉硬盘的电源线,等待10秒左右,硬盘启动
在终端上,按组合键Ctrl+Z,再次进入调试模式
输入 m0,2,2,,,,,22 回车 :: 重建硬盘的索引区到固件内。这一串代码要仔细看清楚.....一个字符都不能多也不能少
等待片刻(15-30秒),终端上出现一大串文字,我就不敲上来了,自己看,截图中加上荧光背景的即是
图片:23.png
到这里硬盘就已经复活了。拔掉USB-TTL线,拔掉硬盘电源线,关闭超级终端等工具,完成。拿易驱线接上硬盘连接电脑,终于出现了发现新硬件的提示。系统自动安装上硬盘驱动,打开“计算机”,硬盘的分区都出现了!!!狂喜
现在,硬盘只是复活而已,离可以放心的正常使用还差一步
3、给硬盘刷新版固件
原始版本的固件是有BUG的,即是现在修复了硬盘,将来迟早还会出问题,为以防万一,一定要刷新版固件。过程不详述,这个的教程就更多了,一搜一大把。
下面就是进行硬盘的常规测试了,买回来一块旧硬盘,一些测试是必要的
既然是旧硬盘,必要的测试肯定要做,无外乎Smart信息检测,坏道检测,性能检测
刷新固件完成以后才开始测试的。
先上Smart信息。可见硬盘已经用了8000+小时了,是用了不短时间的,不过健康状况还比较放心。图中圈出来的是马达启动/停滞记数,只有11次,这11次应该就是我刷固件前后N次关机重启电脑产生的,看来之前的操作把这一项清零了(猜测)。
有些数值相当大,不知道为什么,感觉是bug
图片:24.png
HDTune满扫测试,全绿过关,应该没有严重的坏道。后面有MHDD的详测截图,更准确
图片:25.png
读取测试。这次测试的时候,前面说的那个跳线帽没有拔掉,感觉传输曲线最高的地方被截断了
图片:26.png
拔掉跳线帽以后的测试,读取性能稍微提升。
图片:27.png
写入测试。最高值同样被截断。拔掉跳线帽以后就没测试了,应为已经开始用这块硬盘了,写入测试会覆写所有数据
图片:28.png
性能,就那样,单碟250GB的硬盘,和单碟500GB还是有差距的。不强求了,毕竟是旧硬盘,拿来当做文件仓库使用,也不需要多好的性能
下面是MHDD检测截图,DOS下面测试的。MHDD,检测坏道的人应该都知道,比HDTune准确多了。检测太耗时,500G检测完要将近两小时,我只检测到70%左右就中断了,因为硬盘后部读写比较少,出坏道的可能性很小,前面没大量坏道的话后面不是很必要检测了
图片:29.GIF
有40个绿块,有点遗憾,已经用了8000+小时有点不好的区块在意料之中。不过令我惊喜的是,除了这些绿色区块以外,其他部分盘面质量相当好,测试中几乎一直是大面大面3ms<的区块,就像截图中一样,其实扇区读取速度都相当好,要不是那40个绿色区块,估计大家一眼看到这个截图会以为是新硬盘的测试数据吧
现在这块硬盘就作为我的电影&软件游戏安装包存放盘,兼职下载仓库(不是挂机党,学校教育网带宽大,校园PT战下载资源速度很快,加上我设置每个下载任务128M的缓存,估计不会给硬盘造成过大负担),存放的不是重要文件,即即使将来硬盘英年早逝,重要文档也不会丢(已经刻盘备份+网络备份了)。
硬盘已经正常使用一星期,一直很正常,哈哈哈。唯一不爽的,就是这块盘读写噪音好大啊!!!比500G西数蓝盘噪音大多了。。。
总之,在3.5寸500G硬盘涨到500+RMB的时候买到这样一块硬盘,还是相当值得的。
串口调试助手和超级终端,等会我上传上来,估计有人会需要
到此结束!!!!求M啊!!!!有M的都给我加啊给我加,写这个帖子花了不少功夫,大家看我截图就知道了,几乎每张图都专门处理过,用的专门的软件截的,工作量不小。不奖励点,说不过去吧。
PS:当时收到快件的时候,拆开发现卖家还给了一张2G TF卡一张M2记忆棒(非原装棒)。呵呵,那个人是好人
TF,好的
图片:TF测试.PNG
M2记忆棒,有损坏区块,这个我现在用不上,也懒得处理了,先放着吧
图片:M2测试.PNG
三:[希捷固件门]希捷f3系列硬盘固件结构解析

研究f3硬盘也有一段时间了,也算是有一些技术方面的突破,也推出了f3专修工具,但是自己对于技术还是很保守的,有些东西自己花了大量时间去研究实在不想去共享出来,这几天被朋友点醒了一下,决定在博客里面公开一些研究出来的技术。
希捷在2008年收购迈拓以后,推出的新型号硬盘,从7200.11开始,就是F3类型的硬盘(因为在终端指令下显示为F3 T)。F3硬盘的固件结构改进自希捷原来的SCSI硬盘,盘体结构改进自ATA硬盘。原来的SCSI硬盘特有的编译器问题也带进了ATA硬盘中。
F3硬盘的PCB中包含有大量的硬盘适配参数,在PCB脱离盘体单独接电后也可以获取一部分信息。
F3硬盘启动流程:在PCB的主控芯片中包含一段最原始的引导代码(boot code),在硬盘加电后,pcb上的(reset)复位电路开始工作,检查主控芯片,电机驱动芯片,ram等的电路完整性,在检查通过后硬盘的控制权交给boot code,它加载rom中的数据到ram中运行,这时候硬盘的控制权已经交给ram了,这里要说一下ram,通常购买硬盘时关注的几个参数(品牌、容量、接口、缓存)这个缓存就是指的pcb上的ram,ram大小现在常见的硬盘有8M、16M、32M、64M等。这个容量指的是这个pcb上ram的物理容量,但是在这个物理容量基础下,又划分了几个逻辑概念,(最少包括核心ram,系统ram和用户ram)然后再去盘片的固件区中加载一些缺陷列表,译码表和smart模块等,于是硬盘启动完成。
本文出自 “比目鱼” 博客,请务必保留此出处http://bimuyu.blog.51cto.com/2705010/1569167






