This README file is somehow obsolete, as the web page now has a rough description of the driver and the README.tmscsim file in the package has detailed help. However, it used to be there, so I don't want to remove it immediately. Some info may not be up to date, though. (KG, 98/12/28) The DC390 (tmscsim) driver rev 2.0x ===================================== DESCRIPTION ----------- The DC390 driver supports AM53C974-based PCI SCSI host adapters. It was developed by a Tekram engineer to work with a Tekram DC390 (T) and enhanced by me to support other AM53C974 based adapters as well. The driver's name is tmscsim. Please don't confuse it with the AM53C974 driver also contained in the kernel. That one has a couple of problems and the author has no time to maintain it ... NEWS ---- Since 1.11/2, there are a few changes * Removed (arbitrary) MAX_DEVICES limit and alloc mem for DCBs (DeviceControl Blocks) dynamically. (This is the most dangerous change.) * Renamed functions to consistently carry DC390_ (functions called from outside) or dc390_ (internal funcs) prefix. * Reworked the locking mechanism. Added spinlocks for SMP support. * Support for non DC390-adapters: Conservatice BIOS values are assumed or kernel/module parameters are used. * /proc/scsi/tmscsim/? lets you now write and change config of the driver * Changed LUN support behaviour: LUNs are not scanned for if disabled in BIOS, but devices w/ LUN>=1 can be added via the echo "scsi add-single-device H C I L" >/proc/scsi/scsi interface. (H=Host, C=Channel, I=SCSI ID, L=SCSI LUN) * Uniform sourcecode for Linux-2.0.x and Linux-2.1.x (and probably soon 2.2.x). * Documentation: README.tmscsim * Lots of bug fixes. PROC INTERFACE -------------- The driver will display its seeting when reading from /proc/scsi/tmscsim/?. With a similar format, you can change most of the settings. Case is ignored and you can shorten YES/NO to y/n, if you want to. '-' means not to change the value. Example: cat /proc/scsi/tmscsim/0 echo "MaxID 5 MaxLUN 4" >/proc/scsi/tmscsim/0 echo "1 6 0 Y No n Yes - n" >/proc/scsi/tmscsim/0 cat /proc/scsi/tmscsim/0 BEWARE ------ The DC390 2.0 has proven stable, so far. If you got important data on your SCSI disks, please make a backup before testing, anyway. If you are not able to do this, please tell the kernel to remount-ro your filesystem on finding errors (tune2fs -e remount-ro /dev/XXX) and have a copy of your partition table at some safe location. Having a floppy disk to boot linux from is also a good idea, in case anything goes wrong. (ftp://student.physik.uni-dortmund.de/pub/linux/kernel/bootdisk.gz) If you want to experiment with the driver, I recommend to compile it as module to make it possible to delete and reinsert it, if necessary. INSTALLATION ------------ If you don't have any recent kernel with the latest drivers in linux/drivers/scsi/, please copy the files tmscsim.c tmscsim.h dc390.h, scsiiom.c and README.tmscsim to linux/drivers/scsi/. Then the usual: cd linux make config or menuconfig or xconfig make dep; make clean make zlilo; make modules; make modules_install; depmod -a (revision) Reading the included README.tmscsim is a good idea. If your kernel is old (Older than 2.0.37-pre1 or older than 2.1.127), you may also want to apply the dc390-120-kernel.diff file included into the package to your kernel source tree. Otherwise, you would not be able to pass parameters to the driver at boot time. (Which you only need, if you are not happy with the defaults and you need to change this at boot time. This does not apply to the DC390 adapter itself, as it has a BIOS to configure the adapter and store this into an EEPROM/ NVRAM. The driver takes the settings from there if available.) BUGS ---- There may be, though they hide well. If you think, you found one, please read the file README.tmscsim and contact me, if you still think, that there's a problem. Please report problems to me: Kurt Garloff, dc390@garloff.de