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 - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html