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

读取硬盘 ROM 问题

[复制链接]
发表于 2008-12-18 14:31:34 | 显示全部楼层 |阅读模式
大哥们:
( h5 \  W, r5 j0 v% S     问题一:: z3 T  G- l; O3 p( q  O
     在读取IDE 硬盘的 rom信息的时候。从1F0H读回来的数,是不是要交换一下高低字节(word 操作)?: L0 Q) o0 K+ A; t
因为我发觉在读回来的时候,如果是不交换的话,serial number的ASC码那段,每次都要反一下。! {! L( a9 M) t3 T3 s1 u
9 a7 t3 Q3 U1 n9 m5 b
+ P1 A6 o) p& D/ \  i  R5 X& Q2 W& x
     问题二:
$ y. `5 V; h  `$ x' ~+ T! k     假如上面的问题,确实要反一下,那么是否说明在rom中,格式也是要反了一下呢?
5 [" l# s5 s* h8 r举个例子:  本来硬盘的serial number是 ST3160215A,那么在rom里存的格式是不是TS130612A5呢?
4 A/ `% x9 V1 ^% C) p5 t/ }7 a. f7 o0 [% F

5 I. p9 r5 e0 N  Q8 c2 E8 Y1 m     问题三:2 f( X* B* g0 c; U: z0 ?
     我想在读取ROM以前,首先先判断是否存在 master /slave 盘。用怎么命令,或者用什么方法去做呢?, z) J1 L# e' s- w, ?) ^
我有个想法给1F7H写命令进去,看返回是否有数据来判断。不知道可以否?3 L0 F5 k, R) r) q8 c1 @/ k2 K
     (问题是,现在我把IDE接口拔掉,把IDE的CD-ROM接上的时候,读出的rom信息全错。。。。)
5 H: S; i+ u2 S3 J
% t" i6 r* ]) W% f" z[ 本帖最后由 68023611 于 2008-12-19 18:09 编辑 ]
发表于 2008-12-18 15:16:23 | 显示全部楼层
第一个是的,
回复

使用道具 举报

 楼主| 发表于 2008-12-18 17:13:12 | 显示全部楼层
首先感谢楼上大哥的回答,现在总算吃了可定心丸了。- W- O9 n, G( \) `" x2 j- b; Z

9 V2 J: K' \' ?, Y: F4 U+ P: M" N7 F! I" B
       其次还想因此也提个小问,我现在在模拟ADU.EXE读取IDE 硬盘ROM的信息。可是我发觉,照数据对应ata6 spec后发觉,似乎adu.exe工具显示有错误。
2 r5 ?4 e, R; O# [
& I" p4 O4 Q; s8 v: a但是我又不敢肯定。我想是不是  权威的公司写的查看工具也有时候会出bug的哦?(因为adu在访问 memory的时候,寻址问题就设计的不好。有bug)
$ I: M, e6 E- I2 U+ \  b
5 K" M0 w0 \8 a1 _1 P( Q& O       这个网站真的很不错,我刚刚入行,还在学习中。希望各位大哥多指点。希望能有个群的话就更好了。以后版主把每天的聊天记录都可以贴上来了。呵呵
回复

使用道具 举报

发表于 2008-12-18 21:05:04 | 显示全部楼层
弱弱的问一下,你说的读取IDE硬盘ROM的信息,
9 J' V0 p6 ^" v7 s* G/ \+ _6 X是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??
1 R2 h; v# z; M& X" N* y* n% O  h; n+ p
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。6 Q  K+ Y7 ^+ H# l0 s3 R4 e; y

/ p# I+ B' S( n3 A* |: `- n5 t另外,ADU读到的什么信息,你认为有错误呢?
回复

使用道具 举报

 楼主| 发表于 2008-12-19 09:49:06 | 显示全部楼层
"你说的读取IDE硬盘ROM的信息,% Q- O1 w# Q3 A! n
是不是用ATA/ATAPI spec中的Identity命令来读的256个word的那个??"0 s, V: ^+ {" f/ R

) q/ F7 Q6 T0 f! H9 M  H6 z" \
-->恩,是的
% [* {( q  F' l. H+ H) F4 e
  s; ^! M  A: ^* Q+ e7 g2 U; ~1 O3 h; U# Y6 Q5 g
2 z% H# @* `7 ?- S6 N0 L3 ?
不知道硬盘firmware里面是怎么存放的,反正是按word来读的。
* Q( l1 o0 p) L6 `! B2 ~- U' }2 H) M$ I" A; f. ]; r" E
-->恩,谢谢!, t5 p0 `" n7 h( D7 h
; m9 R! d; G8 r; n6 D" y2 ?4 U
7 }1 }5 G5 t2 R% C" g; s" F
- _' K; @1 @) }
另外,ADU读到的什么信息,你认为有错误呢? * u" T" W3 i3 A
5 R/ H: y: n5 \! T1 Z* I, ]
3 [: g+ C; P( M# G- p% Q2 n
-->比如说,从adu的读回来数据显示 第82word 和第85word分别是 346BH 和 3469H。) o; J! [; Z  Q& {' A
   spec 有这样的定义
0 S5 @9 y' u' a% J  L* @$ l 5 _: C& ^3 F; @1 T; i. ^1 t; X
ata6中# _! m' O) V0 ?; l6 u: ~8 @
, S. ]/ _7 s* a9 B( C# B
第85word:
" ~9 }) y' u  N5 a. @. T15 Obsolete                            -------- 0( m7 t% |2 e& J' G! O& p1 W4 K  S
14 1 = NOP command enabled             -------- 0      这里应该是disable 可是 adu显示是 enable     L8 T& |3 s' J5 C; m% m1 L
13 1 = READ BUFFER command enabled     -------- 1      这里应该是enable 可是 adu显示是 may be disable   
+ Q& y( X( ~6 l* ~; q# x12 1 = WRITE BUFFER command enabled    -------- 1      吻合
" Q& R5 C, K; s& G- @) c& h5 J11 Obsolete                            -------- 0
: i+ o: v" j8 R6 A10 1 = Host Protected Area feature set enabled- 1      吻合4 j, _6 H; U# M, ^; R7 h
9 1 = DEVICE RESET command enabled     -------- 0      这里应该是disable 可是 adu显示是 enable   
4 M; @* R: H5 I: K; b0 ]8 1 = SERVICE interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   
3 J% q. {/ M" }9 l- ?7 1 = release interrupt enabled        -------- 0      这里应该是disable 可是 adu显示是 enable   0 s/ n2 k, ^6 t. W! A* t
6 1 = look-ahead enabled               -------- 1      吻合5 u) S7 C: R. V5 y' Z6 T( }, Y- J
5 1 = write cache enabled              -------- 1      吻合
/ K' G7 U1 a- i, ~. L4 Shall be cleared to zero             -------- 0      ?  为什么是 0 这里也是我的一个疑问
" \$ o+ z# v& E0 s$ f3 1 = Power Management feature set enabled      1      吻合
* S8 @" e  k( n9 M4 |2 1 = Removable Media feature set enabled       0      这里应该是disable 可是 adu显示是 enable     m  F6 ~* G4 V! J  X" U" P% y
1 1 = Security Mode feature set enabled         0      这里应该是disable 可是 adu显示是 enable   
5 |- s! u# b/ `3 i6 q0 1 = SMART feature set enabled                    1      吻合
- [6 w: E6 t5 h9 w+ c9 U$ w6 X: _; Z5 T- a, R/ i2 p
那照着这个数据的话,3469H= 0011 0100 0110 1001
6 N, p/ m. H) L5 C3 f  ~; h1 V9 g# J
    小弟可能理解有误,所以静听大哥们指教。我不怕出丑,但希望把出丑的事情或者理解都纠正过来。谢谢!
; o& ^- s# h1 \* |, ~; h
" X+ `9 K5 T. R' U+ G& \! y4 n7 q" F* }0 @" \  j7 u% j" Q

# E0 q  |0 A+ Z  R. Y. W
$ M" T) K, o& [- [! E$ W(*******最新*******)
0 s& X% o# _, @4 \/ ?     后来才发现,当我不接IDE设备的时候,上面的那几个选项居然还是 “ENABLE”,我猜测应该是adu.exe设计本来就没有处理这个事情。
( ]- `6 ^8 @; x: ]( u7 A9 d     不知道各位大哥怎么理解?
$ k) n, [, @- ?6 t- \  y8 y" M5 g
( C% f' H. R, N( s2 g[ 本帖最后由 68023611 于 2008-12-19 18:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-12 07:27 , Processed in 0.167693 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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