Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 1996 17:50:52 +1000
From:      Stephen McKay <syssgm@devetir.qld.gov.au>
To:        "Justin T. Gibbs" <gibbs@freefall.freebsd.org>
Cc:        freebsd-current@freebsd.org, syssgm@devetir.qld.gov.au
Subject:   Re: Adaptec 1542B and 1522 on current kernels
Message-ID:  <199603250750.RAA25263@orion.devetir.qld.gov.au>

next in thread | raw e-mail | index | archive | help
"Justin T. Gibbs" <gibbs@freefall.freebsd.org> wrote:
>J"org wrote:
>>As Clarence Wilkerson wrote:
>>> 
>>> My kernels are going into a stall and debug mode when trying to
>>> boot on a 486DX4 with either a 1542B or 1522 installed for the taoe
>>> and cdrom drive ( filesystems on ide drives).
>>
>>How -current?  For a system from end of February, my 1540 works.
>
>Wasn't there a reported fix to some of these 154X card problems that
>required using a FIFO scheme for recycling mailboxes?  We currently
>do LIFO.

I sent a message like this to freebsd-scsi, so you might be referring to me.

My problem turned up after an upgrade (amongst other things) of my processor
from a 486DX33 to a 486DX4/100.  I run FreeBSD 2.0.5 on it.  I got lots of
sd0: timed out and MBO was 01 should be 00.  My solution was to attempt to
avoid immediate reuse of mailboxes, based on a theory of how my BT545S could
be postponing mailbox updates when it was really busy.  The MBO problems
disappeared, but the timeouts remained.

My current theory concerns Write Back internal cache vs Write Through.  Since
my box was built before Write Back internal cache was thought of, I guessed
that it may not support it properly.  I modified pmap.c to mark every page
Write Through and got markedly better stability.  Or maybe not, since I've not
been able to do enough testing.

I tried a simple 'du /cdrom' on my old kernel, and the machine froze quickly.
I booted the new Write Back kernel and 'du /cdrom' plus a zillion other
concurrent SCSI-thrashing operations couldn't faze it.  A few days later,
I attempted to reproduce this, but almost destroyed all my filesystems!

In an attempt to really stress it, I tried 'dd if=/dev/rcd0a | wc -c', which
caused an immediate panic and file system corruption.  This appears to
be because the cdrom driver can't handle 512 byte reads.  Don't try this
on a system you care about.

Also, I switched from X back to ttyv0 to look at console messages during a
stress test.  Instant death + file system corruption.  Lesson: syscons
virtual terminal switching is evil.

After all this, plus a long session with fsck and clri, I had the system
back up, but haven't had the guts to do another stress test, and all in all
am having much more fun running WarCraft2 under DOS (euww!).

Stephen.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199603250750.RAA25263>