Support VMS 5.5_2 mode page bits.
[SCSI2SD-V6.git] / software / SCSI2SD / src / mode.c
index 56f34d7bbffae266ac5a3843ee4be168989e9ae0..e748b1bad61cc46f1619c7183c0539f699148274 100755 (executable)
@@ -27,7 +27,18 @@ static const uint8 ReadWriteErrorRecoveryPage[] =
 {\r
 0x01, // Page code\r
 0x0A, // Page length\r
-0x00, // No error recovery options for now\r
+\r
+// VMS 5.5-2 is very particular regarding the mode page values.\r
+// The required values for a SCSI2/NoTCQ device are:\r
+// AWRE=0 ARRE=0 TB=1 RC=0 EER=? PER=1 DTE=1 DCR=?\r
+// See ftp://www.digiater.nl/openvms/decus/vms94b/net94b/scsi_params_dkdriver.txt\r
+// X-Newsgroups: comp.os.vms\r
+// Subject: Re: VMS 6.1 vs. Seagate Disk Drives\r
+// Message-Id: <32g87h$8q@nntpd.lkg.dec.com>\r
+// From: weber@evms.enet.dec.com (Ralph O. Weber -- OpenVMS AXP)\r
+// Date: 12 Aug 1994 16:32:49 GMT\r
+0x26,\r
+\r
 0x00, // Don't try recovery algorithm during reads\r
 0x00, // Correction span 0\r
 0x00, // Head offset count 0,\r
@@ -305,7 +316,7 @@ static void doModeSense(
                case 0x0A:\r
                        pageIn(pc, idx, ControlModePage, sizeof(ControlModePage));\r
                        idx += sizeof(ControlModePage);\r
-                       break;\r
+                       if (pageCode != 0x3f) break;\r
 \r
                case 0x30:\r
                        pageIn(pc, idx, AppleVendorPage, sizeof(AppleVendorPage));\r