NetBSD Problem Report #23420

Received: (qmail 15516 invoked by uid 605); 12 Nov 2003 21:57:06 -0000
Message-Id: <m1AK2z2-0003NjC@proven.weird.com>
Date: Wed, 12 Nov 2003 16:57:04 -0500 (EST)
From: woods@weird.com (Greg A. Woods)
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: woods@planix.com (Greg A. Woods)
To: gnats-bugs@gnats.netbsd.org
Subject: new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
X-Send-Pr-Version: 3.95

>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 +0000 2003
>Closed-Date:    
>Last-Modified:  Sun Oct 01 21:45:00 +0000 2006
>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:
From: Sergey Svishchev <svs+pr@grep.ru>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: kern/23420
Date: Sat, 30 Sep 2006 11:52:54 +0400

 This looks very much like the problem I've seen on Linux machines.
 The 'new' aic7xxx driver would negotiate lower speed than 'old'
 (aic7xxx_old) driver.  Newer driver reads SEEPROM and per-target speed
 settings stored there.  In my case, SEEPROM settings forced all targets
 to negotiate 10MB/s speed, while Adaptec BIOS displayed "40MB/s" as
 current setting.  The fix was to change all speed settings to something
 else, save them, and change them again to desired speed.

 -- 
 Sergey Svishchev

From: "Greg A. Woods" <woods@planix.com>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: kern/23420: new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
Date: Sat, 30 Sep 2006 21:24:25 -0400

 > From: Sergey Svishchev <svs+pr@grep.ru>
 > To: gnats-bugs@netbsd.org
 > Subject: Re: kern/23420
 > Date: Sat, 30 Sep 2006 11:52:54 +0400
 > 
 >  This looks very much like the problem I've seen on Linux machines.
 >  The 'new' aic7xxx driver would negotiate lower speed than 'old'
 >  (aic7xxx_old) driver.  Newer driver reads SEEPROM and per-target speed
 >  settings stored there.  In my case, SEEPROM settings forced all targets
 >  to negotiate 10MB/s speed, while Adaptec BIOS displayed "40MB/s" as
 >  current setting.  The fix was to change all speed settings to something
 >  else, save them, and change them again to desired speed.

 Coincidentally I recently did approximately just that on another
 controller and machine recently where the drives weren't being probed at
 their maximum speed, though I didn't bother setting the desired speed --
 I just set the maximum for the controller.

 I guess we can write this off as an Adaptec BIOS bug.

 This PR should probably be turned into a documentation bug and maybe a
 note can be added to the manual page suggesting this
 change-and-save-twice work-round for adjusting drive parameters via the
 adapter's BIOS.

 -- 
 						Greg A. Woods

 H:+1 416 218-0098 W:+1 416 489-5852 x122 VE3TCP RoboHack <woods@robohack.ca>
 Planix, Inc. <woods@planix.com>       Secrets of the Weird <woods@weird.com>

From: Manuel Bouyer <bouyer@antioche.eu.org>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@NetBSD.org, gnats-admin@NetBSD.org,
	netbsd-bugs@NetBSD.org, "Greg A. Woods" <woods@planix.com>
Subject: Re: kern/23420: new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
Date: Sun, 1 Oct 2006 23:41:35 +0200

 On Sun, Oct 01, 2006 at 01:25:02AM +0000, Greg A. Woods wrote:
 > The following reply was made to PR kern/23420; it has been noted by GNATS.
 > 
 > From: "Greg A. Woods" <woods@planix.com>
 > To: gnats-bugs@NetBSD.org
 > Cc: 
 > Subject: Re: kern/23420: new ahc driver doesn't probe Seagate ST318436LC drives at the right speed
 > Date: Sat, 30 Sep 2006 21:24:25 -0400
 > 
 >  > From: Sergey Svishchev <svs+pr@grep.ru>
 >  > To: gnats-bugs@netbsd.org
 >  > Subject: Re: kern/23420
 >  > Date: Sat, 30 Sep 2006 11:52:54 +0400
 >  > 
 >  >  This looks very much like the problem I've seen on Linux machines.
 >  >  The 'new' aic7xxx driver would negotiate lower speed than 'old'
 >  >  (aic7xxx_old) driver.  Newer driver reads SEEPROM and per-target speed
 >  >  settings stored there.  In my case, SEEPROM settings forced all targets
 >  >  to negotiate 10MB/s speed, while Adaptec BIOS displayed "40MB/s" as
 >  >  current setting.  The fix was to change all speed settings to something
 >  >  else, save them, and change them again to desired speed.
 >  
 >  Coincidentally I recently did approximately just that on another
 >  controller and machine recently where the drives weren't being probed at
 >  their maximum speed, though I didn't bother setting the desired speed --
 >  I just set the maximum for the controller.
 >  
 >  I guess we can write this off as an Adaptec BIOS bug.
 >  
 >  This PR should probably be turned into a documentation bug and maybe a
 >  note can be added to the manual page suggesting this
 >  change-and-save-twice work-round for adjusting drive parameters via the
 >  adapter's BIOS.

 Can you provide a patch for the ahc(4) man page ?

 -- 
 Manuel Bouyer <bouyer@antioche.eu.org>
      NetBSD: 26 ans d'experience feront toujours la difference
 --

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.