Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Oct 1996 18:49:31 +0200 (MET DST)
From:      J Wunsch <j@uriah.heep.sax.de>
To:        freebsd-scsi@FreeBSD.org (FreeBSD SCSI list)
Cc:        hsu@freefall.freebsd.org (Jeffrey Hsu)
Subject:   Re: verbose but cryptic error
Message-ID:  <199610051649.SAA00599@uriah.heep.sax.de>
In-Reply-To: <199610051550.IAA22767@freefall.freebsd.org> from Jeffrey Hsu at "Oct 5, 96 08:50:34 am"

next in thread | previous in thread | raw e-mail | index | archive | help
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. ;-)



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