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

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:' q) a4 G' w3 ?# J4 O( m
     问题一:
6 E0 e3 D4 E4 r# r# k# b6 v     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?* n4 k/ v: H; @
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。
5 d2 G  }/ `1 d6 v+ C3 [
- i3 k; o) f- Z8 ^; B2 F; ?
5 p2 J5 }4 _1 [) I( |) g0 W$ D     问题二:) B7 i8 n0 l1 i
     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?1 R( x6 E- R3 c9 q
举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?1 G& v- a3 [$ c4 c
9 y, `, \1 d% d3 f2 c% V

& g9 K' F) F% {8 A1 g5 x+ }, h  ~     问题三:
: F+ C; D& c+ V  ~" ^/ |- F$ C7 z2 ^     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?
( x1 B, M  f' R) V6 k我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?
$ q4 i% T) i7 X2 m, J* S9 w, K     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
  d& S6 ]& c2 i
& T2 [5 R0 Q" \# o7 E8 h- ][ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。% b+ j& B- I: c6 a  V* p( k
7 Y$ V: A" @4 t- h+ l( x0 N

0 C8 U( B: Y( Y/ D" H  Y       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。
4 U' n2 E! C* _( M4 W0 n  a% @0 ^4 l; U+ \; p$ v
但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)0 L1 L1 e& U: M! Q: V. \+ {
. v. {% e1 p8 P' e5 F" R
       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,$ w4 H4 r5 {& G3 C6 T
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??
. V4 t  m# f- T+ @, S6 p5 s: C% q5 ?* E( y! {4 U! e; \
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。0 Q/ A( o% y2 q) a
+ {( P2 i$ i% I. e
另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,/ b5 K$ [6 V1 |" f; I, m
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"
, S2 @7 P/ H6 C2 f
  g% Q* \( U5 J% G: G1 t) @8 t
+ G: P7 U4 }& r# d7 y4 g" [-->恩,是的* w& W; s0 K0 Y% I" {6 A% r

; v% m2 p( D. g( v  a1 T8 h/ r; r) C4 A6 M
5 x% o) U2 z( C
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
* i  e5 V" p; }% N$ \
" P/ q6 `2 z8 i$ x" ^" V-->恩,谢谢!0 B0 l' M8 e. W: v& m
5 n, f4 z. a+ J: F: n/ }
5 T& h% e: @- t" O

$ a5 Y6 X' Z3 K' n另外,ADU读到的什么信息,你认为有错误呢? 6 e1 j, O6 G5 @9 _# _
6 }0 N3 F. O& @- k2 w

$ V9 n/ e% a/ k+ M" n6 K; c& m-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。8 ~% O; `2 w' P4 i, m0 t
   spec 有这样的定义
$ t. z) v' x( v& [: e2 S+ K 5 u5 B. E8 K5 Q* W$ a
ata6中! v7 u( s) [" F* o0 E; j( S
# S* U1 X2 Y3 z' y' F2 \, a$ ]" y
第85word:
) T, a' {# F9 P8 l5 r9 {6 D2 D+ i  f, k15 Obsolete                            -------- 0. E6 S, _* i: D5 `( N" `2 g
14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable   % u: ?, x) O  [) f1 O, g* }
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   
! K' O& B, ~7 j- s8 m6 ?2 q12 1 = WRITE BUFFER command enabled    -------- 1      吻合
1 U0 T# c! V1 H% I8 ~11 Obsolete                            -------- 01 M8 v1 E6 U( r! O+ C* G, a! m
10 1 = Host Protected Area feature set enabled- 1      吻合
2 J& T) b  Y6 @0 J  H9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   $ w. _/ H3 [. |% }# N% t) q
8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   3 Z& u* F5 b. [& R1 b
7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
" Q1 p6 ?8 \8 J" \$ d1 ]$ i4 y6 1 = look-ahead enabled               -------- 1      吻合
, q/ O, R: |% P3 D5 1 = write cache enabled              -------- 1      吻合# Y; b# f% N+ J' P/ y* b( F
4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问
. X9 D/ w/ V2 `( h3 1 = Power Management feature set enabled      1      吻合
! B% f# C0 F( r/ i3 F' f. a/ P. h( L2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable   ; t1 u" s0 o. `5 D8 H7 N
1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   
+ H# A! p5 h9 `0 t0 1 = SMART feature set enabled                    1      吻合1 v5 @+ O8 m5 O0 @

* U. ?  ~. @7 I/ N那照着这个数据的话,3469H= 0011 0100 0110 1001
" m8 @. h$ ?/ b- M( x& ~. }) C8 g# O2 {2 t0 ~" P! B3 B
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!9 L9 L$ L: l; w
/ f, m7 e! z7 e" E, _; M- R/ h

, v: Q* x3 b0 P) d2 Y; V( R
5 [9 l: y! b8 g, P) K0 X
9 w4 c7 I1 k1 G( c0 _5 W(*******最新*******)
6 O; b+ \0 |; i* V, |9 k     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。1 R7 J8 H. s6 A0 j. X  o; B' C: w
     不知道各位大哥怎么理解?
" Q6 t0 n8 z* C7 B) ~6 |* y# j- ^9 Q6 K: d' D6 D
[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-1 05:35 , Processed in 0.054730 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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