AIC7xxx Driver for Linux July 20, 1997 Introduction ------------------------ The AIC7xxx SCSI driver adds support for Adaptec (http://www.adaptec.com) SCSI controllers and chipsets. Major portions of the driver and driver development are shared between both Linux and FreeBSD. Support for the AIC-7xxx chipsets have been in the default Linux kernel since approximately linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD 2.1.0 or later. Supported cards/chipsets ------------------------ Adaptec Cards ----------------------- AHA-274x AHA-2842 AHA-2940 AHA-2940W AHA-2940U AHA-2940UW AHA-2944D AHA-2944WD AHA-3940 AHA-3940W AHA-3985 AHA-3985W Motherboard Chipsets ----------------------- AIC-777x AIC-785x AIC-786x AIC-787x AIC-788x Bus Types ----------------------- W - Wide SCSI, SCSI-3, 16bit bus, 68pin connector, will also support SCSI-1/SCSI-2 50pin devices, transfer rates up to 20MB/s. U - Ultra SCSI, transfer rates up to 40MB/s. D - Differential SCSI. T - Twin Channel SCSI. Up to 14 SCSI devices. AHA-274x - EISA SCSI controller AHA-284x - VLB SCSI controller AHA-29xx - PCI SCSI controller AHA-394x - PCI controllers with two separate SCSI controllers on-board. AHA-398x - PCI RAID controllers with three separate SCSI controllers on-board. NOTE: The AHA-2920 is NOT a AIC-7xxx based controller, and is not handled by this driver. People ------------------------ Justin T Gibbs gibbs@freefall.FreeBSD.org (BSD Driver Author) Dan Eischen deischen@iworks.InterWorks.org (Linux Driver Co-maintainer) Dean Gehnert deang@teleport.com (Linux FTP/patch maintainer) Jess Johnson jester@frenzy.com (AIC7xxx FAQ author) Doug Ledford dledford@dialnet.net (Stress tester/bug squasher) Special thanks go to John Aycock (aycock@cpsc.ucalgary.ca), the original author of the driver. John has since retired from the project. Thanks again for all his work! Mailing list ------------------------ There is a mailing list available for users who want to track development and converse with other users and developers. This list is for both FreeBSD and Linux support of the AIC7xxx chipsets. To subscribe to the AIC7xxx mailing list send mail to the list server, with "subscribe AIC7xxx" in the body (no Subject: required): To: majordomo@FreeBSD.ORG --- subscribe AIC7xxx To unsubscribe from the list, send mail to the list server with: To: majordomo@FreeBSD.ORG --- unsubscribe AIC7xxx Send regular messages and replies to: AIC7xxx@FreeBSD.ORG Command line options ("aic7xxx=option[,option...]") --------------------------------------------------- "aic7xxx=no_reset" - Eliminate the SCSI reset delay during startup. Some SCSI devices need some extra time to reset. "aic7xxx=extended" - Force extended translation. "aic7xxx=ultra" - Force Ultra mode "aic7xxx=irq_trigger:[0,1]" - Edge (0) or Level (1) triggered interrupts. AFAIK, the driver only works with level triggered interrupts. This only applies to EISA adapters. "aic7xxx=verbose" - Enable more bootup messages. PLEASE use this if you have problems with the driver. /proc support ------------------------ The /proc support for the AIC7xxx can be found in the /proc/scsi/aic7xxx/ directory. That directory contains a file for each SCSI controller in the system. Each file presents the current configuration and transfer statistics (enabled with #define in aic7xxx.c) for each controller. Thanks to Michael Neuffer for for his upper-level SCSI help, and Matthew Jacob for statistics support. FTP sites ------------------------ ftp://ftp.teleport.com/users/deang/Linux/aic7xxx/ - Main Linux AIC7xxx driver release/pre-release site - Experimental/development patches and bootdisks ftp://ftp.dialnet.net/pub/linux/aic7xxx/ - US Linux mirror of Teleport site ftp://ekf2.vsb.cz/pub/linux/kernel/aic7xxx/ftp.teleport.com/ - European Linux mirror of Teleport site ftp://ftp.pcnet.com/users/eischen/Linux/ - Daniel Eischens experimental/development ftp site that is also home of the Linux aic7xxx sequencer assembler source. Sequencer assembler ------------------------ The sequencer assembler is no longer being distributed with the Linux kernel. The sequencer assembler (aic7xxx_asm) is now being maintained by Justin Gibbs under a BSD copyright (which pretty much lets you do anything you want with it). I keep a Linux version of the assembler at my ftp site should you wish to hack the sequencer code (ftp://ftp.pcnet.com/users/eischen/Linux/). Please note that you do NOT need the assembler to build a kernel with aic7xxx support. The assembler generates the code that is downloaded to the aic7xxx controllers; this code IS part of the Linux kernel (aic7xxx_seq.h and aic7xxx_reg.h). Problems compiling the kernel with aic7xxx support -------------------------------------------------- This is probably due to having modified the sequencer files in some way. If you are not modifying the sequencer source (in drivers/scsi/aic7xxx/aic7xxx.seq), then you can just re-extract the necessary files from your kernel tarball. Otherwise, visit my anonymous ftp site (ftp.pcnet.com) and grab the sequencer assembler source. Dean W. Gehnert deang@teleport.com (Modified by D. Eischen, 7/20/97) $Revision: 3.1a $