Hi Linuxer ! There have been requests for a Adaptec 152x-controller for a long time. Since nobody else was wanting to write a driver I decided to do it. Shortly after I got docs, Drew Eckhardt posted that he was wanting to write driver for the controller too. I contacted him and we came to the agreement, that I could give it a try. That's what I did... I'm a bit suprised that the driver already works stable. To test it, I copied a 2MB file to a dos partition to both of my drives (IBM 0661371 and SEAGATE ST157N) and compared it to the original. I made a file system on a devices and copied&compared some files to it. To do somewhat more serious testing I installed the X & gcc binaries to a scsi partition and created a swap partition on a scsi drive. I started X and opened several xterms (about 10 or so) and about 6 xterms compiling the driver. So paging seems to work too (7MB swap space were used). I've haven't noticed any data loss or failures... As far as my equipment is concerned, the driver works fine. Perhaps there will be problems with other devices (I've had little problems with the IBM drive, when I first tried it with the driver. The driver was developed with the SEAGATE). To be on the save side, you should backup everything. Always a good idea... The driver includes only three signatures yet, so it's likely that the driver will fail to detect your controller (two for clones). In such a case look up a signature in the BIOS (located at 0xdc000 by default) and include it to the signature array. Mail me your signature, so that I can include it too. The biosparam() function is borought from other SCSI drivers, because it seems to work for my drives too. It calculates the "logical geometry" that is used by DOS (and the partition table). I'm not sure if it's correct for every device. Therefore this function displays the calculated "logical" geometry and the result should be checked against the DOS data (eg with infoplus). If you have DEBUG defined this is done automatically. The archive includes patches to the kernel. The diffs add the 152x support to the kernel (just 'make config' and enable the 152x). The driver is compiled with DEBUG defined, so that biosparam prints out the "logical geometry". I had to remove the port 0x340 from the NE[12]00 network driver (net/inet/ne.c) because the probe on that port was messing up my controller. The last modification is that I added the SEAGATE driver to the black list in scsi.c. There is lots of debugging code left in the driver, if you're willing to hunt for bugs yourself. Check if you need to enable DEBUG for scsi.c too. I would love to get your report when you tried the driver. When you have any problems/questions/suggestions or find/fix bugs --- let me know... I would also like to know if the 152x detection routine does any harm to other parts of hardware (e.g. NE[12]00. I noticed that many card also use the ports 0x340-0x35e. I "just" work on 4 ports for detection, but who knows...) cu Juergen Contents of the archive: README you already read it linux.diff patches to the kernel. apply with "patch -d /linux