diff --git a/F4_BlueSCSI/F4_BlueSCSI.ino b/F4_BlueSCSI/F4_BlueSCSI.ino index cf8feee..8c2935d 100644 --- a/F4_BlueSCSI/F4_BlueSCSI.ino +++ b/F4_BlueSCSI/F4_BlueSCSI.ino @@ -1259,6 +1259,14 @@ byte onModeSense(SCSI_DEVICE *dev, const byte *cdb) } a += 0x20; if(pageCode != SCSI_SENSE_MODE_ALL) break; + case SCSI_SENSE_MODE_CACHING: + m_buf[a + 0] = SCSI_SENSE_MODE_CACHING; + m_buf[a + 1] = 0x0A; // Page length + if(pageControl != 1) { + m_buf[a + 2] = 0x01; // Disalbe Read Cache so no one asks for Cache Stats page. + } + a += 0x08; + if(pageCode != SCSI_SENSE_MODE_ALL) break; case SCSI_SENSE_MODE_VENDOR_APPLE: { const byte page30[0x14] = {0x41, 0x50, 0x50, 0x4C, 0x45, 0x20, 0x43, 0x4F, 0x4D, 0x50, 0x55, 0x54, 0x45, 0x52, 0x2C, 0x20, 0x49, 0x4E, 0x43, 0x20}; diff --git a/F4_BlueSCSI/scsi_sense.h b/F4_BlueSCSI/scsi_sense.h index 3e4e812..b772b1e 100644 --- a/F4_BlueSCSI/scsi_sense.h +++ b/F4_BlueSCSI/scsi_sense.h @@ -38,6 +38,7 @@ #define SCSI_SENSE_MODE_FORMAT_DEVICE 0x03 #define SCSI_SENSE_MODE_DISK_GEOMETRY 0x04 #define SCSI_SENSE_MODE_FLEXABLE_GEOMETRY 0x05 +#define SCSI_SENSE_MODE_CACHING 0x08 #define SCSI_SENSE_MODE_VENDOR_APPLE 0x30 #define SCSI_SENSE_MODE_ALL 0x3F