Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - Hardware
User Name
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?


Search this Thread
Old 01-10-2005, 07:15 PM   #1
LQ Newbie
Registered: Sep 2004
Location: Nor Cal
Distribution: FC2
Posts: 3

Rep: Reputation: 0
ide dma not working

I am having trouble getting my kernel+hdd to operate in DMA. This has been happening ever since FC1, my first linux install. I am on 2.6.9-1.667 (FC3) at the moment; though I was up to 2.6.10 at one point (the kernel logs says there has been a lot of updating done on the IDE system for 2.6.10) All versions have rendered the same problem.

When attempting to set the system in dma mode using hdparm -d1 /dev/hda, the system pauses (no response, HDD light stays on) for about 15 or 20 seconds. When I hdparm again the report says dma is disabled.

dmesg reports
SIS5513: IDE controller at PCI slot 0000:00:00.1
SIS5513: chipset revision 208
SIS5513: not 100% native mode: will probe irqs later
SIS5513: SiS530 ATA 66 controller
ide0: BM-DMA at 0x4000-0x4007, BIOS settings: hdaMA, hdbMA
ide1: BM-DMA at 0x4008-0x400f, BIOS settings: hdcMA, hddMA
Probing IDE interface ide0...
hda: MAXTOR 6L060J3, ATA DISK drive
Using cfq io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: LG CD-RW CED-8042B, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
hda: max request size: 128KiB
hda: 117266688 sectors (60040 MB) w/1819KiB Cache, CHS=65535/16/63, UDMA(66)
hda: cache flushes supported
hda:<4>hda: dma_timer_expiry: dma status == 0x61
hda: DMA timeout error
hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

ide: failed opcode was: unknown
hda: dma_timer_expiry: dma status == 0x61
hda: DMA timeout error
hda: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }

The system works fine, but naturally the hard disk is slower than it should be. Its an AMD K6 (think it's a PII equivalent), 500MHz, maxtor D740X 60 GB HDD. The chipset is SiS530/5513. My research says that this chipset is well supported in linux. I've checked the .config file in the linux source and this chipset is selected (among others). The mobo specs say it'll do ata 33/66. The HDD spec says it'll do up to ata/133.

The system is a retired Win98 system, simple home work station, nothing fancy. One hard disk, one floppy, a CD ROM, and a newer CDRW burner. 384 MB of RAM. Loading mozilla can take up to a minute. I've gone with XFCE to reduce the load and I stay in command line most of the time. None-the-less it is still much slower than the Win98 system was. I believe (hope) repairing this dma issue may bring back some juice. My goal is to set up a simple home-use file server (music, photos, etc.) in a private lan. Obviously without dma, the disk is sloooooow:

hdparm -tT /dev/hda

Timing cached reads: 124 MB in 2.03 seconds = 61.06 MB/sec
Timing buffered disk reads: 16 MB in 3.16 seconds = 5.07 MB/sec

I have checked the ide cables and upgraded it to 80 conductor cable for the drive. Now it runs in udma mode 4, before the cable change it was running in mode 2. But the kernel refuses to accepted a dma mode. I've checked and double checked the jumpers on the HDD with the manufacturer specs and it's set to master.

hdparm -i /dev/hda


Model=MAXTOR 6L060J3, FwRev=A93.0500, SerialNo=663204614961
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
BuffType=DualPortCache, BuffSize=1819kB, MaxMultSect=16, MultSect=16
CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=117266688
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=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:

* signifies the current active mode

I 've check the BIOS and it is set to auto - detect the drive. I have the latest BIOS the mobo manufacturer offers (about year 2000).

On a hunch I set ide0=dma in the grub.conf file. No joy.

hdparm /dev/hda

multcount = 16 (on)
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 = 60040544256, start = 0

I repartitioned the harddrive with new partitions - removing a previous installation of Win98. I was grasping, I suppose, but I thought maybe there was a problem with the booting set up. Nothing changed. This is how the new disk set up looks.

/sbin/fdisk -l

Disk /dev/hda: 60.0 GB, 60040544256 bytes
255 heads, 63 sectors/track, 7299 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 7299 58524795 8e Linux LVM

BTW: I opted for "autoparition" during install in anaconda. Is LVM what I want? Or should I fdisk the whole thing back to type 83, ext2fs ? My goal was to keep it simple. This is a single user, home network system. I didn't want to get complicated with multiple partitions just yet.

I have been at this for months and I have reached the end of my rope. I have learned a great deal about linux, but I am still a newbie and I could have easily overlooked the obvious. Can anyone help? Thanks in advance.

Old 01-10-2005, 09:50 PM   #2
LQ Newbie
Registered: Jun 2004
Location: Concord, CA
Distribution: FC3
Posts: 5

Rep: Reputation: 0

Hi Rob,

I got hdparm to work. Here's the output:


Model=WDC WD1200JB-00FUA0, FwRev=15.05R15, SerialNo=WD-WMAET1507087
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=234441648
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
AdvancedPM=no WriteCache=enabled
Drive conforms to: device does not report version:

* signifies the current active mode

Looks similar to yours. I tried to look at dmesg, but it looks like I corrupted it when fooling with grep. Need to reboot and look again.



Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
DMA problems on SiS746FX IDE channel Ptrs!OP Ubuntu 3 05-05-2005 06:57 PM
PCI IDE adapter and DMA Dee-ehn Linux - Software 0 12-28-2004 11:09 AM
Enable DMA for IDE CDROM RHEL3 sbrewer Linux - Hardware 1 11-30-2004 07:33 AM
Suse 9.1 IDE DMA Setup webwolf70 Linux - Hardware 2 08-12-2004 12:47 AM
Suse 8.2 change my DMA setting on my DVD-R drive to off & IDE DMA MODE NOT SHOWING IT maximalred Linux - General 0 08-23-2003 05:58 AM

All times are GMT -5. The time now is 11:09 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration