Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jan 1997 00:50:20 +0100
From:      j@uriah.heep.sax.de (J Wunsch)
To:        freebsd-scsi@FreeBSD.org (FreeBSD SCSI list)
Cc:        pechter@shell.monmouth.com (Bill/Carolyn Pechter)
Subject:   Re: CD Rom and LUNs
Message-ID:  <Mutt.19970129005020.j@uriah.heep.sax.de>
In-Reply-To: <Mutt.19970128105824.obrien@dragon.cs.ucdavis.edu>; from David O'Brien on Jan 28, 1997 10:58:24 -0800
References:  <199701281508.KAA29318@shell.monmouth.com> <Mutt.19970128105824.obrien@dragon.cs.ucdavis.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
As David O'Brien wrote:

> > one drive for each FreeBSD revision) has the problem of being recognized
> > on all LUNs.  It's a Chinon "CDS- 435 M62" single speed SCSI cdrom.
> 
> What version of FBSD are you running?  My Teac did the same thing.  The
> kernel was changed from 2.2-961014-SNAP to 2.2-ALPHA so that it won't
> look for multiple LUNs on CDROMs unless it is told to.  Too many cheap
> scsi CDROMs answered to all LUNs.

Here's the change.  Alas, it's a little more complex than i wish, so
chances are good that patching will fail.

Index: /sys/scsi/scsiconf.c
===================================================================
RCS file: /home/cvs/src/sys/scsi/scsiconf.c,v
retrieving revision 1.69
retrieving revision 1.74
diff -u -u -r1.69 -r1.74
--- scsiconf.c	1996/11/30 07:39:37	1.69
+++ scsiconf.c	1997/01/14 06:54:16	1.74
@@ -248,10 +248,9 @@
 
 static struct scsidevs knowndevs[] =
 {
-/* od's must be probed before sd's since some of them identify as T_DIRECT */
 #if NOD > 0
 	{
-		T_OPTICAL, T_OPTICAL, T_REMOV, "MATSHITA", "PD-1 LF-1000", "*",
+		T_OPTICAL, T_OPTICAL, T_REMOV, "MATSHITA", "PD-1 LF-100*", "*",
 		"od", SC_MORE_LUS
 	},
 	{
@@ -259,7 +258,11 @@
 		"od", SC_MORE_LUS
 	},
 	{
-		T_OPTICAL, T_OPTICAL, T_REMOV, "*", "*", "*",
+		T_DIRECT, T_OPTICAL, T_REMOV, "MOST", "RMD-5200-S", "*",
+		"od", SC_ONE_LU
+	},
+	{
+		T_DIRECT, T_OPTICAL, T_REMOV, "RICOH", "RO-*", "*",
 		"od", SC_ONE_LU
 	},
 #endif	/* NOD */
@@ -268,10 +271,6 @@
 		T_DIRECT, T_DIRECT, T_FIXED, "EMULEX", "MD21*" , "*",
 		"sd", SC_MORE_LUS
 	},
-	{
-		T_DIRECT, T_DIRECT, T_FIXED, "*", "*", "*",
-		"sd", SC_ONE_LU
-	},
 #endif	/* NSD */
 #if NST > 0
 	{
@@ -306,17 +305,7 @@
 		T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "Quantum", "DLT*", "*",
 		"st", SC_MORE_LUS, 0
 	},
-	{
-		T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "*", "*", "*",
-		"st", SC_ONE_LU, 0, mode_unktape
-	},
 #endif	/* NST */
-#if NCH > 0
-	{
-		T_CHANGER, T_CHANGER, T_REMOV, "*", "*", "*",
-		"ch", SC_ONE_LU
-	},
-#endif	/* NCH */
 #if NCD > 0
 #ifndef UKTEST	/* make cdroms unrecognised to test the uk driver */
 	/*
@@ -388,6 +377,44 @@
 		T_READONLY, T_WORM, T_REMOV, "PLASMON", "RF41*", "*",
 		"worm", SC_ONE_LU
 	},
+#endif /* NWORM */
+
+	/*
+	 * Wildcard entries.  Keep them down here below all device
+	 * specific entries, so the above ones can override the type
+	 * driver if necessary.
+	 */
+#if NOD > 0
+	{
+		T_OPTICAL, T_OPTICAL, T_REMOV, "*", "*", "*",
+		"od", SC_ONE_LU
+	},
+#endif /* NOD */
+#if NSD > 0
+	{
+		T_DIRECT, T_DIRECT, T_FIXED, "*", "*", "*",
+		"sd", SC_ONE_LU
+	},
+#endif /* NSD */
+#if NST > 0
+	{
+		T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "*", "*", "*",
+		"st", SC_ONE_LU, 0, mode_unktape
+	},
+#endif /* NST */
+#if NCH > 0
+	{
+		T_CHANGER, T_CHANGER, T_REMOV, "*", "*", "*",
+		"ch", SC_ONE_LU
+	},
+#endif	/* NCH */
+#if NCD > 0 && !defined(UKTEST)
+	{
+		T_READONLY, T_READONLY, T_REMOV, "*", "*", "*",
+		"cd", SC_ONE_LU
+	},
+#endif /* NCD */
+#if NWORM > 0
 	{
 		T_WORM, T_WORM, T_REMOV, "*", "*", "*",
 		"worm", SC_ONE_LU

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Mutt.19970129005020.j>