搜尋此網誌

2011年6月11日 星期六

如何偵測ATA裝置

1. 使用Device control register(ATA),然後對裝置下SRST(先寫1再寫0)。在狀態回傳的同時一組Signature

7
6
5
4
3
2
1
0
RSVD
RSVD
RSVD
RSVD
RSVD
SRST
nIEN
0
SRST: Host Software Reset bit(裝置重置:它針對後端裝置的重置).

Digital Signature:  

  • [Cyl High(31:24) | Cyl Low(23:17) | Sec Number(16:8) | Sec Count(7:0)]
  • [LBA High(31:24) | LBA Mid(23:17) | LBA Low(16:8) | Sec Count(7:0)]

0xEB140101 == ATAPI (CDROM, DVD, Tape)
0x00000101 == HDD
0x96690110 == Port Multiplier

2. 使用另外一個方法,等到Busy Bit等於0時,先下 ATA Identify command(0XEC),成功的話此裝置為HDD。若不成功,再下另一個ATA Identify Packet Command(0xA1),成功的話為ATAPI裝置。此方法不適用於Port Multiplier裝置。

沒有留言:

張貼留言