Can't enable DMA
Sun, 2006-10-29 15:58
I can't enable DMA on my distro. I've used hdparm -d1 /dev/hda and it comes with an error saying that it is not allowed, it doesn't have permissions to do it. I've tried enabling DMA with the kernel menuconfig but in the end it just doesn't work... i can i fix this?
My distro lags a bit every time i do something like executing a program or something that uses the disk.
thak you










For DMA to work the disk has to support it and of course to enable it with hdparm you have to run it as root. Of course, I am just stating the obvious.
So.. other ideas.. maybe its support needs to be enabled in BIOS? You could try that. I know there are some DMA related options in my BIOS if I remember correctly.
I had this problem when I didn't have the kernel drivers for the IDE device's IDE interface. IIRC the use of lspci gives you information on what IDE interfaces you have on your hardware.
dylunio
I ran hdparm as root which makes things stranger.
I have another distribuition (ubuntu) on my disk and it has DMA enabled, I checked that typing hdparm -d /dev/hda and everything was just fine there, so i suppose that the DMA feature is enabled on my BIOS.
So the issue must be distro specific.. or rather, as dylunio indicated, kernel related.
Yes are right but i've enabled everything DMA related on the kernel's menuconfig I don't know what more to do. I'll just continue searching.
thank you all for helping
If I remember corectly the options I had to enable were not DMA specific, but I'll try and find some kernel sources to check which options I had enabled.
Oh, and when your compiling a new kernel with the options you are booting the new kernel are you? I remember being very frustrated with enabling DMA only to find out I'd forgotten to mount /boot and thus the old kernel was still booting...
dylunio
I didn't forget to boot the new kernel. I copied the new kernel from arch/i386/boo/bzimage to /boot. If find out any other kernel options I need please warn me.
thank you
I looked at a kernel config I'd built, and under 'Device Drivers' => 'ATA/ATAPI/MFM/RLL support' I have enabled
'VIA82CXXX chipset support'. To see which chipset you have use
lspic | grep IDEWhen I do that I get:
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)I don't know if this will help, but this was the option I had to use to get DMA working on my computer.
dylunio
Greetings
I have had similar problems with Fedora Core 5. Playing a DVD is harder than it seems, for some disks. However, what most guides fail to tell you is that when you want to enable DMA, you have to login as root as follows:
su -
Note the minus. This gives you a slightly different view of the file system, which you can confirm by listing the files in said directory and comparing it to the files in the directory when you log in with just plain "su" (without the minus).
To enable DMA on your drive, first log in as root ( with the minus, like this " su -" ). You have to make sure there is a symbolic link to the drive as follows:
ln -s /dev/cdrom /dev/dvd
Then, to enable DMA use the following command:
hdparm -d1 /dev/cdrom
The command line should give you confirmation that you have changed the DMA flag.
There is another way to ensure DMA on your drive, as explained on FedoraForum.org
I tried both, but some DVDs still do not want to play. I'm a complete noob, but I have figured out how to get DVD playback in suse 10.1 and minor DVD functionality in Fedora Core 5. Not the same level I enjoy in Windows yet, but getting there.
Hope this helps!
Hello and welcome zombiepriest! Thanks for a nice advice on that.