找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 10339|回复: 4

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:
5 H; q$ H2 I! X     问题一:
% R$ J% C6 N3 w" j# B     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?) J7 M8 y( x* v" b/ \4 n& ?
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。" j; V9 e0 Q3 c$ H. B
/ |* Q$ w2 l& Q2 E

) B7 I6 ]! L$ I3 a' p, c     问题二:/ z4 I( i* W; I) v$ b+ X$ J( N( ?
     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?$ E/ g- _2 j  e2 N
举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?+ r( h: w# ^/ \8 x7 V# P0 ], |) N! k

, |! ?0 a# a: C0 W3 Q
5 z- ?3 }5 ~7 V- ^     问题三:
: j! i$ Y2 q1 u1 s     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?' a& G  }0 Q: G, C# F: o' z0 d% M
我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?
) p" E* e/ _1 P     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
5 w. n+ j5 X) }! i9 f2 x  [2 |
; ~* x( i) L+ R# f) U[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。5 W! C/ B! U7 N/ O! L! A  [( V
+ N# E# X* Q- S& ^- |0 Y0 F
) F9 [; N# E- R- ~( |
       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。
: r; L  E6 l' m3 ?* ~( f! h- F  H( T) x! |- }9 i7 [' w( _
但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)6 V  M! G5 p8 @( b1 J

8 C8 }. a- l- f, ]2 E) x) P       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,
0 }0 G* I' C6 U# V是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??, i; ]3 s% e% w. i# C% `
0 X. c: P( z4 |8 \! M" j
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。. W3 r3 H! z9 t3 Y, l. x3 Z1 O

$ n& N9 T2 }8 n; _; K/ m另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,% L$ w- Z4 j" K) t/ s% z3 W
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"
  Z, e+ P2 g. u- `5 {! P. Y
, y- W0 d, |5 Y# I) N
% y+ F0 x( O; [7 M; r-->恩,是的
4 ?" W3 ?# b! T  ^- Y. L- \5 `
) u3 t2 ~! A( h8 ~, {# X9 f
9 v$ p9 E# z& W5 o, t* Y7 F. I4 j# W# E
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
1 v: P" V# c# x0 Y0 X9 m
# k5 p8 w$ D. C3 o-->恩,谢谢!& G9 A* ]( k) ~- W) {6 L
. d+ L8 m  t% X) N

1 P2 S. e. z9 e3 w* t8 w
* u- a+ S0 P& r4 G1 F3 V& H8 [" P另外,ADU读到的什么信息,你认为有错误呢? . o3 U( a( p9 K* U# V9 R  v, c

! N' B  u0 L/ A( P6 b1 w/ ~* o0 y
0 I" Q$ z0 g7 ^$ ~) b7 V-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。5 A: d) a6 _, f; H% O$ v- p
   spec 有这样的定义+ t5 ~# o7 ]* m2 T% s; ~
$ z" G$ V! h" k5 x
ata6中! H6 Z5 L9 X0 f3 X+ ?
$ U& i. f; Z% x" U+ [2 I% S
第85word:
4 E( r" D3 U/ g, V15 Obsolete                            -------- 0
1 T/ o% e* A3 t; L2 i) ~$ o14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   
& E1 Z" _9 L' E" i: Z- m( a9 _13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   
% i$ L' _+ ]9 ]/ ^: N: B12 1 = WRITE BUFFER command enabled    -------- 1      吻合
8 ^# @9 E2 t$ U- f11 Obsolete                            -------- 0# I, B. v* {) y' t
10 1 = Host Protected Area feature set enabled- 1      吻合
$ u& e2 O2 x# l5 \' o7 w9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   / H( E! b/ D: d
8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   0 y4 D$ Z* @( E  U& l2 ?
7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
; T& O% B5 Y- z6 1 = look-ahead enabled               -------- 1      吻合1 |' W1 C1 e9 G; H  Z2 Y
5 1 = write cache enabled              -------- 1      吻合: X3 [9 y( T( x1 M2 `& @
4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问
7 J% \/ L& Z( Q3 1 = Power Management feature set enabled      1      吻合
6 z* U8 T+ @* x' D& u3 h% k4 s2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   
5 v% w6 ?  ], b# g5 ]1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   1 V3 i/ E, {0 b5 B( b5 I" I# T
0 1 = SMART feature set enabled                    1      吻合
9 g/ [8 F3 J6 X- }" o- ~! t! U& J$ z, a/ S% U6 e* `# T" D
那照着这个数据的话,3469H= 0011 0100 0110 1001
3 c& Y2 ^+ h* u" U, N- g5 L4 A/ B
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!
7 Q" Q1 o" U/ v$ b( R: M
6 t$ [7 u- d& n  N
9 y4 w% ]1 W% c% m7 J0 Q; K3 }( e* A- U; E  X
& [& P) _* Z" N: D: f
(*******最新*******)( r. l2 E" Q, l# Q* M3 R9 @5 _! @
     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。$ ^" Q% {% N! E8 L8 ?
     不知道各位大哥怎么理解?
( {' g2 a: O8 u- J- U# c7 d8 z% t$ V
[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-6-16 19:26 , Processed in 0.070480 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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