> 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