Comment 3 for bug 1143495

Revision history for this message
In , Phillip Susi (psusi) wrote :

I get an I/O error trying to read health status:

psusi@faldara:~$ sudo skdump /dev/sdc
Device: sat16:/dev/sdc
Type: 16 Byte SCSI ATA SAT Passthru
Size: 35304 MiB
Model: [WDC WD360GD-00FNA0]
Serial: [WD-WMAH91337618]
Firmware: [35.06K35]
SMART Available: yes
Quirks:
Awake: yes
SMART Disk Health Good: Input/output error
Off-line Data Collection Status: [Off-line data collection activity was completed without error.]
Total Time To Complete Off-Line Data Collection: 1572 s
Self-Test Execution Status: [The previous self-test routine completed without error or no self-test has ever been run.]
Percent Self-Test Remaining: 0%
Conveyance Self-Test Available: yes
Short/Extended Self-Test Available: yes
Start Self-Test Available: yes
Abort Self-Test Available: yes
Short Self-Test Polling Time: 2 min
Extended Self-Test Polling Time: 28 min
Conveyance Self-Test Polling Time: 5 min
Bad Sectors: 0 sectors
Powered On: 1.7 years
Power Cycles: 5260
Average Powered On Per Power Cycle: 2.8 h
Temperature: 35.0 C
Attribute Parsing Verification: Good
Overall Status: Input/output error
ID# Name Value Worst Thres Pretty Raw Type Updates Good Good/Past
  1 raw-read-error-rate 200 200 51 0 0x000000000000 prefail online yes yes
  3 spin-up-time 88 84 21 2.1 s 0x340800000000 prefail online yes yes
  4 start-stop-count 95 95 40 5571 0xc31500000000 old-age online yes yes
  5 reallocated-sector-count 200 200 140 0 sectors 0x000000000000 prefail online yes yes
  7 seek-error-rate 200 200 51 0 0x000000000000 prefail online yes yes
  9 power-on-hours 80 80 0 1.7 years 0x833900000000 old-age online n/a n/a
 10 spin-retry-count 100 100 51 0 0x000000000000 prefail online yes yes
 11 calibration-retry-count 100 100 51 0 0x000000000000 prefail online yes yes
 12 power-cycle-count 95 95 0 5260 0x8c1400000000 old-age online n/a n/a
194 temperature-celsius-2 108 253 0 35.0 C 0x230000000000 old-age online n/a n/a
196 reallocated-event-count 200 200 0 0 0x000000000000 old-age online n/a n/a
197 current-pending-sector 200 200 0 0 sectors 0x000000000000 old-age online n/a n/a
198 offline-uncorrectable 200 200 0 0 sectors 0x000000000000 old-age online n/a n/a
199 udma-crc-error-count 200 253 0 0 0x000000000000 old-age online n/a n/a
200 multi-zone-error-rate 200 125 51 0 0x000000000000 prefail offline yes yes

I traced it down to sk_disk_smart_status here:

        /* SAT/USB bridges truncate packets, so we only check for 4F,
         * not for 2C on those */
        if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x00C2U)) &&
            cmd[4] == htons(0x4F00U))
                *good = TRUE;
        else if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x002CU)) &&
                 cmd[4] == htons(0xF400U))
                *good = FALSE;
        else {
> errno = EIO;
                return -1;
        }

(gdb) print d->type
$5 = SK_DISK_TYPE_ATA_PASSTHROUGH_16
(gdb) print /x cmd
$4 = {0x0, 0x0, 0x0, 0xc200, 0x454f, 0x5000}