# No DMA with my Seagate 7200.7 harddrive.

## Benedictus

I recently installed a fresh Gentoo system. When i boot, and the root filesystem is checked (reiser), i get a warning that DMA for my harddrive is off and filesystem check can take a while cause of that.

I installed  a new drive a few days ago. It's a Seagate 7200.7. When i try to enable DMA with Hdparm, i get a warning that the operation is not permitted. So i dont know what else i can do to fix it. Everything else works fine by the way.

----------

## Earthwings

Compile support for your IDE chipset into the kernel.

```

emerge -u pciutils

lspci | grep IDE

```

if you don't know which one you have.

----------

## dsd

sounds like you dont have support for your IDE controller compiled into the kernel.

post the output of "lspci". you might need to merge pcitutils first.

also let us know which kernel version you are running

----------

## Benedictus

Still no progress. I'm working with a standard Gentoo install (2004.0), and kernel (gentoo-sources). I installed Gentoo before on the same system with no problems. The only difference is that it was with the previous version of Gentoo and a Maxtor D740X instead of a Seagate 7200.7.

I compiled the kernel with the apropriate VIA chipset. When that didn't work, i just compiled in every chipset in the list. That didn't work either. Then i decided to boot a Knoppix cd to check for hardware problems. Although DMA still wasnt automatically actived, i could turn it on with "hdparm -d1 /dev/hda". That worked, and i got decent performance to.

When i came back in Gentoo, same problem. No DMA. And a error message when i tried to enable it with "hdparm -d1 /dev/hda".

Because i got DMA and decent performance in Knoppix i think it isnt a hardware problem. I probably overlooked something. But what/where?

[edit]

I just saw that my harddrive is functioning properly in UDMA-mode in windows 2000 to. So that rules out any hardware problems.

----------

## dsd

could you upload your kernel .config and dmesg output to some webspace?

----------

## Benedictus

 *dsd wrote:*   

> could you upload your kernel .config and dmesg output to some webspace?

 

Sure!

www.phys.uu.nl/~0365459/dmesg

www.phys.uu.nl/~0365459/config

----------

## dsd

that doesnt make much sense. if you have the via driver compiled in, and it detects your VIA ide chip, it should print a boot message

from the source:

```
        /*

         * Print the boot message.

         */

        pci_read_config_byte(isa, PCI_REVISION_ID, &t);

        printk(KERN_INFO "VP_IDE: VIA %s (rev %02x) IDE %s "

                "controller on pci%s\n",

                via_config->name, t,

                via_dma[via_config->flags & VIA_UDMA],

                dev->slot_name);
```

could you now post the output of "lspci" and "lspci -n"?

----------

## Benedictus

 *dsd wrote:*   

> that doesnt make much sense. if you have the via driver compiled in, and it detects your VIA ide chip, it should print a boot message
> 
> from the source:
> 
> ```
> ...

 

www.phys.uu.nl/~0365459/lspci

www.phys.uu.nl/~0365459/lspcin

----------

## dsd

im not sure of the solution, but i can tell you that the via 82xx driver does support your IDE controller (i even checked PCI ids), but the driver isnt being initialized on bootup (`dmesg | grep -i VP_IDE` should give output!)

i assume you have checked the obvious things (mounting /boot before copying over new kernel etc)?

you might also try using a vanilla kernel, newer than 2.4.22 to see if that makes any difference

also try starting from a fresh .config and working your way through again

----------

## Benedictus

I don't have a separate /boot partition. I have a /, /tmp, /usr, /var and /home partition. I checked the obvious things (at least i think so).

----------

## Robin79

I have the same issue with a 2.6.4-rc1 kernel  :Sad: 

----------

## dsd

how about 2.6.4 final? -rc1 is quite old now.. it may have been a bug that has been fixed

----------

## Hara

*bump*

I'm having the same problem with my VIA chipset and 2.6 r(something) devsources kernel. Any new news?

----------

## Gentree

I'm having same issue with 2.6.4 love sources. (was fine with 2.2.4 same hardware.)

The reason you dont see the same prob with you Knoppix is because it is not running 2.6 kernel.

Time for a few bug reports it seems!

----------

## Hara

Good to hear more people are having this problem and not just me. (or bad thing if you think about it)

 *Quote:*   

> Time for a few bug reports it seems!

 

I guess so. Just to make sure, is this only a VIA chipset issue or does it apply to others?

For me its VIA...

----------

## Gentree

yep, VIA here too.

kx7-333 , athlonXP 2000+

IDE chip via 82C586A or similar.

----------

## dsd

gentree: does "dmesg | grep -i vp_ide" return anything?

----------

## Gentree

Nope. not a sausage!

----------

## dsd

hmm.. strange

i also have a KX7-333 running in a 2.4 box, which i will be upgrading to 2.6.4 very soon - i'll let you know if i have the same problem or not

----------

## Gentree

I looked in linux/.config and found two settings which seem like they should be active:

CONFIG_IDEDMA_AUTO

CONFIG_BLK_DEV_IDEDMA

These were off so I edited them to .....=y

I ran make menuconfig , exited straight away and now see they are once again commented out in .config

I can see nowhere to access these options from menuconfig and they get commented out every time.

Are these redundant settings that are depreciated in 2.6 kernels or is this a but in menuconfig

Ideas?

----------

## Gentree

OK , I think I have found it.

in menuconfig under DEVICE DRIVERS - ATA/ATAPI support ther is 

 PCI IDE chipset support

I understood this to mean IDE interface on an PCI card. It appears I was mistaken.

If you select this you them get Generic PCI DMA bus-master DMA which in turn opens a list of of chip support. in cludeing VIA82CXXX chipset .....That's me!

I am just rebuilding the kernel , but it seems pretty sure that this is the prob.

----------

## Gentree

Yep, that got it.

dmesg | grep -i vp_ide  now shows the chip is detected and dma is available.

Last kernel option is:

 Use PCI DMA by default where available.

Apparently this is now off by default due to some unreliable hardware issues.

That should help a few people who posted similiar pbs.  I think the menuconfig descriptors and help is rather badly worded here. Not inaccurate once you understand but misleading when you dont.

Vorsprung durch technik, as they say in Germany!

 :Cool: 

----------

## hakan

Hm, doesn't fixed my problem.

I still get this message. Have I to enable anything by kernel parameters?

----------

## hakan

Ok, problem solved.

I had to add an kernel option: "dma=enabled".

----------

