Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Apr 2008 11:40:09 -0400
From:      Ed Maste <emaste@freebsd.org>
To:        Mike Andrews <mandrews@bit0.com>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: aac tool regressions on 7.0-RC1
Message-ID:  <20080401154009.GA56872@sandvine.com>
In-Reply-To: <20080102034228.M16861@mindcrime.int.bit0.com>
References:  <20080102034228.M16861@mindcrime.int.bit0.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 02, 2008 at 03:54:50AM -0500, Mike Andrews wrote:

> On RELENG_7 dated 2007-12-15 (BETA4), aaccli fails with the following 
> error; arcconf continues to work fine:
> 
>    Command Error: <The miniport device driver is too old to work with the 
>    current AFAAPI.DLL.>

I suspect Adaptec has a firmware bug relating to the RequestAdapterInfo
and RequestSupplementAdapterInfo commands.  The driver family support
brought in the latter, while the former has always been there.  It
appears that RequestAdapterInfo returns all zeros if it's called after
RequestSupplementAdapterInfo or something.

The hack patch below forces reasonable values into the aac_revision
struct if it's zeroed, and it restores aaccli usage for me.  If you
have time I'd be interested in finding out if you can continue using
aaccli with this patch added.

-Ed

Index: aac.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/aac/aac.c,v
retrieving revision 1.109.2.15
diff -p -u -r1.109.2.15 aac.c
--- aac.c       31 Mar 2008 20:03:31 -0000      1.109.2.15
+++ aac.c       1 Apr 2008 15:17:18 -0000
@@ -2792,6 +2792,13 @@ aac_describe_controller(struct aac_softc
        /* save the kernel revision structure for later use */
        info = (struct aac_adapter_info *)&fib->data[0];
        sc->aac_revision = info->KernelRevision;
+       if (sc->aac_revision.buildNumber == 0) {
+               device_printf(sc->aac_dev, "aac_revision hack\n");
+               sc->aac_revision.external.comp.major = 5;
+               sc->aac_revision.external.comp.minor = 2;
+               sc->aac_revision.external.comp.dash = 0;
+               sc->aac_revision.buildNumber = 12814;
+       }


        if (bootverbose) {



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