Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 May 1996 14:22:45 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        sbigger@novell.com ((Sam-c Bigger)(Sam-c Bigger))
Cc:        questions@freebsd.org
Subject:   Re: Adaptec 2940 pci driver
Message-ID:  <199605102122.OAA02757@phaeton.artisoft.com>
In-Reply-To: <s1933355.007@fromGW> from "(Sam-c Bigger)(Sam-c Bigger)" at May 10, 96 12:16:22 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Hi,

Sam "formerly of Novell Sandy" Bigger?

It's me, Terry "formerly of Novell Sandy" Lambert!

> After looking through the FreeBSD code, it appears
> that FreeBSD does not use the Hardware Interface
> Module (HIM) provided by Adaptec to support the
> 2940 driver. I was wondering how you got away with
> this, and if you felt that it was easier to deal directly
> with the AIC chip than to deal with the HIM module
> code from Adaptec? I have to write a driver for this
> 2940 card, and I'm wondering if it would be easier
> to bypass Adaptecs HIM module (as it appears you
> did) or if I would be better off using it.

Adaptec's "HIM" module interface is used to download non-default
microcode to the controller as part of the OS startup.

The code is supposed to protect Adaptec's intellectual property
by making it hard for someone to build a clone board that lets
them leverage Adaptec drivers in the OS.  Remember the 154x/174x
cones that came out from Bustek or BusLogic and others?

Apparently they don't think having a patent on the AIC-7770
sequencer itself is protection enough.  8-|.


Here is the trade BSD (and Linux) made:

1)	Sign non-disclosure and distribute only binaries to
	get the Adaptec-supplied HIM code into the OS.

vs.

2)	Rewrite the AIC-7770 microcode and download code from
	documentation available without NDA.


The loss here is that things like Adaptec's new 394x RAID controller
aren't supported because the microcode doesn't have the sequencer
level RAID support code for things like auto-calculation of ECC's,
etc..

The win is that the source can be distributed, and unlike Adaptec's
code, it works on the OEM version of the AIC-7770 that HP uses on
its motherboards.

There is also some lag between release and support of new chip
revisions from Adaptec, assuming they may firmware change necessary
(like they did in the UW controller series).

This is somewhat balanced by full support for target mode, and several
other things Adaptec doesn't really guarantee, along with some
fixes for tagged command queueing and SCSI reconnect races with
Quantum drives that the Adaptec firmware lacks.


Note that there is usable default firmware in these things if you
don't force a RAM reset (otherwise they couldn't BIOS-boot to the
level where a download was possible, and they wouldn't work under
DOS).  The default firmware API isn't documented.

Hope this helps; I'm sure the Adaptec guru's will jump in and add
anything I've missed or correct anything I've gotten wrong.


					Regards,
					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



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