Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!news.hawaii.edu!ames!saimiri.primate.wisc.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!destroyer!cs.ubc.ca!unixg.ubc.ca!kakwa.ucs.ualberta.ca!acs.ucalgary.ca!cpsc.ucalgary.ca!ajfcal!novatel!hpeyerl From: hpeyerl@novatel.cuc.ab.ca (Herb Peyerl) Subject: Oldbie discovers problem(s) with wd.c but has more. Message-ID: <1992Nov28.144527.3506@novatel.cuc.ab.ca> Organization: none Date: Sat, 28 Nov 1992 14:45:27 GMT Lines: 61 Some of you may remember my post from a couple of weeks ago regarding the problems I've been having with getting my machine to work properly at home. I was getting non-random hangs (ie: fsck would hang about 9 times out of 9.1) and a few other select items... The wd.c from the patchkit wouldn't work because I'd get "panic: cannot mount root". Well, I didn't receive any wonderful answers so I decided to take the plunge myself and have discovered a few things... The wd.c patches in the patchkit are to blame for the "panic" I've been experiencing. What happens is that since I'm a scavenger and refuse to pay real money for my computer equipment, I get my hardware however and wherever I can; even if it means taking several broken drives into our clean-room and making one semi-non-broken drive... Anyhow, as it turns out, the drives that I have (Micropolis 1335, and Maxtor 1140) don't really know anything about their OWN geometry so when wdgetctlr() issues a WDCC_READP, the controller returns with a WDCS_ERR and the error is "abrt"... Consequently, wdattach() gets an error from wdgetctlr() and proceeds to deconfigure the drive. Anyhow, commenting out the offending lines in wdattach() solved that problem. (Which brings up a side-point; what purpose does it serve to read the disk parameters from the disk when they're already in the disk label? Or does this have something to do with the "Drive Translation Religious Debate"???) There are also some missing "splx(x)"s from wdgetctlr() and wdsetctlr() which I wouldn't have found were it not for "deraadt@newt.cuc.ab.ca" who caught them while on the phone one night comparing code. Anyhow, after some playing around and speaking to the author of the patch; I picked up the barsoom wd.c patches from agate... They don't suffer the above mentioned panic... However, (to the real point of this message) I'm experiencing some rather different hangs now. My system appears to be extremely reliable now.... I can actually build software without the machine hanging... The machine will "*ALMOST*" boot everytime... And this is where the problem is... If I do a cold boot (ie: a powerup) then the machine will boot every time. If I do a warm boot ("/sbin/reboot" or "/sbin/halt"), then fsck hangs right towards the end. At that point, I can only turn it off (I'm too lazy to build a proper reset switch onto my motherboard which is so old there's no jumper block for it) and of course it'll boot because I've just power cycled it. So, I thought, well, maybe it has something to do with the missing splx(x)'s (which are missing from barsoom's patches as well) or perhaps I should take out the controller reset from wdprobe(). But those didn't solve the problem either. I can't really imagine what it could be so am wondering if anyone else may have an idea... -- "I was early to finish | hpeyerl@novatel.cuc.ab.ca <Reply-To> | I brew | I was late to start, I | peyerlh@cuug.ab.ca | there- | might be an adult, but | #define JANITOR "Network Administrator"| fore I | I'm a minor at heart." | JANITOR, NovAtel Communications Ltd.| AM. |