Hello,
 
I'm using smartmontools 6.1 on a server with an LSI Megaraid controller.
I notice that my Toshiba SATA drive, when in RAID mode, fails the health check
command, whereas in JBOD mode, it passes.
 
Here is sample output in RAID mode:
==
sh-4.2# smartctl -H -d megaraid,4 /dev/sda
smartctl 6.1 2013-03-16 r3800 [x86_64-linux-3.10.4] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
 
/dev/sda [megaraid_disk_04] [SAT]: Device open changed type from 'megaraid,4' to 'sat+megaraid,4'
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
 
sh-4.2# echo $?
4 <<<<< Bit 2 is set:  "Some SMART or other ATA command to the disk failed, or there was a checksum error in a SMART data structure"
==
 
 
If I enable debug output via "-r ioctl,2" option, here is the excerpt of output in
JBOD vs. RAID mode:
 
 
JBOD mode:
=== START OF READ SMART DATA SECTION ===
 
REPORT-IOCTL: Device=/dev/sdb Command=SMART STATUS CHECK
Input:   FR=0xda, SC=...., LL=...., LM=0x4f, LH=0xc2, DEV=...., CMD=0xb0
[ata pass-through(16): 85 06 2c 00 da 00 00 00 00 00 4f 00 c2 00 b0 00 ]
  scsi_status=0x2, host_status=0x0, driver_status=0x8
  info=0x1  duration=24 milliseconds  resid=0
  >>> Sense buffer, len=22:
00     72 01 00 1d 00 00 00 0e  09 0c 00 00 00 00 00 00
10     00 4f 00 c2 40 50
  status=2: [desc] sense_key=1 asc=0 ascq=1d
Values from ATA Return Descriptor are:
00     09 0c 00 00 00 00 00 00  00 4f 00 c2 40 50
[Duration: 0.025s]
Output: ERR=0x00, SC=0x00, LL=0x00, LM=0x4f, LH=0xc2, DEV=0x40, STS=0x50
REPORT-IOCTL: Device=/dev/sdb Command=SMART STATUS CHECK returned 0
SMART overall-health self-assessment test result: PASSED
 
 
RAID mode:
=== START OF READ SMART DATA SECTION ===
 
REPORT-IOCTL: Device=/dev/sdb Command=SMART STATUS CHECK
Input:   FR=0xda, SC=...., LL=...., LM=0x4f, LH=0xc2, DEV=...., CMD=0xb0
[ata pass-through(16): 85 06 2c 00 da 00 00 00 00 00 4f 00 c2 00 b0 00 ]
sat_device::ata_pass_through: scsi_pass_through() failed, errno=38 [ATA return descriptor not supported by controller firmware]
REPORT-IOCTL: Device=/dev/sdb Command=SMART STATUS CHECK returned -1 errno=38 [ATA return descriptor not supported by controller firmware]
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
 
Any help would be appreciated.
 
Thanks.
Chanda