Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jan 1999 15:03:13 -0500 (EST)
From:      "Andrew Atrens" <atrens@nortelnetworks.com>
To:        lcremean@tidalwave.net
Cc:        "Joseph T. Lee" <nugundam@la.best.com>, freebsd-current@FreeBSD.ORG
Subject:   Re: potential ide_pci.c bugster
Message-ID:  <Pine.BSF.4.05.9901131330050.4255-100000@hcarp00g.ca.nortel.com>
In-Reply-To: <19990113105152.A5109@tidalwave.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 13 Jan 1999, Lee Cremeans wrote:

> Date: Wed, 13 Jan 1999 10:51:52 -0500
> From: Lee Cremeans <lee@st-lcremean.tidalwave.net>
> Reply-To: lcremean@tidalwave.net
> To: Joseph T. Lee <nugundam@la.best.com>,
     "Atrens, Andrew (A.B.) [EXCHANGE:SKY:1V45:BNR]" <atrens@americasm01.nt.com>,
     freebsd-current@FreeBSD.ORG
> Subject: Re: potential ide_pci.c bugster
> 
> > wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa
> > wdc1: unit 0 (wd2): <QUANTUM MAVERICK 270A>, LBA, 32-bit, multi-block-8, sleep-hack
> > wd2: 258MB (528640 sectors), 524 cyls, 16 heads, 63 S/T, 512 B/S
> > 
> > wd2: interrupt timeout (status 58<rdy,seekdone,drq> error 1<no_dam>)
> > wd2: wdtimeout() DMA status 4
> > 
> > -current as of 10th.  Error pops up once in a while with or without
> > softupdates.  I use it for /usr/src so nothing vital on it..yet.
> 
> This drive is too old to support even multiword 2 DMA. If you're getting
> timeouts, and they seem to only happen when accessing certain files or
> areas, then your drive has some bad-but-not-totally-dead sectors on it, and
> the drive electronics are being slow about correcting the error.
> 

If this is the case you'll hear an audible `clicking' from the drive as it
attempts to re-read the bad data block.

I'm curious, why is the controller reporting that sleep-hack is enabled
when the wdc flags indicate that it shouldn't be? 

you asked for:

> wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa
                                         ~
inputted options `0xa' == `1010' ( DMA + 32-bit transfers )

you got:

> wdc1: unit 0 (wd2): <QUANTUM MAVERICK 270A>, LBA, 32-bit, multi-block-8,
sleep-hack

translates to options `0xd' == `1101' ( LBA, 32-bit, Sleep hack ) 

or,

wdc1 at 0x170-0x177 irq 15 flags 0xd0ffd0ff on isa
                                       ~

So you didn't get the options you asked for :)

--

This translation is taken from man wd(4) (and /sys/i386/isa/wd.c) which
describes the flag bitset is mapped like so:

0000 0000 0000 0000  0000 0000 0000 0000
||||
|||+------ 0x1000  Use LBA addressing 
||+------- 0x2000  Probe for and use DMA
|+-------- 0x4000  APM Sleep hack
+--------- 0x8000  Test and use the 32bit transfers



Since the `flags' seems to be an `|' of device flags + controller flags,
stored in isa_biotab_wdc[] and isa_devtab_bio[] in ioconf.c, the only way
that I can see that sleep hack _could_ be `enabled' is if something is
trashing those tables.

Andrew.

-- 
+----------------------------------------------------+
= Andrew Atrens - Nortel Networks (atrens@nortel.ca) =
= P.O. Box 3511, Station C Ottawa, Canada            =
=                                                    =
= All opinions expressed are mine, not Nortel's.     =
+----------------------------------------------------+



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9901131330050.4255-100000>