aac tool regressions on 7.0-RC1

Ed Maste emaste at freebsd.org
Tue Apr 1 15:41:12 UTC 2008


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) {


More information about the freebsd-stable mailing list