SMART status of SATA drives on SAS controller

Scott Long scottl at samsco.org
Wed Jan 14 06:56:50 PST 2009


A tweak is needed to smartctl to make this work.  See below.  FreeBSD 
needs to become more aware of the ATA Passthrough feature of SCSI, but
for now this patch with let smartctl work correctly.

--- os_freebsd.cpp.orig    2008-03-04 15:09:47.000000000 -0700
+++ os_freebsd.cpp    2008-09-23 09:43:01.000000000 -0600
@@ -525,7 +524,7 @@
      return -1;
    }

-  if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
+  if (((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) && 
((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_SCSI_STATUS_ERROR)) {
   #if __FreeBSD_version > 500000
      cam_error_print(cam_dev,ccb,CAM_ESF_ALL,CAM_EPF_ALL,stderr);
   #endif



Scott


Wes Morgan wrote:
> I've got 8 SATA2 drives in an zfs raidz2 on an LSI controller (1068 I 
> believe, mpt driver), and one of them seems to be acting strangely. I'd 
> like to get the smart status without pulling it out of the array and 
> dropping it onto an ATA controller, but I don't seem to be able to for 
> any of the drives. Using the device type as both "SAT" and "SCSI", 
> neither will successfully show the full output. Is there any way around 
> this? Error below...
> 
> 
> === START OF INFORMATION SECTION ===
> Device Model:     WDC WD5002ABYS-01B1B0
> Serial Number:    WD-WCASY3240847
> Firmware Version: 02.03B02
> User Capacity:    500,107,862,016 bytes
> Device is:        Not in smartctl database [for details use: -P showall]
> ATA Version is:   8
> ATA Standard is:  Exact ATA specification draft version not indicated
> Local Time is:    Wed Jan 14 06:14:18 2009 CST
> SMART support is: Available - device has SMART capability.
> SMART support is: Enabled
> 
> === START OF ENABLE/DISABLE COMMANDS SECTION ===
> SMART Enabled.
> (pass4:mpt0:0:4:0): ATA COMMAND PASS THROUGH(16). CDB: 85 6 2c 0 da 0 0 
> 0 0 0 4f 0 c2 0 b0 0
> (pass4:mpt0:0:4:0): CAM Status: SCSI Status Error
> (pass4:mpt0:0:4:0): SCSI Status: Check Condition
> (pass4:mpt0:0:4:0): RECOVERED ERROR asc:0,1d
> (pass4:mpt0:0:4:0): ATA pass through information available
> SMART Disabled. Use option -s with argument 'on' to enable it.
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"



More information about the freebsd-scsi mailing list