From owner-freebsd-scsi Sat Oct 5 09:51:29 1996 Return-Path: owner-freebsd-scsi Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA25633 for freebsd-scsi-outgoing; Sat, 5 Oct 1996 09:51:29 -0700 (PDT) Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id JAA25622 for ; Sat, 5 Oct 1996 09:51:16 -0700 (PDT) Received: from sax.sax.de (sax.sax.de [193.175.26.33]) by irz301.inf.tu-dresden.de (8.6.12/8.6.12-s1) with ESMTP id SAA22455; Sat, 5 Oct 1996 18:51:11 +0200 Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id SAA22272; Sat, 5 Oct 1996 18:51:11 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.7.5/8.6.9) id SAA00599; Sat, 5 Oct 1996 18:49:31 +0200 (MET DST) From: J Wunsch Message-Id: <199610051649.SAA00599@uriah.heep.sax.de> Subject: Re: verbose but cryptic error To: freebsd-scsi@FreeBSD.org (FreeBSD SCSI list) Date: Sat, 5 Oct 1996 18:49:31 +0200 (MET DST) Cc: hsu@freefall.freebsd.org (Jeffrey Hsu) Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199610051550.IAA22767@freefall.freebsd.org> from Jeffrey Hsu at "Oct 5, 96 08:50:34 am" X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-scsi@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk As Jeffrey Hsu wrote: > Sure. I get > > mode data len: 11 > type: 0 > device-specific: 0 > blkdesc len: 8 > density: 0 > numblk: 3450902 > reserved: 0 > bllen: 512 So the drive tells that it has 3450902 blocks with 512 bytes each, but apparently rejects these figures when being used inside a MODE SELECT command. It's rather unusual for a drive to report the number of blocks in the MODE SENSE data. Perhaps this is what finally makes your drive bitching -- scsi(8) simply passes this value on in the MODE SELECT. Perhaps it should zero out all junk data. > > Btw., what drive (vendor) is it? > > Oops. I forgot to say that it was a Micropolis 2217. Hmm. *** (quarter an hour later) Eeek. Nope. scsi(8) doesn't send out a block descriptor with the MODE SELECT command. Hence the byte-numbering is skewed: (Bytes 0 thru 3 go into the mode header.) 4.7: AWRE (Auto Write Reallocation Enbld): 0 4.6: ARRE (Auto Read Reallocation Enbld): 0 4.5: TB (Transfer Block): 1 4.4: RC (Read Continuous): 0 4.3: EER (Enable Early Recovery): 0 4.2: PER (Post Error): 0 4.1: DTE (Disable Transfer on Error): 0 4.0: DCR (Disable Correction): 0 5: Read Retry Count: 15 6: Correction Span: 8 7: Head Offset Count: 0 8: Data Strobe Offset Count: 0 9: (reserved) 10: Write Retry Count: 15 11: (reserved) 12/13: Recovery Time Limit: 0 So it seems that it doesn't grok the value 0 for the first field that is marked `reserved' in the SCSI-2 spec. Even more weird, `reserved' fields are required to be 0 on a MODE SELECT command per the specs. Modify your /usr/share/misc/scsi_modes to give this field a name, and remove the asterisk in the format. Then, try to edit this field to something else than 0. -- 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. ;-)