[ale] kernel frustrations

phrostie pfrostie at yahoo.com
Mon Apr 1 09:52:57 EST 2002


thanks, i'm sure it's not the cables/hardware.
for one thing i've alread checked those long ago.
second, it only restarted when i changed back to a 2.4 kernel.

although the implications that a 2.4 kernel will blow your cables off is 
hummorous. :-)

thanks again, i'm still trying to decide which to try.


On Monday 01 April 2002 09:45, Danny Cox wrote:
> Phrostie,
>
> On Mon, 2002-04-01 at 09:04, phrostie wrote:
> > for give my ignorance but what are DMA and PIO modes.
>
> 	DMA: Direct Memory Access.  A mode where the driver tells the card here
> are some starting memory addresses.  Process this I/O using them, and
> don't bother me until you're done.  The IDE chipset does all of the work
> of transferring the data between memory and the disk.
>
> 	PIO: Programmed Input/Output.  The CPU performs the transfer of data
> between memory and the chipset.  Under Intel, there is an instruction
> that'll do it by itself.  You set the port, memory address, and # of
> words, and the instruction (insw/outsw?) does the rest.  It can transfer
> 16 or 32 bit words, depending on the hdparm '-c' parameter.
>
> > acctually it's slower in 2.4 with the errors than when i'm running the
> > 2.2. i'm guessing it's spending a lot of time writting error messages.
> >
> > anyway hdparm -i /dev/hda gives:
> >
> > <snip>
> > /dev/hda:
> >
> >  Model=WDC WD300AB-00BVA0, FwRev=21.01H21, SerialNo=WD-WMA7H1453518
> >  Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq
> > } RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
> >  BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
> >  CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=58633344
> >  IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
> >  PIO modes: pio0 pio1 pio2 pio3 pio4
> >  DMA modes: mdma0 mdma1 *mdma2 udma0 udma1 udma2 udma3 udma4 udma5
> >  AdvancedPM=no
> >  Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 ATA-4 ATA-5
> > </snip>
>
> 	The asterisk above shows the mode hda is currently using: mdma2, which
> means "Multiple word DMA", as opposed to "Ultra" DMA.  So, my first
> guess is wrong.  Someone else suggested checking the cables that connect
> the chipset to the drive.  Pull 'em off, and push 'em back on
> (carefully!).  This is also known as "reseating" the connector, and some
> hardware maintainence types just do it to look like they're worth their
> wages ;-).
>
> 	Try reseating the connectors first, then try PIO mode.  To set PIO
> mode, type as root "hdparm -d0 /dev/hda", which turns off DMA mode.
> It'll probably be slower, but perhaps it'll actually work.
>
> 	If the reseat works, and you're feeling daring, you can try a higher
> DMA mode.  It'd be good to know what your hard drive and chipset
> supports, and knowing that, you can try (again as root): "hdparm -X66
> /dev/hda".  That sets UDMA2.  See the discussion of the -X option in
> "man hdparm" for more info.  If the drive or chipset won't support
> UDMA2, it *should* simply refuse to set it.  OTOH, the above output sez
> it supports up to UDMA5 (hdparm -X69).  Just be very carefull trying
> this, okay?

-- 
Oh, I have slipped the surly bonds of DOS,
and danced the skies on Linux silvered wings.
http://pfrostie.freeservers.com/cad-tastrafy/
http://www.freelists.org/list/cad-linux

---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list