Hello!
I'm trying to get/set sctserc (SMART Command Transport Error Recovery
Control) data from sata disk attached to lsi megaraid controller with
smartmontools, but this function does not work.
I want to figure out: is this driver or firmware issue? May someone to
help to fix this?
The issue can be described as follows:
The ATA PASS-THROUGH(16) implementation in the SAT layer of the megaraid
driver or firmware does not return the ATA output registers if
requested. This violates SAT standard (http://www.t10.org/drafts.htm#SAT).
Expected: If CK_COND (bit 5 of CDB[2]) is set, ATA PASS-THROUGH(16)
(CDB[0] = 0x85) shall return a CHECK CONDITION even if the ATA command
completed successfully, and return the ATA output registers in the sense
data using ATA return descriptor format (descriptor code 0x09).
Observed: If CK_COND is set and the ATA command completed successfully,
ATA PASS-THROUGH(16) does not return a CHECK CONDITION or the sense data
does not contain an ATA return descriptor.
See also the smartmontools SAT implementation
(http://sourceforge.net/apps/trac/smartmontools/browser/trunk/smartmontools/scsiata.cpp?rev=3258#L146)
for further info.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html