|
1、 按CTRL + Z可进入内部工作模式,然后屏幕上出现提示符 T> ,表明硬盘已经处于内部工作模式
2、 Ctrl+L 查看固件版本(PCB)
3、 , . '(标点符号) 查看内部状态信息
4、 Ctrl+T 执行当前程序段
5、 $ 更改硬盘的系列号
6、 /1 更改内部工作模式级别为1级, 同样有 /2 /3 /4 /5 /T.....
7、 进行固件自检:输入N31,,22 再执行CTRL+T
(1)需要注意的如果固件有问题会出现*号,如果没有表示固件是好的,可以进行硬盘自动是,这是硬盘自动检测,而不是自校准
(2)如果没有*号,选择在T/>输入N50 回车, 再CTRL+Z 进入T/>输入N50,22回车,T31,,22回车CTRL+T 即可开始
察看磁头有否有损坏:T5
通过“;”来查看age值
出现硬盘自动检测需要等10分钟-20分钟或更少。屏幕会出现数字跑动
当然,你可以不等数字跑动,直接将硬盘关电,接在单独的电源上,
如果硬盘红绿点多硬盘进行自校准可能需要24小时或48小时或更长
大家可以做一个,只要成功了,相信大家心理就有底了
自动测试并不能进行坏道修复。做完以后需要接在串口上再N50 我输入的是几个,号就是几个,就是自校准,SELFSCAN是自修复,不要弄混了
8、 砍头Ctrl+T->YE0->E50->T5->T50
复原Ctrl+T->YE1->E50->T5->T50
用指令实现ST的砍头
首先接好COM线,进入软件后接通电源,出现如下提示:
Err=0016
Err=0016
Err=0016
看来硬盘的磁头有坏,自检无法通过,这时按指令“.”出现如下提示:
Pgm=00 Trk=379E(379E).1.085 Zn=A Err=00 ErCt=0000 Hlth=0000 CHlth=0000 Ready
看到了提示Trk=379E(379E).1.085中379E是磁道数,1是磁头,085是扇区数。
看到了这个提示说明磁头1正被选中,那就说明磁头1坏了。只要不是0头坏就可以了。下面利用Y指令砍头,先运行指令“;”出现如下提示:
Age=50 Type=E2 MxCyl=4979 MxHd=2 MxSct=1E0 BSz=0200 TCode=0000
看提示Type=E2,E2中E是类型,2是磁头数,说明磁头为0、1、2共三个头,现在砍掉1、2头,使用指令“YE0”出现如下提示:
U10 - ST315323A ,03.02
VBPIConfig: 08, FF, FF, FF.
RamHeadMap: 00, 01, 02, F3.
Total Capacity= 00995060
SCyl ECyl H0 H1 H2 H3
---- ---- -- -- -- --
Zone 0: 0064-0075 518 NIL NIL NIL
Zone 1: 0076-066C 648 NIL NIL NIL
Zone 2: 066D-0CE3 624 NIL NIL NIL
Zone 3: 0CE4-128D 608 NIL NIL NIL
Zone 4: 128E-1931 588 NIL NIL NIL
Zone 5: 1932-2007 576 NIL NIL NIL
Zone 6: 2008-251B 555 NIL NIL NIL
Zone 7: 251C-2A43 540 NIL NIL NIL
Zone 8: 2A44-2F75 522 NIL NIL NIL
Zone 9: 2F76-3489 504 NIL NIL NIL
Zone A: 348A-397D 480 NIL NIL NIL
Zone B: 397E-3ED5 450 NIL NIL NIL
Zone C: 3ED6-4433 432 NIL NIL NIL
Zone D: 4434-4979 396 NIL NIL NIL
接着输入指令“N50”后按“Ctrl+T”出现如下提示:
ATRst
PMstr with Non-conform'gSlv
说明砍头成功。
这时热插把电源看到如下提示,看硬盘型号变为ST35112A,硬盘已经变成了5G了。
Interface task reset
Ref 6A - Head Mask 0A00 - Head Mask 0900 - Switch to full int.
Ready
U10 - ST35112A ,03.02
.PMstr with Non-conform'gSlv
9、
Ctrl+W,Ctrl+S ------------立即中指测试,改变寄存器状态回指令接受状态。
Ctrl+Q -------------继续、延长指令测试状态。
Ctrl+W,Ctrl+Z-------------中断测试,改变存储器状态回00状态,等待命令。
Ctrl+E -------------IDE接口状态测试。
^F -------------读取段寄存器记录
^G -------------写队列堆栈(跳转)
^I -------------控制寄存器堆栈(跳转)
^K -------------保留选项
^R ---保留选项 (这个指令只有在驱动器马达起转情况下才有效)^S ------------当前执行地址段快照(记录logo)
Ctrl+T -------------开始执行指定测试
^V ------------ Interface Command Echo and Activity Trace Toggle
^X ------------Interface and Niwot Command History
^Y -------------逐行显示驱动器Smart参数
Ctrl+D -------------查看、显示寄存器工作状态
Ctrl+L -------------DSP存储器版本信息
Shift+! ------------测试寄存器60H-FFH地址
Shift+% ------------测试硬盘的序列号
Shift+^ ------------测试访问时间
Shift+# -------------硬盘驱动器参数
T n(n=1/2/3…..40)开始测试
N n(n=1/2/3….40)给Age赋值
En(n=1/2/3…..)输出测试结果
J n(n=1/2/3…..)以行方式输出结果(J4命令对U4/U8/U10)
D n(n=1/2/3…..)以连续方式输出结果
(D2命令输出全部测试结果和显示状态)
Y设定存贮器Model
# 设置存贮器HDA的S/N号
$ 设置存储器PCB的S/N号
R 读取寄存器的TMOC
W 写寄存器的TMOC
Hx (x=0……..4)挑选测试磁头
Sx (x=4……1330H)校对存储器柱面参数(U5/U6和酷鱼可能无效)
Z 电机停转
U 启动电机
F 磁道配置选项
。综合测试选项
/1 /2 /3 /4……../T 切换内部工作模式
测试状态参数:
C…13校对磁头区
30 扫描磁盘表面,重组有缺陷的扇区
3F 误差状态显示
3B 测试扇区状态
05 反向测试扇区
06 正向测试扇区
1E 测试磁头的平均访问时间
C..13校准磁头着陆区
01 初始测试变量参数
8..B 测试硬盘容量大小
02 配置存储器的伺服区域
接入存储器的接口
22…26读写测试存贮器表面
1级 命令: 存储器操作命令
Bxx,yy 显示缓冲
xx - 欲显示的缓冲编号。注意:若显示的缓冲为
读缓冲,则低亮度显示的字节不能与写缓
冲中的相应字节相比较。
yy - 欲要相比较的缓冲编号。 (不匹配的数据高亮度显示), 若 xx 为读缓冲且 yy 没有输
入,则与写缓冲中相应数据匹配的字节低亮度显示;而不匹配的高亮度显示。
Dx,yyyy,zz
显示存储器
从xyyyy 地址开始显示256字节的存储器内容
x - 地址大于16 位时的高位
yyyy - 地址大于16位时的低16位或16位地址
zz - 高亮显示与此值相匹配的字节
E
擦除系统信息,设置所有参数为缺省值
*** 必须重新开关驱动器电源才能使此命令生效
F
读取跳线信息
返回信息
Jumper: yy
yy = 00: Slave (没有使用跳线)
yy = 01: Master with ATA slave or single drive (跳线安装在靠近 ATA 电缆的位置)
yy = 02: Cable Select (跳线安装在靠近串行线连接器的位置)
yy = 03: Master with non-ATA slave (两个跳线都安装了)
M
显示Flash ROM 的设备码,生产商代码,用户缺省算法选择字 (ASW), 和备用的缺省ASW。此
命令执行完后驱动器会重新启动。
Nxx
SMART 串行口控制
xx – Level 1 N 子命令
= 1 – 创建 SMART 扇区
= 2 – 更新 SMART 属性 (与接口命令中的 SMART D3h 选项相同 )
= 3 – 更新SMART 固件
= 5 – 转储 SMART 属性数据
= 6 – 转储SMART 阈值
= 7 – 转储 G-表
= 8 – 转储紧急事件日志
= 9 – 转储P-表
= A – 转储two hour Health 日志
= B – 运行 DST 短测试
= C – 运行 DST 长测试
Sx,yyyy
编辑存储器字节
x – 地址大于16 位时的高位
yyyy – 地址大于16位时的低位或16 位地址
此命令将连续读出存储器中的字节,并在字节改变时刷新显示内容
输入修改的字节后,可以进行以下操作:
DEL – 重新编辑同一字节
CR(^M) - 关闭并退出
LF(^J) - 编辑下一位置
Ux,yyyy
编辑缓冲字节
此命令与上面的S命令相同
Vxx,yy,zz
检验并计算保留区 CERT, RWF, CSPT, DEF 正常的拷贝
xx = - 欲检验的FILEKEY (与level T中的 d 命令相同,除了下面的)
= 0D – CERT FLSH (用于自动刷新)
= 0E – AT FLSH (用于自动刷新)
= 0F – AT_STUFF
= 10 – Security (没有使用,由驱动器固件自动下载)
= 11 – 生产商信息
= 12 ~ 1B – SMART 相关内容
= 1C - 写保护
= 1E – SKIP_TRK
注意: 尽管有时以上FILEKEY的完好拷贝的数量显示正常,实际上严格说他们并不是正常的。
yy = - 若没有输入,则只计算正常模块的数量
- 若输入,计算拷贝的数量,保留仅用于DE内部使用。
Zz = - 若没有输入,只计算正常模块的数量。
- 若输入,计算磁头的数量,仅限于DE内部使用。
W
比较PCB序列号与系统扇区中的序列号
若两者相同,则输出“01”,若不相同,输出“00”
此命令用于检测是否更换了PCB板。
Yxxxx
转换柱面号为 gray 码并显示结果
xxxx - 指定欲转换的柱面号
fxxxx
使用存储在保留磁道的AT-或CERT 代码对FlashROM进行编程
xxxx = AAAA 使用 AT (用户) 代码
xxxx = CCCC 使用 CERT (工厂) 代码
使用 SDLE 将代码下载到保留区
mx,yyyy
编辑存储器字。与 level 1中 “S”命令的操作相同。 B
yxxxx 将 gray 码转换为柱面号,并显示结果
xxxx - 指定欲转换的gray 码
$
设置 PCB 信息并更新 flash
使用者会被提示输入 PCB EC#,PCB S/N 和 PCB P/N。 此功能用于PCB工厂写入PCB#, EC#
and serial #后,到了驱动器工厂需要自动重新写入信息。
#
显示 PCB 信息
显示使用$命令写入的 PCB 信息
硬盘物理工作级希捷维修指令——2级
Вх,у 显示缓存, "х" – 缓存字位数,512的倍数"у" – 作为比较的缓存数。如果"х" – 读缓存,"у"没有指明,则会同相对的写缓存进行比较
Cx,y,z 复制缓存, "х" –源, "у" – 目标, "z" –复制数量
Ех,у 显示/编辑CERT记录. "х" – 显示记录数量,如果没有指明—则显示当前纪录, 如果х = 0—清除当前纪录"у" – 如果已输入, 则仅显示带有"у"错误码的纪录
Нх 选择物理磁头"х"
Sx,y 定位到柱面"х"磁头"у"
H 旋转主轴
cx,y,z 比较缓存块,"х" – 第一块的开始, "у" –第二块 "z" -块长度
r,y,z 由当前服务区轨道计算扇区 "у" – 开始扇区号, "z" – 扇区数量
X 显示区域分布
硬盘物理工作级希捷维修指令——5级
---------------------
Ax Set stack adr cmd
Bx Set brk pt
C Cnt aftr brk
Dx Dsp mem
E Erase EE
Fx,y Fnd dat x
Gx xct adr
Hx Slct hd x
I Hrdwr tst
Kx Chg clk spd (1=slow)
M Mov rom to ram
Px,yy Pgm EE adr x
Sx Dsp/mod mem
Vx,y Dsp schd
Wx Wrt mem loc
Xx Set XREG adr
Yx Dsp gycd, cyl x
i Init adaptv EE
yx Dsp cyl, gycd x
Z Disable intrpts
Lvl 6 - Batch file cmnds
------------------------
Bxx Run batch file xx Dxx Display file xx
Ex Enter btch file 8,9 @x Btch file label
*1 Batch file pause *6 Stop on err
*2,xxx Btch file dly x ms *7,xxx Set btch loop ct
*3,x Branch label x *8,x Dec btch loop, goto lbl x
*4,x Incrmt hd, brnch x *9 Stop on no err
|x End btch entry, set file #
B2 Stats dsp B4 Trkg analysis
B7 Hd swt dsp B6 SRS btch file
B8-9 User batch B31 1 burst corr
B32 2 brst corr B33 3 brst corr
B34 1 brst 4 sct B35 Altn asgn tst
B36 2 brst 1 brst B37 Frmt bad tst
B38 Data cmpr tst B39 ECC test
B40,41 Set drive type - start cert
Lvl 7 - Rd-wrt buf cmpr
-----------------------
Axx,y Set tst space (see ?D)
Bxx Dsp buf xx
Cx,y,z Cmpr buf, y blks at x to z
K Dsp stats
Mx,y,z Mov buf, y blks at x to z
Px,y,z Data x(3 bytes), lngth y(bits), buf z
Qx,y,z Wrt-rd cmpr y blks at sctr x, wbuf = z
Rx,y,z Rd y blks at sctr x into buf z
Sccc,h Sk to cyl,hd
Vx,y,z Rd y sctrs, strt sctr x, cmpr to buf z
Wx,y,z Wrt y blks at sctr x from buf z
X Fill buf 10-7F with rndm data
Yx,y,z Set/dsp rtry cntrl
Online cmnds
------------
ctl D Tgl actn code dsp
ctl F Sgmnt stat
ctl G Intf stat
ctl P Tgl pwr cyc
ctl Q Frgrnd resume
ctl R Drv micro soft rst, Niwot stp
ctl S Frgrnd pause
ctl T Restrt dflt pgm
ctl V Tgl intf dsp
ctl X Dsp dat at X reg
ctl Z Exit to DIAMON
< or > Dec or inc rw idx sctr
{ or } Dec or inc srv idx sctr
` Stats dsp
\' Xfer stat
~ Intf stat
. Online stat
; Mach stat
Gen use cmnds
-------------
/x Chg lvls, x = 1-8,T
Lx,y Lp nxt cmd (x=1 cnt on err)
=x,y Wrt dta y to mem adr x
+x Dsp cntnts of mem adr x
\\ Qck call btch |
|