diff --git a/smartmontools/CHANGELOG b/smartmontools/CHANGELOG index 9930001e28335f2c5391388db965d319d6dfffaa..20076c5155256055613ef340b0f93d5d2f64ed1f 100644 --- a/smartmontools/CHANGELOG +++ b/smartmontools/CHANGELOG @@ -43,6 +43,8 @@ NOTES FOR FUTURE RELEASES: see TODO file. <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE> + [AS] Linux: Fixed IDE drives support on megaraid device (see ticket #15). + [AS] FreeBSD: Removed all old detection code, moving everything to the objects. Now we are using CAM/ATA enumerators to guess device type. diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp index 98ffceee2f6bb420d6396f06e79714400bbb7971..3bb16ddefda4d0c7f68494069e2a2f7d2ed39203 100644 --- a/smartmontools/os_linux.cpp +++ b/smartmontools/os_linux.cpp @@ -1044,6 +1044,16 @@ bool linux_megaraid_device::scsi_pass_through(scsi_cmnd_io *iop) return true; if (iop->cmnd[0] == 0x85 && iop->cmnd[1] == 0x06) { pout("Rejecting SMART/ATA command to controller\n"); + // Emulate SMART STATUS CHECK drive reply + // smartctl fail to work without this + if(iop->cmnd[2]==0x2c) { + iop->resp_sense_len=22; + iop->sensep[0]=0x72; // response code + iop->sensep[7]=0x0e; // no idea what it is, copied from sat device answer + iop->sensep[8]=0x09; // + iop->sensep[17]=0x4f; // lm + iop->sensep[19]=0xc2; // lh + } return true; }