Subject: Re: Help w/strange SCSI error
To: Douglas R. MacKintosh <doug@doug.net>
From: Jeremy Cooper <jeremy@broder.com>
List: netbsd-users
Date: 05/15/1997 15:01:52
> On Wed, 14 May 1997, Douglas R. MacKintosh wrote:
> 
> > I have a Sun SPARCstation SLC running NetBSD 1.2. All is well.
> > 
> > I added a fifth disk to the SCSI chain the other day and now get the
> > following squawkage when reading or writing heavily with the disk:
> > 
> > May 12 17:57:56 sputnik /netbsd: esp0: RESELECT: 7 bytes in FIFO!
> > 
> > My questions are:
> > 
> > 1) What exactly does this error mean?
> > 2) What are the possible causes of the error?

The early Sparc models have esp chips which have a minor hardware bug. 
Yours is probably one of them.  The bug has to do with how the chip deals
with SCSI reselection.  There is a workaround for it and it is included in
the GENERIC kernels for 1.2 and above.

However, the workaround only avoids triping the bug by disabling
reselection of SCSI targets 0-3, with the assumption that most slow SCSI
devices like tapes and CDROMs will be using higher IDs.  You probably
crossed this boundary with the introduction of your fifth disk.

In -current there is a better fix which allows reselection.  If you don't
feel like downloading -current, you can recompile your kernel to disable
reselection on more IDs.  In your kernel config file you will find a line
like this:

esp0    at sbus0 slot ? offset ? flags 0xff0f           # sun4c

Above it are comments which pertain the the manipulation of the 'flags'
variable.  Follow them, making sure that you toggle whatever bits are
needed to disable reselection on all your drives.

-J