Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
My OS is Red hat 7.3. I found my hard disk is very slow and knew "using dma = 0".
So I tried the following command, " hdparm -d1 /dev/hda".
But the Pc told me,"HDIO_SET_DMA failed: Operation not permitted
using dma = 0 (off)"
I log in as root. I eager to know how I can gain the permission to set the DMA mode.
maybe something you forgot in your kernel? Make sure you have enabled the DMA mode for disk in your kernel (somewhere in IDE-ATA options). Make sure you MB can handle DMA too
hum... what's your hard drive? a very old one?
if it's recent, the problem is probably about your MotherBoard chipset... I never heard of a non-DMA mobo, but... Find the chipset used by your kernel in dmesg and just be sure it's the real chipset your mobo use.
I tried the command "dmesg" and found the following errors.
"......
Unknown bridge resource 0: assuming transparent
Unknown bridge resource 0: assuming transparent
Unknown bridge resource 1: assuming transparent
......
PCI_IDE: unknown IDE controller on PCI bus 00 device f9, VID=8086, DID=24cb
PCI: Device 00:1f.1 not available because of resource collisions
PCI_IDE: (ide_setup_pci_device Could not enable device.
hda: ST380011A, ATA DISK drive
......"
I think the motherboard or the hard disk is too new for the kernel(2.4.18-3) to recognize. I have an important software running on this version of kernal, so I don't want to update the kernel to a newer one.
Can I use some drivers to make the kernel recognize the motherboard(GIGA BYTE 845PE) and the hard disk(ST380011A).
Then what shall I do?
I'm not sure if I have the same issue as you, but it probably is. It has to do with the kernel IDE drivers. I don't think there's much you can set in the linux kernel ".config" file that would help. The IDE drivers just don't recognize your IDE controller. Try upgrading to the 2.4.22-pre5 kernel and see if it works. It didn't for me. If not, email the kernel IDE maintainer with a bug report.
This happens a lot with new hardware. When they make the linux kernel releases, they're all based on the current hardware at the time (or actually they're a little behind in general). It will take them a while to catch up to new hardware and create patches in the kernel for them. At least, that's my understanding.
Submitting a bug report to the IDE maintainer might help. See the MAINTAINERS file at the top of /usr/src/linux. That will tell you who to email and what to include in the email.
Originally posted by Piero My OS is Red hat 7.3. I found my hard disk is very slow and knew "using dma = 0".
So I tried the following command, " hdparm -d1 /dev/hda".
But the Pc told me,"HDIO_SET_DMA failed: Operation not permitted
using dma = 0 (off)"
I log in as root. I eager to know how I can gain the permission to set the DMA mode.
You were on the right track, but didn't get it all done correctly. And yes, you must be root to do this.
This may help more than the other information. It worked fine for me in RedHat 9, though the performance increase was minimal. It did, however, enable DMA and set the I/O to 32-bit. http://linux-newbie.sunsite.dk/lnag_...html#32_bit_hd
Piero, for what it's worth, I solved my DMA problem with the ASUS P4P800 motherboard. Go back to that thread I linked to above. I wasn't setting something I had to set in my kernel .config file. But it wasn't obvious. Maybe you need to do something similar, and it probably won't be obvious either. That is if your motherboard's chipset is supported.
I solved this issue by setting
ide0=ata66
in the /etc/lilo.conf file, in the append sections. Then you have to run /sbin/lilo to make sure the changes are applied on the next reboot. If you use grub, then edit /etc/grub.conf, however I don't know if you have to run something after that (similar to lilo).
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.