linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: "Randy.Dunlap" <rdunlap@xenotime.net>
Cc: Richard Bollinger <rabollinger@gmail.com>,
	linux-scsi@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: SATA Drive Information (vs hdparm -i)?
Date: Fri, 23 Sep 2005 11:06:55 +1000	[thread overview]
Message-ID: <4333552F.6070207@torque.net> (raw)
In-Reply-To: <Pine.LNX.4.58.0509221729480.6613@shark.he.net>

Randy.Dunlap wrote:
> On Fri, 23 Sep 2005, Douglas Gilbert wrote:
> 
> 
>>Richard Bollinger wrote:
>>
>>>Is there a program for SATA drives which reveals the depth of
>>>information that "hdparm -i" does for IDE drives?  sdparm reveals
>>>almost nothing in comparison:
>>>
>>># sdparm -i /dev/sda
>>>    /dev/sda: ATA       WDC WD3200JD-00K  08.0
>>>Device identification VPD page:
>>>  Addressed logical unit:
>>>    id_type: vendor specific [0x0],  code_set: ASCII
>>> 00     4c 69 6e 75 78 20 41 54  41 2d 53 43 53 49 20 73    Linux ATA-SCSI s
>>> 10     69 6d 75 6c 61 74 6f 72                             imulator
>>
>>Richard,
>>libata needs to improve the information it provides for
>>the Device Identification VPD page [0x83]. For example
>>as defined in section 10.3.4.2 in the just released sat-r06 .
>>Something approaching a world wide unique identifier is
>>needed.
>>
>>
>>># hdparm -i /dev/hda
>>>
>>>/dev/hda:
>>>
>>> Model=WDC WD800BB-00JHC0, FwRev=05.01C05, SerialNo=WD-MAM96054404
>>> Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs mtGapReq }
>>> RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=66
>>> BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
>>> CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=156301488
>>> IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
>>> PIO modes: pio0 pio3 pio4
>>> DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
>>> AdvancedPM=no
>>> Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5 ATA-6
>>
>>However an improved "sdparm -i" is not what you seem to be
>>asking for. Most of the above information is derived from
>>the response to the IDENTIFY [PACKET] DEVICE ATA command.
>>There seems to be two options for providing this:
>>  1) libata to implement ioctls like HDIO_GET_IDENTITY
>>  2) libata to implement SCSI ATA Translation [SAT]
>>     facilities such as:
>>       a) the ATA Information VPD page
>>       b) SCSI ATA pass through commands
>>       c) MODE SELECT SCSI command
>>
>>Option 1) is the simplest but it requires that the SAT layer
>>is on the host computer [as it is in the case of libata].
>>Hopefully external USB and Firewire storage enclosures will
>>be enhanced to support the [draft] SAT standard and in
>>that case the SAT layer will be in the enclosure. SATA
>>disks [and S-ATAPI devices] in a SAS fabric may either
>>tunnel through the SAS fabric [via SAS Tunnelling Protocol
>>[STP]] or have a SAT layer in the fabric [typically in the
>>enclosure holding the disks]. Only the STP route allows for
>>option 1) .
>>
>>I have published some patches for 2 a) and 2 c) and someone
>>else has published some patches for 2 b). I am unaware
>>if any have been accepted into libata yet.
>>
>>Option 2) still needs an application client to output
>>information like "hdparm -i". "sdparm --page=ai" will
>>do this at a lower level if 2) a is implemented in
>>libata. Another approach is to make the hdparm application
>>libata aware and issue [shock horror] SCSI commands :-)
>>
>>hdparm has a "-Istdin" command line option which accepts
>>the raw (binary) IDENTIFY x DEVICE response. So
>>implementing option 2 a), using sg_inq, dd and finally
>>hdparm could do it. That is a bit convoluted.
> 
> 
> Jeff also has 'blktool' that may be useful.
> Latest available afaik is at sf.net/projects/gkernel .
> 
> sample output on my SATA /dev/sda:
> 
> # ./blktool /dev/sda id
> scsi-version: 5
> vendor-id: ATA
> product-id: ST3160023AS
> product-rev: 3.00
> device-type: direct-access
> sectors: 312581808
> sector-size: 512
> #

Randy,
Thanks for reminding me about blktool.

blktool's information is derived from a SCSI INQUIRY
command (and a READ CAPACITY command). sg3_utils's
"sg_inq /dev/sda" will give something similar.
For SATA disks this is a subset of the information
provided by the IDENTIFY DEVICE ATA command.

A "standard" SCSI INQUIRY responds with 36 bytes of
information (although the associated VPD pages,
when implemented, provide a lot more information) while
the IDENTIFY DEVICE ATA command responds with 512 bytes
of information.

My guess is that Richard is interested in the transport
specific information shown in "hdparm -i".

Doug Gilbert


  parent reply	other threads:[~2005-09-23  1:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7744a2840509221206254d2109@mail.gmail.com>
2005-09-23  0:23 ` SATA Drive Information (vs hdparm -i)? Douglas Gilbert
2005-09-23  0:31   ` Randy.Dunlap
2005-09-23  1:01     ` Richard Bollinger
2005-09-23  1:14       ` Douglas Gilbert
2005-09-23  1:18         ` Richard Bollinger
2005-09-23  1:16       ` Ric Wheeler
2005-09-23  1:20         ` Randy.Dunlap
2005-09-23  1:33           ` Ric Wheeler
2005-09-23  1:06     ` Douglas Gilbert [this message]
2005-09-23  1:50   ` Mark Lord
2005-09-23 14:22   ` Luben Tuikov
2005-09-24  3:18     ` Douglas Gilbert
2005-09-25 14:56       ` Luben Tuikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4333552F.6070207@torque.net \
    --to=dougg@torque.net \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=rabollinger@gmail.com \
    --cc=rdunlap@xenotime.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).