*BSD News Article 13089


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ogicse!usenet.ee.pdx.edu!acacia!rgrimes
From: rgrimes@acacia (Rodney W. Grimes)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: Julian's SCSI driver: no bootdrive found on reboot (SOLVED!)
Message-ID: <1ofn3a$kr3@walt.ee.pdx.edu>
Date: 20 Mar 93 18:17:14 GMT
Article-I.D.: walt.1ofn3a$kr3
References: <2067@hcshh.hcs.de>
Organization: Portland State University
Lines: 85
NNTP-Posting-Host: acacia.cs.pdx.edu

hm@hcshh.hcs.de (Hellmuth Michaelis) writes:
: In <CGD.93Mar19220437@eden.CS.Berkeley.EDU> cgd@eden.CS.Berkeley.EDU (Chris G. Demetriou) writes:
: 
: >In article <2066@hcshh.hcs.de> hm@hcshh.hcs.de (Hellmuth Michaelis) writes:
: >=>I have installed it on a EISA machine with a 1742 and yesterday on a ISA
: >=>machine using a 1542 and both Machines show the same behaviour:
: >=>after a reboot, no bootdrive is found by the bios, i have to press reset,
: >=>after that the scsi drives are identified and all is ok - otherwise
: >=>the driver performs very well, without any other problems.
: 
: >i just got a new machine (and EISA, with a 1742) and had the exact
: >same problem.
: 
: >one of my network cards was configured wrong, and the driver was
: >garbaging *something* so that (i guess) the card got into some weird
: >state on reboot...
: 
: That was the right hint!
: 
: I removed the config-entries for the network cards and generated a new 
: kernel on both machines - success, no reboot problems anymore on both.
: 
: Then i put them in on both machines again, made new kernels, same problems
: again on both machines.
: 
: On both machines, i am using SMC Elite16 8013 EPC (Cheapernet/ThinEthernet)
: network cards HARD configured to use ioaddr 0x300, irq 10 and memaddr 0xcc000
: (because they are not recognized on a reboot if soft-configured ....) and (and
: that was it!!!) i'm using the "option WD8013" in both config files.
: 
: On the EISA machine a 1742 is used and on the ISA machine a 1542B is used,
: both in the recommended default configurations.
: 
: After removing the "option WD8013" from the config files, executing "make
: clean", "make depend" and "make" the problem was solved! I returned to the
: original /sys/i386/i386/vm_machdep.c with the original cpu_reset() code
: for the EISA machine, NO problems anymore rebooting both machines! The BIOS
: on both machines now found the boot drives - everything ok now!
: 
: Conclusion for me: avoid under all circumstances "option WD8013" in the
: config file!!! I rememberd (and posted that to c.u.b a while ago) that i
: locked up a machine using an "old" WD 8013 (jumper configurable) board
: completely (could not boot from an IDE drive anymore !) - because i was
: using "option WD8013" - i spent a lot time on that.

  The reason that option Wd8013 often causes this reboot problem is this:
There is a requirement that all memory within a 128k bank in the 0xA0000 to
0xFFFFF region be either 16-bit or 8-bit.  Is what happens is on a cold
boot the WD8013 boards are reset to 8-bit mode, the POST passes without
error.  386bsd comes up, the if_we.c driver places the WD8013 in 16-bit
mode.  Now on a soft boot when the BIOS runs some quick POST tests it
finds a problem in the 0xA000 to 0xF000 region.  You probably get a 
"beep-beep" when this happens.  It means you have a memory size conflict.
The machine has been misconfigured.

  This is a little known fact about 16-bit vs 8-bit option cards.  It
has caused more than one person to go crazy tracking down what they
swear is a bug in the program.  It is not, it is a flaw in the design
of the ISA bus.  The signal MEMCS16- must be returned the same for
every 128k block of memory:

	B0000-CFFFF	Must all be either 8-bit or 16-bit.
	D0000-FFFFF	Must all be either 8-bit or 16-bit.

  In your particular configuration (WD8013 @ cc000) I suspect that
you have another board in the B0000-CFFFFF region that is 8-bit, ie
your adaptec has an 8-bit BIOS on it!

  Try moving the board to the 0xD0000 region and see if it works there,
you may still have a problem as many modern system bioses are now 8-bit.
If your system bios is 8-bit, try shadowing the system bios region
at 0xF0000 to 0xFFFFF, this effectively turns it into a 16-bit bios.

  Do not attempt to shadow the WD8013, it well cause you many headaches.

  As always, works for me, you milage may vary..
: 
: Something MUST be going completely wrong when using that option, i had a look
: at the National Semiconductor data sheet, but could not find the register
: which is used to switch to 16 bit xfers - it might be in the SMC/WD docs
: (which i don't have).
: 
Only thing that is wrong is a misconfigured machine.

Look in the "IBM AT Technical Reference Manual".