Newsgroups: comp.os.linux.announce
From: aycock@cpsc.ucalgary.ca (John Aycock)
Subject: Adaptec 274x/284x PRE-ALPHA interim driver release #4
Message-ID: <ann-8385.777154082@cs.cornell.edu>
Date: Wed, 17 Aug 1994 20:08:18 GMT
Approved: linux-announce@tc.cornell.edu (Matt Welsh)

This release has bugs fixed, parity checking code added, and
has support for the VL-bus 284x cards, thanks to a patch from
Mark Olson.  From the README:

@(#)README 1.10 94/08/16 jda

AHA274x/284x INTERIM DRIVER

***  THIS SHOULD BE CONSIDERED PRE-ALPHA SOFTWARE.  USE AT YOUR OWN RISK  ***

BACKGROUND & LIMITATIONS

For various reasons, we ended up with one of these cards under the
impression that support was soon forthcoming.  In mid-May, I asked
Scott Ferris (the official person who's supposed to be writing this
driver) what documentation he used, _finally_ got it from Adaptec,
and started writing this driver.  It is now at what I would consider
a usable state.  I've already started running our news server using
this driver - if it is stable (and it appears to be so far), then my
development platform is going into service, meaning I will unfortunately
be able to provide only minimal support.

Note that Scott is still developing his driver, and when his is stable
it will supercede this one (hence the name "interim").  To help eliminate
confusion, this driver will officially remain at a "pre-alpha" level.  The
latest version can be obtained by anonymous ftp from ftp.cpsc.ucalgary.ca
in /pub/systems/linux/aha274x.

It supports both EISA 274x and VL-bus 284x, either single or twin-bus cards
(but not the second SCSI bus of twin cards - see aha274x.c), and supports
disconnection, synchronous SCSI, and scatter-gather.  Unlike previous
versions, abort() and reset() are now implemented, and both hosts.c and
aha274x.c should give a clean compile.  Code is now present to detect parity
errors, but has not been tested.

I wrote this using a 1.0.9 kernel.  I recently realized that several critical
kernel structures got changed somewhere in 1.1.x; this version has support
for both, and attempts to guess in aha274x.h as to which type of kernel it's
dealing with.  If you get compiler warnings building this, it probably means
that the auto-detect buggered up.  I am still running the driver under 1.0.9,
however - I've only tested under 1.1.32 enough to make sure that it booted.
As of somewhere around kernel version 1.1.44, the way you request an IRQ
changed, so if you have troubles compiling with a kernel version > 1.1.44,
make sure that AHA274X_1_1_X_IRQ is defined in aha274x.h.

Thanks to patches supplied by Mark Olson <molson@tricord.com>, this driver
will now work with the 284x series (the VL-bus version of this card).  The
294x (PCI-bus) is still unsupported, but I'm willing to incorporate patches
if anyone can supply them.

Under protest, this driver is subject to the GPL - see the file
COPYING for details.

Thanks to the following people for bug fixes/code improvements (also
thanks to the people who have sent me feedback):

	"David F. Carlson" <dave@ee.rochester.edu>
	Jimen Ching <jiching@wiliki.eng.hawaii.edu>
	Mark Olson <molson@tricord.com>

Special thanks to Drew Eckhardt <drew@kinglear.cs.Colorado.EDU> for
fielding my questions about synchronous negotiation.

INSTALLATION

0.  Make sure that the card's BIOS is enabled or this WILL NOT WORK.
	This is because the EISA configuration information appears to be
	only accessible through a BIOS call - I've located the information
	on my machine via a hack, but I don't think it's portable.  I've
	made several requests for EISA technical information on the net
	without success.. so for the time being it's safer to have the
	aha274x's BIOS load all the information for me.  Also, it performs
	a lot of self tests of the card which I'm not keen on duplicating.
	If you're using a 284x, enable the BIOS or the card won't be detected.

1.  Copy aha274x.{c,h,_seq} to /usr/src/linux/drivers/scsi.  The other
	files can be ignored - they're an assembler for the sequencer's
	assembly language and the sequencer program source.
2.  Make the appropriate changes to /usr/src/linux/Makefile and
	/usr/src/linux/drivers/scsi/hosts.c.
3.  Do the configuration, dependency building, and rebuilding.
4.  BACK UP YOUR KERNEL AND DATA.  I'm not kidding.
5.  Reboot.
6.  Test it and send your comments/patches/&c to "aycock@cpsc.ucalgary.ca";
	please consider sending me mail even if you have no problems, so
	I know if someone else is using this successfully.  Please send a
	copy of 284x-related mail to "molson@tricord.com" too.

Sorry the instructions aren't more complete, but if you can't fill
in the extra bits then you probably shouldn't be using this yet.
:ja


--
Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
Be sure to include Keywords: and a short description of your software.
