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}
I get an I/O error trying to read health status:
psusi@faldara:~$ sudo skdump /dev/sdc sector- count 200 200 140 0 sectors 0x000000000000 prefail online yes yes retry-count 100 100 51 0 0x000000000000 prefail online yes yes celsius- 2 108 253 0 35.0 C 0x230000000000 old-age online n/a n/a event-count 200 200 0 0 0x000000000000 old-age online n/a n/a pending- sector 200 200 0 0 sectors 0x000000000000 old-age online n/a n/a uncorrectable 200 200 0 0 sectors 0x000000000000 old-age online n/a n/a error-count 200 253 0 0 0x000000000000 old-age online n/a n/a error-rate 200 125 51 0 0x000000000000 prefail offline yes yes
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-
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-
12 power-cycle-count 95 95 0 5260 0x8c1400000000 old-age online n/a n/a
194 temperature-
196 reallocated-
197 current-
198 offline-
199 udma-crc-
200 multi-zone-
I traced it down to sk_disk_ smart_status here:
/* SAT/USB bridges truncate packets, so we only check for 4F, TYPE_ATA_ PASSTHROUGH_ 12 || cmd[3] == htons(0x00C2U)) &&
*good = TRUE; TYPE_ATA_ PASSTHROUGH_ 12 || cmd[3] == htons(0x002CU)) &&
cmd[ 4] == htons(0xF400U))
*good = FALSE;
return -1;
* not for 2C on those */
if ((d->type == SK_DISK_
cmd[4] == htons(0x4F00U))
else if ((d->type == SK_DISK_
else {
> errno = EIO;
}
(gdb) print d->type TYPE_ATA_ PASSTHROUGH_ 16
$5 = SK_DISK_
(gdb) print /x cmd
$4 = {0x0, 0x0, 0x0, 0xc200, 0x454f, 0x5000}