Re: Problems setting DMA
> Here's what I do on an IBM Deskstar 45GB
> First some info:
> # hdparm -i /dev/hdb
> /dev/hdb:
> Model=IBM-DTLA-307045, FwRev=TX6DA50C, SerialNo=YM0YMF43821
> Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
> RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=40
> BuffType=3(DualPortCache), BuffSize=1916kB, MaxMultSect=16, MultSect=off
> DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
> CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=88265520
> tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2
> IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4
> UDMA modes: mode0 mode1 mode2 mode3 mode4 *mode5
It works, right?
Here's what happens to mine when I try it out:
# hdparm -i /dev/hdc
/dev/hdc:
Model=QUANTUM FIREBALL SE4.3A, FwRev=API.0C00, SerialNo=334813860290
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=14848/9/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=3(DualPortCache), BuffSize=80kB, MaxMultSect=16, MultSect=off
DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2
CurCHS=14848/9/63, CurSects=8418816, LBA=yes, LBAsects=8418816
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1
mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4
UDMA modes: mode0 mode1 *mode2
# hdparm -c 3 /dev/hdc
/dev/hdc:
setting 32-bit I/O support flag to 3
I/O support = 3 (32-bit w/sync)
# hdparm -d 1 /dev/hdc
/dev/hdc:
setting using_dma to 1 (on)
using_dma = 1 (on)
Then I'll run a program that requires a disk read, such as, for example,
find /
It locks for a while (about ten seconds) then I run dmesg. The last
lines are self-explanative:
hdc: timeout waiting for DMA
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: timeout waiting for DMA
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: timeout waiting for DMA
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: timeout waiting for DMA
hdc: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hdc: DMA disabled
ide1: reset: success
The system disables DMA. It gives me an IRQ timeout.
BIOS is fine. Everything is fine but DMA. What should I do? Break my
MotherBoard in half? :-))
I've already tried hdparm -c 0, -c 1, -c 2, -c 3. I've also tried hdparm
-u 1. Results: Still no DMA.
Wierd, eh?
--
Leonardo Dias
Analista Programador / Analyst Programmer
Catho Online
www.catho.com.br
Reply to: