From owner-freebsd-scsi Thu May 30 16:56:13 1996 Return-Path: owner-freebsd-scsi Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id QAA17630 for freebsd-scsi-outgoing; Thu, 30 May 1996 16:56:13 -0700 (PDT) Received: from Fieber-John.campusview.indiana.edu (Fieber-John.campusview.indiana.edu [149.159.1.34]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id QAA17625 for ; Thu, 30 May 1996 16:56:08 -0700 (PDT) Received: from localhost (jfieber@localhost) by Fieber-John.campusview.indiana.edu (8.7.5/8.7.3) with SMTP id SAA12520 for ; Thu, 30 May 1996 18:56:05 -0500 (EST) X-Authentication-Warning: Fieber-John.campusview.indiana.edu: jfieber owned process doing -bs Date: Thu, 30 May 1996 18:56:05 -0500 (EST) From: John Fieber X-Sender: jfieber@Fieber-John.campusview.indiana.edu To: scsi@FreeBSD.ORG Subject: Re: Archive Viper not correctly identified. In-Reply-To: <199605271630.CAA28011@genesis.atrad.adelaide.edu.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-scsi@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Okay, I had to rebuild my kernel for another purpose so I looked at the scsi code more carefully. When the probe looks up to see if the given device is in its "quirk" list, it compares three things returned by the device: manufacturer, model, and revision. For the Archive Viper, the quirk entry is: Manufacturer = ARCHIVE mOdel = VIPER 150 Revision = * I assumed the match would happen like this: (bt0:6:0): "ARCHIVE VIPER 150 21247 -005" type 1 removable SCSI 1 MMMMMMM OOOOOOOOO RRRRRRRRRR but it does NOT because the drive returns the information like: (bt0:6:0): "ARCHIVE VIPER 150 21247 -005" type 1 removable SCSI 1 MMMMMMM OOOOOOOOOOOOOOOO RRRR which means the model field either has to have a wildcard or, be more completely specified. The big clue was the fact that the three fields are fixed in length, and the revision field is only four bytes. The light went on in my head that the 21247 was in the model field. Without being more completely specified, or wildcarded the quirk list entry will never match the drive. The patch below fixes the problem. If there are no objections, I'll commit the change. -john == jfieber@indiana.edu =========================================== == http://fallout.campusview.indiana.edu/~jfieber ================ *** scsiconf.c.orig Tue May 28 14:46:08 1996 --- scsiconf.c Tue May 28 19:08:45 1996 *************** *** 276,282 **** "st", SC_ONE_LU, 0, mode_archive2525 }, { ! T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "ARCHIVE", "VIPER 150", "*", "st", SC_ONE_LU, ST_Q_NEEDS_PAGE_0, mode_archive150 }, { --- 276,282 ---- "st", SC_ONE_LU, 0, mode_archive2525 }, { ! T_SEQUENTIAL, T_SEQUENTIAL, T_REMOV, "ARCHIVE", "VIPER 150 *", "*", "st", SC_ONE_LU, ST_Q_NEEDS_PAGE_0, mode_archive150 }, {