Subject: Re: Ultra2 FAS problems
To: Andrey Petrov <petrov@netbsd.org>
From: john heasley <heas@shrubbery.net>
List: port-sparc64
Date: 08/27/2002 12:46:32
Mon, Aug 26, 2002 at 12:29:35PM -0700, Andrey Petrov:
> On Mon, Aug 26, 2002 at 12:02:46PM -0700, john heasley wrote:
> > Sun, Aug 25, 2002 at 03:25:24PM -0700, Andrey Petrov:
> > > I suspect that your drive start negotiating sync/wide mode
> > > first and this is not supported by esp driver. If you can
> > 
> > what do you mean by "first"?  before something in particular?
> 
> Usually controller starts sync/wide negotiating after getting target
> capabilities. The logs you sent to me quite long ago showed 
> that drive can also start negotiating on its own, that what I meant 'first'.

thanks, btw.  thought i might have been lost again. :)

> I put your patch into esp driver, can you try it?
> 
> 	Andrey

thanks, works quite nicely.

scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <SEAGATE, ST34371W, 0280> SCSI2 0/direct fixed
sd0: 4148 MB, 5168 cyl, 10 head, 164 sec, 512 bytes/sect x 8496960 sectors
esp0: wide mode 1
sd0: sync (100.0ns offset 15), 16-bit (20.000MB/s) transfers, tagged queueing
sd1 at scsibus0 target 1 lun 0: <SEAGATE, ST32171W SUN2.1G, 7462> SCSI2 0/direct fixed
sd1: 2029 MB, 2735 cyl, 19 head, 80 sec, 512 bytes/sect x 4157201 sectors
esp0: wide mode 1
sd1: sync (100.0ns offset 15), 16-bit (20.000MB/s) transfers, tagged queueing
sd2 at scsibus0 target 3 lun 0: <IBM, DDRS39130SUN9.0G, S98E> SCSI2 0/direct fixed
sd2: 8637 MB, 4926 cyl, 27 head, 133 sec, 512 bytes/sect x 17689267 sectors
esp0: wide mode 1
sd2: sync (100.0ns offset 15), 16-bit (20.000MB/s) transfers, tagged queueing
sd3 at scsibus0 target 4 lun 0: <IBM, DPSS-309170M, S80D> SCSI3 0/direct fixed
sd3: 8748 MB, 14627 cyl, 3 head, 408 sec, 512 bytes/sect x 17916240 sectors
esp0: wide mode 1
sd3: sync (100.0ns offset 15), 16-bit (20.000MB/s) transfers, tagged queueing

before, these 9.1g ibm drives (sd[23]) would cause the bus to take parity
errors while trying to retrieve the label until eventually gave up.  like
so:

esp1: SCSI bus reset
esp1: invalid state: 6esp1: resetting SCSI bus
esp1: SCSI bus reset
esp1: invalid state: 6esp1: resetting SCSI bus
	...
sd2(esp1:0:4:0): could not get size
esp1: wide mode 1
esp1: SCSI bus parity error
esp1: !TC on DATA XFER [intr 10, stat 86, step 4] prevphase 1, resid 20
sd2: no disk label
esp1: SCSI bus parity error
esp1: !TC on DATA XFER [intr 10, stat 86, step 4] prevphase 1, resid 4a
esp1: SCSI bus parity error
esp1: !TC on DATA XFER [intr 10, stat 86, step 4] prevphase 1, resid 20
/dev/rsd2c: SCSI command timed out