# Warning: Your DMA is turned off... (Runlevel)

## Tim77

Hi there,

I know this problem is existing for some time, seems to be a matter of rc-scrips dependencies. 

I put hdparm into the default runlevel. It's enabled, but after the fsck sadly. This results in this ugly boot-warning:

```
Warning: The dma on your hard drive is turned off.

This may really slow down the fsck process.
```

I searched the forums, but found no solution. Does anyone have a hint? Moving hdparm into runlevel boot didn't solve it either.

----------

## Nick W

This happened to me.

Double check your kernel options. You need to enable dma by default, support dma (or course) and most importantly, have the correct chipsets for your system enabled.

In mine, I'd neglected to select the amd/nvidia chipset....

Nick

----------

## Tim77

Thank you, but:

```
[*] Generic PCI Bus Master DMA Support

[*] PCI IDE Chipset support

[*] Generic PCI IDE Chipset support

[*] Generic PCI Bus master dma support

[*] Use PCI DMA by default when available

[ ] Enable DMA only for disks

<*> AMD and nVidia IDE support
```

I have a MSI-K7-Master (AMD-761-chipset) board. I don't know if all of these settings are neccessary. Unfortunately they don't work as I want   :Sad: 

----------

## HighOnBonsai

As Nick W said: You also need to select a suitable chipset driver for you AMD 761 - chipset! I think my old system is also a MSI-K7-MASTER and it works fine with kernel 2.6.0 and DMA enabled! Just double-check your kernel-config. It's called:

```

CONFIG_BLK_DEV_AMD74XX=y

```

Its below the kernel-settings you have mentioned above!

Christopher

PS: I'm not sure about your .*generic.* - settings! After enabling the suitable driver I would just leave them - give it a try!

----------

## Tim77

I enabled the chipset driver by:

 *Quote:*   

> <*> AMD and nVidia IDE support

 

Didn't I?

```
CONFIG_BLK_DEV_AMD74XX=y
```

 is shown in my .config.

I disabled "Generic PCI IDE Chipset support". If I disable "Generic PCI Bus Master DMA support, the options for the chipsets disappear. So I left it enabled.

 :Crying or Very sad:  Still the warning.

----------

## HighOnBonsai

Oh yeah - sorry! Didn't see that!   :Embarassed: 

And what does

```

# hdparm /dev/hda (<-- or whatever your hd may be)

```

say? And what about you /etc/conf.d/hdparm? Do you load hdparm at start-up? Check

```

rc-status default

or

rc-status boot

```

Then try a

```

/etc/init.d/hdparm start

hdparm /dev/hda

```

Christopher

PS: Ah yeah: Please post you "lspci -vv"  - output (emerge pciutils) or at least the problem-related things (chipset, ide-controller etc.)

----------

## Tim77

```
[/usr/src/linux] # hdparm /dev/hda5 (My /boot)

/dev/hda5:

 multcount    =  0 (off)

 IO_support   =  0 (default 16-bit)

 unmaskirq    =  0 (off)

 using_dma    =  0 (off)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 65535/16/63, sectors = 208782, start = 30716343

root [/usr/src/linux] # hdparm /dev/hda7 (My /)

/dev/hda7:

 multcount    =  0 (off)

 IO_support   =  0 (default 16-bit)

 unmaskirq    =  0 (off)

 using_dma    =  0 (off)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 65535/16/63, sectors = 34555752, start = 33029703

root [/usr/src/linux] # hdparm /dev/hda6 (My swap)

/dev/hda6:

 multcount    =  0 (off)

 IO_support   =  0 (default 16-bit)

 unmaskirq    =  0 (off)

 using_dma    =  0 (off)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 65535/16/63, sectors = 2104452, start = 30925188
```

Doesn't look good..?

```
rc-status default

Runlevel: default

  cupsd     [ started ]

  hdparm   [ started ]

  local      [ started ]

  metalog    [ started ]

  mysql      [ started ]

  net.eth0     [ started ]

  netmount      [ started ]

  samba      [ started ]

  vcron       [ started ]

  xdm         [ started ]
```

Seems to be started...

```
root [/usr/src/linux] # lspci -vv

00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] System Controller (rev 13)

        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-

        Latency: 32

        Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]

        Region 1: Memory at dd020000 (32-bit, prefetchable) [size=4K]

        Region 2: I/O ports at c000 [disabled] [size=4]

        Capabilities: [a0] AGP version 2.0

                Status: RQ=16 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3- Rate=x1,x2

                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 [IGD4-1P] AGP Bridge (prog-if 00 [Normal decode])

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-

        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 32

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32

        Memory behind bridge: da000000-dbffffff

        Prefetchable memory behind bridge: d8000000-d9ffffff

        BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-

[...]

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])

        Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 32

        Region 4: I/O ports at c400 [size=16]

        Capabilities: [c0] Power Management version 2

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

[...]

[...]

00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)

        Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]

        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Interrupt: pin ? routed to IRQ 9

        Capabilities: [68] Power Management version 2

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0a.0 Unknown mass storage controller: Promise Technology, Inc. 20267 (rev 02)

        Subsystem: Promise Technology, Inc. Ultra100

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 32

        Interrupt: pin A routed to IRQ 11

        Region 0: I/O ports at d000 [size=8]

        Region 1: I/O ports at d400 [size=4]

        Region 2: I/O ports at d800 [size=8]

        Region 3: I/O ports at dc00 [size=4]

        Region 4: I/O ports at e000 [size=64]

        Region 5: Memory at dd000000 (32-bit, non-prefetchable) [size=128K]

        Expansion ROM at <unassigned> [disabled] [size=64K]

        Capabilities: [58] Power Management version 1

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

[...]

[...]

[...]
```

----------

## HighOnBonsai

Good?

```

using_dma    =  0 (off)

```

...this line is bad...  :Smile: 

Edit your /etc/conf.d/hdparm and - for the moment - change the line

```

all_args="<something>"

to

all_args="-d1 -X66"

```

and then try

```

/etc/init.d/hdparm restart

```

or try:

```

# hdparm -d1 -X66 /dev/hda

```

Its sensless to operate with hdparm on a single partition (thats what you listed: /dev/hda5, /dev/hda6 and /dev/hda7).

After loading hdparm check your dmesg-output and if there are errors just post the output.

Christopher

----------

## Tim77

Sorry, I forgot the emoticon  :Wink:  I know that this is slowing down my machine seriously! 

```
root [/usr/src/linux] # hdparm -d1 -X66 /dev/hda

/dev/hda:

 setting using_dma to 1 (on)

 HDIO_SET_DMA failed: Operation not permitted

 setting xfermode to 66 (UltraDMA mode2)

 using_dma    =  0 (off)
```

Seems that something doesn't let me turn on my dma...

I have several vfat-partitions, too. Here is my fstab:

```
# <fs>             <mountpoint>    <type>     <opts>            <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/hda5      /boot         ext3      noauto,noatime      1 1

/dev/hda7      /         reiserfs   noatime         0 0

/dev/hda6      none         swap      sw         0 0

/dev/cdroms/cdrom1   /brenner      auto      unhide,user,noauto,ro      0 0

/dev/cdroms/cdrom0   /cdrom         auto      unhide,user,noauto,ro      0 0

# NOTE: The next line is critical for boot!

none         /proc      proc      defaults      0 0

# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for

# POSIX shared memory (shm_open, shm_unlink). 

# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will

#  use almost no memory if not populated with files)

# Adding the following line to /etc/fstab should take care of this:

none         /dev/shm   tmpfs      defaults      0 0

# Windows

/dev/hda1      /windows/c      vfat      codepage=850,iocharset=iso8859-15,user,exec,umask=000   0 0

/dev/hda3      /windows/d      vfat      codepage=850,iocharset=iso8859-15,user,exec,umask=000   0 0

/dev/hda4      /windows/e      vfat      codepage=850,iocharset=iso8859-15,user,exec,umask=000   0 0

#/dev/hdg1      /lagerhalle      vfat      user,exec,umask=000   0 0

/dev/fd0                /floppy           auto            noauto,users            0 0
```

And let me say that I am very glad that you help me with that!   :Laughing: 

----------

## HighOnBonsai

OK so far: The problem now is still that your kernel does not support your IDE-controller.

I just recognized this in your lspci - output:

```

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) 

        Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE 

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- 

        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- 

        Latency: 32 

        Region 4: I/O ports at c400 [size=16] 

        Capabilities: [c0] Power Management version 2 

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) 

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

```

Its partly my fault: Dont enable the AMD-drivers in the kernel-config, but enable the Via-drivers...  :Smile: 

```

Device driver --> ATA/ATAPI/blalba - support --> VIA82CXXX chipset support

```

Try the same again (hdparm -d1 -X66 /dev/hda). Now it should work (hopefully...)

Christopher

----------

## Tim77

Yes, that's right. It works! Do I need the AMD-Drivers for another reason or can I remove them?

----------

## HighOnBonsai

No don't think so. Just remove it and give it a try!

Christopher

PS: I think thats the old VIA - northbridge and AMD - southbridge configuration???

----------

