[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