I'd like to request inclusion of the new Adaptec aic79xx (Ultra320)
SCSI drivers on the cooker kernels.
Adaptec has posted the source tarball for the driver (as well as RH and
SUSE RPMs) on their site at
http://www.adaptec.com/worldwide/support/driverdetail.html?sess=no&language=English+US&cat=/Product/ASC-39320D&filekey=aic79xx-1.1.0-source.tar.gz
I have applied the sources to the 9.0 2.4.19-6 kernel successfully, and
the driver appears to work. I am currently using it on a system whose
only HDD is an Ultra320 (Adaptec 39320 controller). A system I built on
the 320 disk while booted from a system on a 160 disk (which uses the
MDK-included aic7xxx driver) with the driver built as a module and also
incorporated into the initrd boots successfully.
The tarball they give unpacks directly into /usr/src/linux/drivers. The
tarball root is "scsi", and it adds the aic79xx files to the aic7xxx
directory. It replaces the Makefile in the drivers/scsi/aic7xxx
directory, but a comparison with the original indicates that the new
file is identical to the old except for inclusion of the new aic79xx
modules. No other existing modules are replaced. There is one error in
the Makefile at line 25, where "aic7xxx_reg_print.o" is added as an
object module to be build, but the aic7xxx_reg_print.c file does not
exist in the MDK kernel tree. I simply eliminated this from line 25,
and the driver built without error. Since the aic79xx.o driver takes
the place of the aic7xxx.o driver, and since there *is* an
aic79xx_reg_print.c added by the tarball, this doesn't seem to affect
anything.
In the MDK driver probe, you would try aic79xx if aic7xxx is indicated
but fails. The aic79xx driver replaces the aic7xxx, so if the insmod of
aic79xx succeeds, you would replace "aic7xxx" with "aic79xx" in the
"probeall" in /etc/modules.conf. This would enable the driver only for
39320 users (for whom it is a much better alternative than no support),
and continue to use the aic7xxx driver for those users for whom it
works. If the latter users wish to use the aic79xx driver after boot,
having it available in the /lib/modules makes that easy enough.
Currently, I get some error messages during shutdown about failed
attempts to issue RESET to the bus, but they don't seem to affect the
integrity of the filesystem (it doesn't e2fsck upon reboot).
Thanks,
Frank Griffin
