*BSD News Article 67019


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!inquo!in-news.erinet.com!bug.rahul.net!rahul.net!a2i!samba.rahul.net!rahul.net!a2i!olivea!spool.mu.edu!howland.reston.ans.net!swrinde!newsfeed.internetmci.com!news.sprintlink.net!new-news.sprintlink.net!malgudi.oar.net!hyperion.wright.edu!echoes.wittenberg.edu!bob.wittenberg.edu!mandrews
From: mandrews@bob.Wittenberg.EDU (Mike Andrews)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Adaptec 2940UW lockup problem
Date: 25 Apr 96 12:22:24 GMT
Organization: Wittenberg University, Springfield OH
Lines: 85
Message-ID: <mandrews.830434944@bob.wittenberg.edu>
NNTP-Posting-Host: bob.wittenberg.edu
X-Newsreader: NN version 6.5.0 #8 (NOV)

I'm trying to get yet another FreeBSD box up and running, and I'm having
fits with the SCSI subsystem.  The hardware looks like:

Pentium/133, OPTI Viper PCI chipset, 32MB RAM
Western Digital 1.6GB EIDE drive         (128MB swap, remainder mounted on /)
Adaptec 2940 Ultra Wide SCSI controller
two Seagate Hawk 2GB narrow SCSI drives  (mounted on /home and /usr/local)
Toshiba 3701 SCSI CDROM
Exabyte 8505XL 8mm SCSI tape drive
STB Horizon 64 PCI video
3com 3c509 ISA ethernet

Note that the controller is wide, but all the current devices are narrow...

The problem is that the machine siezes up tight during some SCSI activity.
No kernel message/panic, nada, just frozen system, keyboard, only way out
is the Reset button.  Out of the box, I couldn't even complete a newfs on
a disk without it crashing.  I went into the SCSI BIOS and disabled the
>1GB translation, and things improved greatly, but not completely.  Now it
only seems to die if I hammer both SCSI disks concurrently -- doing something
like

   # mkdir /home/junk
   # cd /usr/local
   # tar cf - * | (cd /home/junk; tar xpf -)

will kill it consistently.  But if I do it from the CDROM or from the IDE disk,
or even do rm -rf on both SCSI drives, no problem.  Running about 5 gcc's
in parallel won't kill it either, but I know that's hammering the CPU more
than the disk.

First I tried swapping the 3c509 out for a 3c503 (thinking the 509's buggy
Plug and Pray might be confusing it), and that didn't help.  Disconnecting
the external CDROM and tape drive don't help either.

BUT, I did try my 2940 from home (no U, no W, just a plain jane 2940),
and I was unable to get the machine to crash with it.  Plugged the 2940UW
back in and I can crash it within two minutes using tar.

Thinking "ah, it's a driver bug affecting just the newer Ultra series cards",
I went out and FTP'ed 2.2-960323-SNAP, installed it on top of 2.1.0-RELEASE,
recompiled a new kernel, then tried the 2940UW and it STILL dies!

So, if anyone has any suggestions on how to proceed from here to save me
some trial and error time, I would LOVE to hear about it before I totally
lose it ;-)  I've installed several FreeBSD systems before with none of
this kind of trouble, though they were mostly 486's with BusLogic BT445
VLB SCSI boards....

Meanwhile, here's what I suspect, and I could really use some supportive
thinking on this:

First suspect is SCSI BIOS settings.

How much of this really affects FreeBSD?  I would think FreeBSD would ignore
the whole thing, but after changing that >1GB translation feature made such a
big difference, I'm not so sure anymore.  How much difference would playing
with, say, the transfer rate setting in the BIOS help?  I just tried cranking
it down from 20mb/s to 10mb/s, since the drives are all narrow anyway, but I
would think that would get negotiated a little more automatically.  So far it
hasn't died since I did that, but I haven't tried very hard yet. :)

I did notice FreeBSD's idea of geometry translation is different from the
BusLogic cards in our 486's, with the exact same hard drive.  (We have about
twelve of the 2 gig Seagate Hawk drives floating around.)  On a 486, disklabel
says 2048 cylinders, 64 heads, 32 sectors (=4196320 sectors).  On this P133,
it's 260 cylinders, 255 heads, 63 sectors (=4192902 sectors).... but this was
disklabeled before disabling >1GB translation.  The drive's actual geometry
is 3992 cylinders, 9 heads, 117 sectors.  Somehow I doubt relabeling would
help though, since it really goes by sector number internally, right?

Next suspect is the kernel driver for the 2940 is flaky with the new Ultra
cards.  Any input here?

Failing that, maybe I have to look at bizarre PCI problems.  I've heard of
horror stories getting ATI mach64 cards and Adaptec 2940UW's to be happy
with each other (usually solved by throwing the ATI out in favor of a 
Matrox Millenium).  Maybe the STB card has a similar problem....  or maybe
the OPTI Viper chipset just sucks....  I don't know.


-- 
-- Mike Andrews  -  mandrews@wittenberg.edu  -  mandrews@termfrost.org (NeXT)
-- Programmer/Analyst, webmaster/netnews guy, Wittenberg Univ, Springfield OH
-- http://www.termfrost.org/~mandrews/           "Don't get even, get odd..."