From owner-freebsd-hackers Mon Dec 26 12:31:38 1994 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id MAA00460 for hackers-outgoing; Mon, 26 Dec 1994 12:31:38 -0800 Received: from gw.cronyx.msk.su (gw.cronyx.srcc.msu.su [158.250.244.2]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id UAA00454 for ; Mon, 26 Dec 1994 20:31:32 GMT Received: by gw.cronyx.msk.su id XAA01596; (8.6.9/vak/1.8a) Mon, 26 Dec 1994 23:29:51 +0300 To: hackers@freebsd.org Message-ID: Organization: Cronyx Ltd. From: "Serge V.Vakulenko" Date: Mon, 26 Dec 94 23:29:51 +0300 X-Mailer: BML [UNIX Beauty Mail v.1.39] Subject: New Seagate ST01/ST02 driver uploaded Sender: hackers-owner@freebsd.org Precedence: bulk I put the new version of Seagate ST01/02, Future Domain TMC-885/TMC-950 driver to ftp.cdrom.com:/pub/FreeBSD/incoming, file `seagate.tgz'. It would be great to see it in 2.1 to install it from my CD-ROM. :-) It was not tested on Future Domain cards though: I don't have these cards. Are there any volunteers? The README for the driver follows. Best wishes, Serge ---------------------------------------------------------------------- This is new version of Seagate ST01/02, Future Domain TMC-885, TMC-950 SCSI driver for FreeBSD. I started from the 2.0R version and mostly rewrote it. New features are: 1) New probe algorithm. Old driver read the BIOS region of the adapter memory and find the copyright string. The problem was in the BIOS itself: it conflicted with IDE disks. The solution was to unplug it and make the probe algorithm to work without it. 2) Proper timeout handling in numerous places where the driver polls waiting for some event. 3) Assembler flagments added in critical places, mostly for data transfer to of from the target. It was possible to make it faster, but at the price of decreasing reliability. 4) Target-dependent delays when waiting for REQ deassert event. Some devices seem to be slower (CD-ROMS, some tape drives), and some seem to be too fast (disks). The driver tests the REQ deassert timeout for each target and then uses it for polling. 5) Device flags added for SCSI parity control and sense request priority control. 6) Generic cleanup, after which the driver became much more readable (at least by me:). 7) Target data parity error logging is limited to avoid log file overflow. 8) Manual page added. The driver was tested on the following hardware: Adapter: Seagate ST02 Disk: HP D1686 Streamers: Archive Viper 150, Wangtek 5525 CD-ROMs: Toshiba XM-3401, NEC CDR-25 Installation of the driver: rm /sys/i386/isa/seagate.c cp seagate.c /sys/i386/isa cp sea.4 /usr/share/man/man4 cd /sys/compile/YOUR_CONF make make install reboot ---------------------------------------------------------------------- --- Serge Vakulenko Cronyx Ltd., Moscow Unix consulting and custom programming phone: +7 (095) 939-23-23 FreeBSD support fax: +7 (095) 939-03-00 Relcom network development