I've been trying to get either smartctl or sg3_utils to report properly.
They both have the same low-level problems which leads me to suspect either I'm doing something wrong OR there is a problem in the marvell88sx / sd / SATA etc framework. I can access drive name/serial number of all drives on the SAT2 card and the temperature is returned from the IE log page on my two drives that support temperature. (The SATA disks on the motherboard that are attached to the cmdk driver work, but SMART fails because they are treated as ATA drives so ignore those)

What appears broken is I cannot access any of the logs such as the typical counters that I *know* exist.

If we look at sg3_utils output (prettier than smartctl)

src/sg_logs  /dev/rdsk/c1t0d0s0
    ATA       WDC WD15EADS-00R  0A01
Supported log pages:
    0x00        Supported log pages
    0x00        Supported log pages
    0x03        Error counters (read)
    0x04        Error counters (read reverse)
    0x00        Supported log pages
    0x10        Self-test results
    0x2f        Informational exceptions (SMART)
    0x30        Performance counters (Hitachi)

First strange matter is that I would EXPECT to see a list in numerical order with 0x00 appearing only once! Well no matter I thought, but then a query on page 3 say tells me I have an illegal field in the CBD.

sg_logs -p 3 /dev/rdsk/c1t0d0s0
    ATA       WDC WD15EADS-00R  0A01
log_sense: field in cdb illegal

(smartctl said the same thing).

Turns out only the last 4 pages (00, 10, 2f, 30) actually work. The first 4 data values almost seem as if the returned data (12 bytes total: 4 header, 8 data) should actually be 8 header for some reason (although this is not correct for a LOG sense parameter block). The log sense command is run to find the expected data length and it returns "12".

Delving further I found (but I'm now out of my depth) that there was a total of 3072 bytes apparently coming back from the log sense command (according to both sg3 and smartctl) !!!???
sg3 shows it neatly.

sg_logs -v /dev/rdsk/c1t0d0s0
    inquiry cdb: 12 00 00 00 24 00
    ATA       WDC WD15EADS-00R  0A01
    log sense cdb: 4d 00 40 00 00 00 00 00 04 00
    log sense: requested 4 bytes but got -3068 bytes
    log sense cdb: 4d 00 40 00 00 00 00 00 0c 00
    log sense: requested 12 bytes but got -3060 bytes
Supported log pages:
    0x00        Supported log pages
    0x00        Supported log pages
    0x03        Error counters (read)
    0x04        Error counters (read reverse)
    0x00        Supported log pages
    0x10        Self-test results
    0x2f        Informational exceptions (SMART)
    0x30        Performance counters (Hitachi)


Not sure about the -sign - maybe a wrap ? esp given 3068 + 4 == 3060 + 12 == 3072
I hacked smartctl src to give me its count:

logSense:
pagelen =12  (# bytes driver stated would be returned)
Resid  = 3072   (#bytes actually returned)


Sooo I'm stuck and I still can't access my drive stats! :-(

Any help would be very gratefully received.

cheers

Kim

==========
System Details

uname -a -> SunOS bigbertha 5.11 NexentaOS_20081207 i86pc i386 i86pc Solaris

motherboard: Intel Server  SE7320SP2
SATA card: Supermicro AOC-SAT2-MV8  PCI-X

prtpicl extract

...
             pci8086,25ae (pci, d800000132)
                 pci11ab,11ab (obp-device, d800000155)
                     disk (block, d80000017f)
                     disk (block, d8000001a2)
                     disk (block, d8000001c5)
                     disk (block, d8000001e8)
                     disk (block, d80000020b)
...
             pci-ide (pci-ide, d800000405)
                 ide (obp-device, d80000042c)
                 ide (obp-device, d800000435)
             pci-ide (pci-ide, d80000043e)
                 ide (ide, d800000466)
                     cmdk (block, d800000477)
                 ide (ide, d80000048e)
                     sd (cdrom, d8000004a5)

/etc/path_to_inst

"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3" 0 "marvell88sx"
"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3/d...@0,0" 3 "sd"
"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3/d...@2,0" 4 "sd"
"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3/d...@3,0" 5 "sd"
"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3/d...@4,0" 6 "sd"
"/p...@0,0/pci8086,2...@1c/pci11ab,1...@3/d...@1,0" 9 "sd"
"/p...@0,0/pci-...@1f,1" 0 "pci-ide"
"/p...@0,0/pci-...@1f,1/i...@0" 0 "ata"
"/p...@0,0/pci-...@1f,1/i...@0/s...@0,0" 1 "sd"
"/p...@0,0/pci-...@1f,1/i...@1" 1 "ata"
"/p...@0,0/pci-...@1f,2" 1 "pci-ide"
"/p...@0,0/pci-...@1f,2/i...@0" 2 "ata"
"/p...@0,0/pci-...@1f,2/i...@0/c...@0,0" 0 "cmdk"
"/p...@0,0/pci-...@1f,2/i...@0/s...@0,0" 7 "sd"
"/p...@0,0/pci-...@1f,2/i...@1" 3 "ata"
"/p...@0,0/pci-...@1f,2/i...@1/s...@0,0" 0 "sd"
"/p...@0,0/pci-...@1f,2/i...@1/s...@1,0" 8 "sd"
"/p...@0,0/pci-...@1f,2/i...@1/c...@0,0" 1 "cmdk"

and for what it's worth
85 -rwxr-xr-x 1 root sys 85592 Dec 8 2008 /kernel/drv/amd64/ marvell88sx
58 -rwxr-xr-x 1 root sys 58224 Dec  8  2008 /kernel/drv/marvell88sx


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to