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>