Open risner opened 3 years ago
I agree, it should be supported. Can you attach the full debug output from the smart
command as well as the full output from smartctl -a
?
# smart -d -i da3
dbg: Looking for page 0x89 (total = 16):
dbg: [0] = 0
dbg: [1] = 0x80
dbg: [2] = 0x82
dbg: [3] = 0x83
dbg: [4] = 0x86
dbg: [5] = 0x87
dbg: [6] = 0x88
dbg: [7] = 0x8a
dbg: [8] = 0x90
dbg: [9] = 0xb1
dbg: [10] = 0xc0
dbg: [11] = 0xc1
dbg: [12] = 0xc2
dbg: [13] = 0xc3
dbg: [14] = 0xd1
dbg: [15] = 0xd2
dbg: protocol SCSI (specified auto)
Vendor SEAGATE
Device ST33000650SS
Revision 0003
Serial Z295J46D00009318K2E1
dbg: SMART is not supported
# smartctl -a -d scsi da3
smartctl 7.2 2020-12-30 r5155 [FreeBSD 13.0-RELEASE-p3 amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Vendor: SEAGATE
Product: ST33000650SS
Revision: 0003
Compliance: SPC-4
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Logical block size: 512 bytes
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Logical Unit id: 0x5000c50055d0634f
Serial number: Z295J46D00009318K2E1
Device type: disk
Transport protocol: SAS (SPL-3)
Local Time is: Sun Aug 1 15:53:23 2021 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Temperature Warning: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK
Current Drive Temperature: 45 C
Drive Trip Temperature: 68 C
Accumulated power on time, hours:minutes 58338:19
Manufactured in week 52 of year 2012
Specified cycle count over device lifetime: 10000
Accumulated start-stop cycles: 191
Specified load-unload count over device lifetime: 300000
Accumulated load-unload cycles: 191
Elements in grown defect list: 0
Vendor (Seagate Cache) information
Blocks sent to initiator = 62997878
Blocks received from initiator = 1360580178
Blocks read from cache and sent to initiator = 772659
Number of read and write commands whose size <= segment size = 3454087
Number of read and write commands whose size > segment size = 0
Vendor (Seagate/Hitachi) factory information
number of hours powered up = 58338.32
number of minutes until next internal SMART test = 40
Error counter log:
Errors Corrected by Total Correction Gigabytes Total
ECC rereads/ errors algorithm processed uncorrected
fast | delayed rewrites corrected invocations [10^9 bytes] errors
read: 250083426 0 0 250083426 0 32.251 0
write: 0 0 0 0 0 5097.072 0
Non-medium error count: 27
[GLTSD (Global Logging Target Save Disable) set. Enable Save with '-S on']
SMART Self-test log
Num Test Status segment LifeTime LBA_first_err [SK ASC ASQ]
Description number (hours)
# 1 Background short Completed - 57721 - [- - -]
Long (extended) Self-test duration: 27600 seconds [460.0 minutes]
I agree, it should be supported. Can you attach the full debug output from the
smart
command as well as the full output fromsmartctl -a
?
Anything else you need?
For SCSI, smart looks for the Informational Exceptions page (ID of 0x2f) to determine if the device supports SMART. Can you add the output from sg_logs
?
Sure. However I don’t know how to do that?
# pkg install sg3_utils
# sg_logs da3
SEAGATE ST33000650SS 0003
Supported log pages [0x0]: 0x00 Supported log pages [sp] 0x02 Write error [we] 0x03 Read error [re] 0x05 Verify error [ve] 0x06 Non medium [nm] 0x0d Temperature [temp] 0x0e Start-stop cycle counter [sscc] 0x10 Self test results [str] 0x15 Background scan results [bsr] 0x18 Protocol specific port [psp] 0x1a Power condition transitions [pct] 0x37 Cache (seagate) [c_se] 0x38 0x3e Factory (seagate) [f_se]
Difference between working disks and non-working disks:
--- /tmp/da2 2021-08-02 19:00:12.380224000 -0400
+++ /tmp/da3 2021-08-02 19:00:08.817748000 -0400
@@ -1,4 +1,4 @@
- SEAGATE ST3000NM0023 0004
+ SEAGATE ST33000650SS 0003
Supported log pages [0x0]:
0x00 Supported log pages [sp]
0x02 Write error [we]
@@ -7,12 +7,10 @@
0x06 Non medium [nm]
0x0d Temperature [temp]
0x0e Start-stop cycle counter [sscc]
- 0x0f Application client [ac]
0x10 Self test results [str]
0x15 Background scan results [bsr]
0x18 Protocol specific port [psp]
0x1a Power condition transitions [pct]
- 0x2f Informational exceptions [ie]
0x37 Cache (seagate) [c_se]
0x38
0x3e Factory (seagate) [f_se]
OK, so the device supports all the pages smart
would read if the Informational Exceptions log page existed. If you execute the command smartctl -s on /dev/da3
, does sg_logs
list the Informational Exceptions page on the non-working disk?
Like this?
smartctl 7.2 2020-12-30 r5155 [FreeBSD 13.0-RELEASE-p3 amd64] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF ENABLE/DISABLE COMMANDS SECTION === Informational Exceptions (SMART) enabled Temperature warning enabled
SEAGATE ST33000650SS 0003
Supported log pages [0x0]: 0x00 Supported log pages [sp] 0x02 Write error [we] 0x03 Read error [re] 0x05 Verify error [ve] 0x06 Non medium [nm] 0x0d Temperature [temp] 0x0e Start-stop cycle counter [sscc] 0x10 Self test results [str] 0x15 Background scan results [bsr] 0x18 Protocol specific port [psp] 0x1a Power condition transitions [pct] 0x37 Cache (seagate) [c_se] 0x38 0x3e Factory (seagate) [f_se]
Yes, that is what I wanted you to do, but it didn't add Informational Exceptions to the list of supported log pages. I'm torn here as to how I should fix this. Let me research this a bit and get back to you.
I just realized that the sources on github were out of date with the development repo. I just pushed changes to bring the github version up to date. Note that the changes include support for SCSI's Informational Exceptions log page, but given the date you've provided, I don't expect smart
to behave differently. That said, it'd be worth verifying this is the case if you have time.
I used the one In packages. I’ll check the version tonight.
I pushed some experimental changes to the issue-8 branch that report whichever health log pages the device advertises. See if that gets you closer to the result you wanted. Steps would be:
git clone https://github.com/ctuffli/smart.git
cd smart
git switch issue-8
make
sudo ./smart da3
root@core:/home/risner # smart -i -d da3 ... dbg: protocol SCSI (specified auto) Vendor SEAGATE Device ST33000650SS ... dbg: SMART is not supported
But it works:
smartctl -d scsi -a da3
=== START OF INFORMATION SECTION === Vendor: SEAGATE Product: ST33000650SS ... Transport protocol: SAS (SPL-3) ... SMART support is: Available - device has SMART capability. SMART support is: Enabled ...
Ideas?