Subject: kern/23420: new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
To: None <gnats-bugs@gnats.netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: netbsd-bugs
Date: 11/12/2003 16:57:04
>Number:         23420
>Category:       kern
>Synopsis:       new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 12 21:58:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Greg A. Woods
>Release:        NetBSD 1.6.2_RC1 (netbsd-1-6 2003/10/30 with AHC driver pulled up from -current)
>Organization:
Planix, Inc.; Toronto, Ontario; Canada
>Environment:
System: NetBSD 1.6.2_RC1
Architecture: i386
Machine: i386
>Description:

	Seagate ST318436LC drives are "FAST-80/Ultra-2 SCSI" drives,
	according to the "Barracuda 18XL Product Manual".

	However the new AHC driver probes them at just 40MB/s:

	ahc2 at pci1 dev 4 function 1
	ahc2: interrupting at irq 11
	ahc2: aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
	scsibus1 at ahc2: 16 targets, 8 luns per target
	sd4 at scsibus1 target 8 lun 0: <SEAGATE, ST318436LC, 0004> SCSI3 0/direct fixed
	sd4: 17522 MB, 14384 cyl, 6 head, 415 sec, 512 bytes/sect x 35885168 sectors
	sd4: sync (50.0ns offset 31), 16-bit (40.000MB/s) transfers, tagged queueing


	This may be because the Adaptec BIOS (v2.57) sees them at
	40.0MB/s as well (i.e. during boot they're probed and reported
	at 40.0MB/s).  I can't seem to convince it to not scan those
	drives even after turning off the scan for all IDs on that bus.
	It's not possible to disable the BIOS for only one channel
	either.  I also can't seem to force the BIOS to probe at 80MB/s.



	A correct probe, as done by the siop driver on a Tecmar card,
	attaches them at their proper 80MB/s rate:

	siop0 at pci0 dev 6 function 0: Symbios Logic 53c895 (ultra2-wide scsi)
	siop0: using on-board RAM
	siop0: interrupting at irq 5
	scsibus2 at siop0: 16 targets, 8 luns per target
	sd4 at scsibus2 target 8 lun 0: <SEAGATE, ST318436LC, 0004> SCSI3 0/direct fixed
	sd4: 17522 MB, 14384 cyl, 6 head, 415 sec, 512 bytes/sect x 35885168 sectors
	sd4: sync (25.0ns offset 31), 16-bit (80.000MB/s) transfers, tagged queueing



	Note that ahc does probe newer and faster drives properly on the
	same controller (although on the first channel):

	ahc1 at pci1 dev 4 function 0
	ahc1: interrupting at irq 9
	ahc1: aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
	scsibus0 at ahc1: 16 targets, 8 luns per target
	sd0 at scsibus0 target 0 lun 0: <SEAGATE, ST39205LW, 5063> SCSI3 0/direct fixed
	sd0: 8750 MB, 19036 cyl, 2 head, 470 sec, 512 bytes/sect x 17921835 sectors
	sd0: sync (12.5ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing


>How-To-Repeat:

>Fix:

	This seems, at least at first glance, to be a problem with the
	AHC 7899 and/or the Adaptec BIOS v2.57 so I'm not sure a fix is
	possible in the driver.....

>Release-Note:
>Audit-Trail:
>Unformatted: