DMA not working slackware 12.1 Generic Stock SMP kernel
SlackwareThis Forum is for the discussion of Slackware 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.
/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
bash-3.1# lspci | grep ide -i
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)
When I searched the forum for older thread - they said I should compile the kernel with the required IDE module that can be found with the help of above lspci command. The IDE interface is Intel , so I am pretty sure it should work by default. Anyways, I am using the generic-smp kernel that came with Slackware 12.1 , so it should be present as a module too.
They also talked about how the initrd could load the generic-ide module which is causing problems (even though I have never heard of this before) .. I did a find /boot/initrd-tree | grep -i ide , but that returned zero results.
Any ideas / helps/comments ?!
Trust me .. without DMA a computer sucks ..
its a 1.86 Ghz Core 2 Duo , so its not really old or something.
You will have to force your drive to the SATA driver. It will make a change from /dev/hda to become /dev/sda which is why this is not a trivial excercise.
The IDE driver which your hard disk is using now, prohibits it from using DMA.
The solution is simple - you need to pass LILO the argument
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054
Original Poster
Rep:
I only have remote access to the comp right now, so I can't test the lilo thing right now. But a quick question to check it I get it right -
I need to make the drive use the SATA driver , but doing this will make the hda to sda. So a simple hda=noprobe at lilo, won't work cos then it won't be able to find the root partition (as it will search for hda and not sda)
but won't "hda=noprobe root=/dev/sda2" work ?
Quote:
bash:~# dmesg | grep -i ide
BIOS-provided physical RAM map:
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
CPU: After generic identify, caps: bfebfbff 20100000 00000000 00000000 0000e3bd 00000000 00000001 00000000
Boot video device is 0000:00:02.0
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Probing IDE interface ide0...
Probing IDE interface ide1...
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide-floppy driver 0.99.newide
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054
Original Poster
Rep:
So if fstab is the only problem - I can edit fstab and then reboot and it will work ?
(I know the installer is a safer alternative .. but this is more cool , if you are not sure then tell me .. I will try it out for the heck of it )
And , I don't know but when I booted the installer (I had grub so just copied over the initrd and hugesmp.s into the older /boot), it didn't tell me that dma is off. I was thinking maybe it is a nice thing for the installer to check if DMA is off and confirm with user - additionally ask them to read the Change_AND_Hints when it detects such a problem ?
cos the changes and hints said to mostly think about Thinkpads or laptops .. this is a desktop, I never thought that this would be the case here ..
The task of the installer is to do what the user wants. Unlike other distros the Slackware installer tries not to make assumptions or educate the user.
You should read CHANGES_AND_HINTS.TXT before installing Slackware...
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054
Original Poster
Rep:
I agree , and thats what I love about it.
My point was - noting that DMA is not working should be done. I am not saying catch everything that the CHANGES_HINTS document talks about. But comeon .. DMA not working is going to change the install time from minutes to hours ... DMA is pretty fundamental
Distribution: Slackware 12 Kernel 2.6.24 - probably upgraded by now
Posts: 1,054
Original Poster
Rep:
Hey it worked
I edited fstab , restarted and in lilo added root=/dev/sda2 hda=noprobe
and restarted it worked fine, then I edited lilo.conf , made an initrd again and reran lilo
after a restart it is all working fine.
Ofcourse, this is not for someone who doesn't trust himself to recover if something goes wrong (cos there is a high chance it will ... see Eric's links for a safe and nice way to do this)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.