Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
cancel
Showing results for 
Search instead for 
Did you mean: 

How do I enable IDE DMA ?

Don Capps
Advisor

How do I enable IDE DMA ?

Have ML110, Linux 2.4.20, Disk=Maxtor 80 Gbyte IDE, hdparm -t reports 5 Mbytes/sec (CRUD !)
hdparm -d1 fails with error. enable_dma=0
hdparm -X udma3/4/5 all fail with errors.
hdparm -X udma0/1/2 all work but enable_dma=0 and perf still 5 Mbytes/sec.
Suggestions please :-)
10 REPLIES
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

Try this:

# cd /proc/ide/hda/
# cat settings | grep using_dma

if you get 0 in first column, it means disabled and then try this:
# echo "using_dma:1" > /proc/ide/hda/settings

Don Capps
Advisor

Re: How do I enable IDE DMA ?

Tried your suggestion.. No effect. Grep still says its off, and hdparm -d /dev/hda also indicates that it is still off.

Any other ideas ?
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

You probably need to upgrade your kernel to at lease 2.4.21. Here is a link to a posting related to dma - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103923

Not exactly same problem as yours, but enough indications for an upgrade in need. I have systems with 2.4.21 and I can easily turn dma on or off.


Don Capps
Advisor

Re: How do I enable IDE DMA ?

That's cool, but it no effect. The reason that has no effect is because the patch is to lines inside of an #ifdef that in my case is not true.

#CONFIG_IDEDMA_ONLYDISK is not set

Also noteworthy, is that I have other systems with the same kernel and DMA works fine. It's something about the Proliant ML110 that is disabling the DMA.

Next idea ?
Don Capps
Advisor

Re: How do I enable IDE DMA ?

Perhaps more details will help. It looks like the Proliant ML110 has an IDE device that is not well understood by 2.4.20 ? Is this whats disabling DMA ? If so, any suggestions ?

The output from lspci -v

00:1f.1 IDE interface: Intel Corp.: Unknown device 25a2 (rev 02) (prog-if 8a [Ma
ster SecP PriP])
Subsystem: Hewlett-Packard Company: Unknown device 0000
Flags: bus master, medium devsel, latency 0
I/O ports at
I/O ports at
I/O ports at
I/O ports at
I/O ports at 1460 [size=16]
Memory at 10000000 (32-bit, non-prefetchable) [disabled] [size=1K]
xyko_1
Esteemed Contributor

Re: How do I enable IDE DMA ?

Hi Don,

Is it possible that dma is disabled on bios ?

regards,
Xyko
Don Capps
Advisor

Re: How do I enable IDE DMA ?

I believe that it has something to do with the fact that the the IDE device is an Intel Corp 0x25a2 device and that it is not listed in linux/drivers/pci/devlist.h So... the kernel doesn't know what capabilities this IDE chipset has, so it's unable to turn on DMA. Any chance there is a patch to 2.4 that addes on the newer Intel IDE chipsets ?
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

I think you are on the right track. BTW, did you take a look at /usr/src/linux-2.4/Documentation/ide.txt?
Don Capps
Advisor

Re: How do I enable IDE DMA ?

I think I'm getting closer...
It appears that it may be possible to patch the 2.4 kernel with some code from Intel and then get the DMA working.
To be kind, here is the link:
http://downloadfinder.intel.com/scripts-df/Detail_Desc.asp?agr=Y&ProductID=1706&DwnldID=7741
Johannes Krackowizer_1
Valued Contributor

Re: How do I enable IDE DMA ?

hi Don Capps,

did you look at your bios settings? perhaps dma is disabled in bios and the linux kernel could not work around the bios because of a buggy bios. try to enable it in bios.

best regards,

johannes
"First off, I'd suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it's a great symbolic gesture." (Linus Torvalds)