Hi.
I've got an ASUS P4P800 Deluxe with Intel ICH5R South Bridge.
and am unable to enable DMA-modes on my storage-devices:
IDE:
1st - master, /dev/hda Harddrive
2nd - master, /dev/hdc DVD-Rewriter
2nd - slave, /dev/hdd DVD-ROM
S-ATA: /dev/sda Harddrive
hdparm informations are a little bit confusing for me.
hdparm -i DEVICE shows DMA as enabled
hdparm DEVICE says that DMA is deactivated.
primary IDE-Master
Code:
speedy:/home/stephan# hdparm -i /dev/hda
/dev/hda:
Model=Maxtor 6Y080L0, FwRev=YAR41BW0, SerialNo=Y2NN3DCE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=160086528
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
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: (null):
* signifies the current active mode
speedy:/home/stephan# hdparm /dev/hda
/dev/hda:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 65535/16/63, sectors = 160086528, start = 0
SATA-Harddrive (160 GB Samsung)
Code:
speedy:/home/stephan# hdparm -i /dev/sda
/dev/sda:
HDIO_GET_IDENTITY failed: Invalid argument
speedy:/home/stephan# hdparm /dev/sda
/dev/sda:
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457/255/63, sectors = 312581808, start = 0
DVD-Writer (sec. IDE-Master)
Code:
speedy:/home/stephan# hdparm -i /dev/hdc
/dev/hdc:
Model=HL-DT-ST DVDRAM GSA-4163B, FwRev=A102, SerialNo=K0551KK4452
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no
Drive conforms to: device does not report version:
* signifies the current active mode
speedy:/home/stephan# hdparm /dev/hdc
/dev/hdc:
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
DVD-ROM (sec. IDE-Slave)
Code:
speedy:/home/stephan# hdparm -i /dev/hdd
/dev/hdd:
Model=_NEC DV-5800C, FwRev=D9S2, SerialNo=
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=yes, tPIO={min:227,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no
Drive conforms to: device does not report version:
* signifies the current active mode
speedy:/home/stephan# hdparm /dev/hdd
/dev/hdd:
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
HDIO_GETGEO failed: Invalid argument
Some Speed tests here:
Code:
speedy:/home/stephan# hdparm -tT /dev/hda
/dev/hda:
Timing cached reads: 4008 MB in 2.00 seconds = 2003.30 MB/sec
Timing buffered disk reads: 12 MB in 3.44 seconds = 3.48 MB/sec
speedy:/home/stephan# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 4068 MB in 2.00 seconds = 2034.31 MB/sec
Timing buffered disk reads: 176 MB in 3.02 seconds = 58.19 MB/sec
speedy:/home/stephan# hdparm -tT /dev/hdc
/dev/hdc:
Timing cached reads: 3988 MB in 2.00 seconds = 1993.31 MB/sec
Timing buffered disk reads: 6 MB in 3.20 seconds = 1.88 MB/sec
speedy:/home/stephan# hdparm -tT /dev/hdd
/dev/hdd:
Timing cached reads: 4004 MB in 2.00 seconds = 2001.30 MB/sec
Timing buffered disk reads: 12 MB in 3.34 seconds = 3.59 MB/sec
I don't know if the S-ATA drive speed is correct but all the others are far too slow.
If I try to enable DMA on the cd DVD-Rewriter for example it results in the following error message:
Code:
speedy:/usr/src/linux# hdparm -d1 -X udma2 /dev/hdc
/dev/hdc:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
setting xfermode to 66 (UltraDMA mode2)
using_dma = 0 (off)
I suppose there's something wrong with the south bridges chipset driver module piix and ata_piix:
Code:
speedy:/usr/src/linux# lsmod | grep -E "pii"
piix 13824 1
ide_core 142556 4 piix,ide_generic,ide_disk,ide_cd
ata_piix 8388 4
libata 42116 1 ata_piix
Thank you very much for any advice,
Stephan
P.S.:
I am running debian sarge with kernel 2.6.8-2 in SMP-mode.