# unable to enable dma on my hard drive

## jeffceth

I can't enable dma on my hard drive.  it's the only drive on my primary IDE with the right cable and everything, but hdparm clearly shows dma off and I get a notice when I boot.  As you can imagine, this is greatly affecting my performance.  when I try to enable it using hdparm I get:

```
setting using_dma to 1 (on) 

 HDIO_SET_DMA failed: Operation not permitted 

 using_dma    =  0 (off)
```

what am I doing wrong?

thanks in advance,

jeffceth

----------

## }-Tux-{

Hi

do you activate the kernel support for dma?

Post the output of 

grep DMA /path/to/kernel/sources

Greetz }-Tux-{

----------

## jeffceth

I think so.  would that be the "Use PCI DMA by default when available" option under ATA/ATAPI/MFM/RLL support?

```
grep DMA /path/to/kernel/sources

grep: /path/to/kernel/sources: No such file or directory
```

Forgive me if I was supposed to alter the directory there(I'm thinking this may have been the case since it didn't find it).  I'm a total newb to linux.

thanks,

jeffceth

----------

## }-Tux-{

Hi

try grep DMA /usr/src/linux/.config

Greetz }-Tux-{

----------

## jeffceth

here's what I get:

```
bash-2.05b$ grep DMA /usr/src/linux/.config

CONFIG_GENERIC_ISA_DMA=y

CONFIG_BLK_DEV_IDEDMA_PCI=y

# CONFIG_BLK_DEV_IDEDMA_FORCED is not set

CONFIG_IDEDMA_PCI_AUTO=y

# CONFIG_IDEDMA_ONLYDISK is not set

CONFIG_BLK_DEV_IDEDMA=y

# CONFIG_IDEDMA_IVB is not set

CONFIG_IDEDMA_AUTO=y

```

----------

## i92guboj

 *jeffceth wrote:*   

> here's what I get:
> 
> ```
> bash-2.05b$ grep DMA /usr/src/linux/.config
> 
> ...

 

Config is fine, post, please

 *Quote:*   

> dmesg and hdparm -cdi /dev/hda

 

but it seems like you have the wrong-old-40-pin cable attached to your hd

----------

## jeffceth

hdparm -cdi /dev/hda gives me:

```

jeffcethsbeast root # hdparm -cdi /dev/hda

/dev/hda:

 IO_support   =  0 (default 16-bit)

 using_dma    =  0 (off)

 Model=WDC WD1600JB-00DUA0, FwRev=65.13G65, SerialNo=WD-WMACK1299560

 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }

 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74

 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: device does not report version:

 * signifies the current active mode

```

and dmesg just gives me about 100 lines of "Losing some ticks... checking if CPU frequency changed" (btw is that a problem I should look into?) and a little eth0 blip from the last time I reset my internet router.  I rechecked my cable on my drive and confirmed that it's a brand new dma capable asus cable but I really didn't have to since I know for a fact that I ran this drive on this cable with dma under windows xp before my last crash convinced me to switch to linux.

the only thing I can think of is that I used to have two drives on that cable and I can't remember if a single drive like now is supposed to be at the second connector on the two-connector cable or the first one.  But that shouldn't make a difference, should it?

thanks,

jeffceth

----------

## jeffceth

bump

----------

## dsd

please post output of "lspci" and "lspci -n" (you may have to merge pciutils first)

----------

## jeffceth

```

jeffcethsbeast root # lspci

0000:00:00.0 Host bridge: Intel Corp. 82875P/E7210 Memory Controller Hub (rev 02)

0000:00:01.0 PCI bridge: Intel Corp. 82875P Processor to AGP Controller (rev 02)

0000:00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)

0000:00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)

0000:00:1d.2 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02)

0000:00:1d.3 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02)

0000:00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)

0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev c2)

0000:00:1f.0 ISA bridge: Intel Corp. 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)

0000:00:1f.1 IDE interface: Intel Corp. 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)

0000:00:1f.3 SMBus: Intel Corp. 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)

0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV250 If [Radeon 9000] (rev 01)

0000:01:00.1 Display controller: ATI Technologies Inc Radeon RV250 [Radeon 9000] (Secondary) (rev 01)

0000:02:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)

0000:02:05.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)

0000:02:0a.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)

0000:02:0c.0 Serial controller: 3Com Corp, Modem Division (formerly US Robotics) 56K FaxModem Model 5610 (rev 01)

jeffcethsbeast root # lspci -n

0000:00:00.0 Class 0600: 8086:2578 (rev 02)

0000:00:01.0 Class 0604: 8086:2579 (rev 02)

0000:00:1d.0 Class 0c03: 8086:24d2 (rev 02)

0000:00:1d.1 Class 0c03: 8086:24d4 (rev 02)

0000:00:1d.2 Class 0c03: 8086:24d7 (rev 02)

0000:00:1d.3 Class 0c03: 8086:24de (rev 02)

0000:00:1d.7 Class 0c03: 8086:24dd (rev 02)

0000:00:1e.0 Class 0604: 8086:244e (rev c2)

0000:00:1f.0 Class 0601: 8086:24d0 (rev 02)

0000:00:1f.1 Class 0101: 8086:24db (rev 02)

0000:00:1f.3 Class 0c05: 8086:24d3 (rev 02)

0000:00:1f.5 Class 0401: 8086:24d5 (rev 02)

0000:01:00.0 Class 0300: 1002:4966 (rev 01)

0000:01:00.1 Class 0380: 1002:496e (rev 01)

0000:02:03.0 Class 0c00: 1106:3044 (rev 80)

0000:02:05.0 Class 0200: 10b7:1700 (rev 12)

0000:02:0a.0 Class 0200: 8086:1229 (rev 08)

0000:02:0c.0 Class 0700: 12b9:1008 (rev 01)

```

[/code]

----------

## dsd

make sure you have this driver enabled as built in:

Device Drivers  --->

ATA/ATAPI/MFM/RLL support  --->

[*]     PCI IDE chipset support

<*>         Intel PIIXn chipsets support

----------

## jeffceth

I do.

----------

## Bob P

what kernel are you using?

----------

## dsd

it would also be useful to see the output of "dmesg" if you could upload it somewhere

----------

## saber850

I would just like to say thank you to everyone in this thread w/ suggestions!  Reading the thread pinpointed my problem (also lack of DMA) as well as the solution.

Awesome!  I honestly don't know which is better--the Gentoo distribution or the help in this forum.

Thanks again!

----------

## bin_streamer

lol sorry i am having the same problem can you pls post what you did to correct the problem

----------

## saber850

 *bin_streamer wrote:*   

> lol sorry i am having the same problem can you pls post what you did to correct the problem

 

I've only really used SCSI on Linux before, so DMA wasn't a factor.  My latest machine uses IDE disks, and I didn't setup DMA in the kernel.

Specifically, I selected "Generic IDE chipset" instead of the chipset I actually have (nVidia nForce).  Removing the Generic driver and adding the NForce driver did the trick.

Of particular help was the kernel settings:

```
grep DMA /usr/src/linux/.config
```

The output should be something like that listed above (jeffceth's post on Wed Dec 01, 2004).

Some hints which pointed me in this direction are:

1.  During the boot sequence, I was getting an asterick table containing a warning about DMA not being enabled for my hard disk and that fsck would be slow as a result.

2.  Once logged in, any disk-intensive operations (like extracting a package) would render the system frozen to the user.  That is, the system didn't respond during these operations (even trying to edit a text file was useless).

3.  When I tried to manually enable DMA for the disk, I received the error HDIO_SET_DMA failed: Operation not permitted.

What a difference DMA  makes!

----------

## jeffceth

okay, I have the exact symptoms you describe, except that I don't have the default enabled and I do have the intel PIIXn driver loaded.(should I maybe be using a dif. one for my hardware?  above I was told this was the right one)  I'm on 2.6.9 and as I mentioned before dmesg doesn't have anything relevant whatsoever in it (only entry is repeatedly that I'm losing ticks, probably need to replace my mobo lithium battery).  but the lack of dma is really crippling my system.  what can I do?

thanks,

jeffceth

----------

## dsd

i need to see your boot messages. if dmesg gets totally flooded out from losing ticks then you either need to get it right after boot, or from /var/log/messages or /var/log/debug.log assuming it is being logged

----------

## Cintra

 *jeffceth wrote:*   

> okay, I have the exact symptoms you describe, except that I don't have the default enabled and I do have the intel PIIXn driver loaded.(should I maybe be using a dif. one for my hardware?  above I was told this was the right one)  I'm on 2.6.9 and as I mentioned before dmesg doesn't have anything relevant whatsoever in it (only entry is repeatedly that I'm losing ticks, probably need to replace my mobo lithium battery).  but the lack of dma is really crippling my system.  what can I do?
> 
> thanks,
> 
> jeffceth

 

I would suggest emerging smartmontools - they will allow you to run # smartctl -a /dev/hda - providing information on your drive. You can even add SMART to your startup routine, receive reports and test your drive.

This page might be of interest.. http://www.pcguide.com/ref/hdd/if/ide/modesUDMA-c.html

where it also says 

 *Quote:*   

>  If errors occur frequently, the system may determine that there are hardware issues and thus drop down to a slower Ultra DMA mode, or even disable Ultra DMA operation

 

regards

----------

## jeffceth

alright, I got my whole dmesg log from boot:

```
CPU0: Intel(R) Pentium(R) 4 CPU 2.53GHz stepping 07

per-CPU timeslice cutoff: 1463.15 usecs.

task migration cache decay timeout: 2 msecs.

Total of 1 processors activated (5013.50 BogoMIPS).

ENABLING IO-APIC IRQs

..TIMER: vector=0x31 pin1=2 pin2=-1

Brought up 1 CPUs

NET: Registered protocol family 16

PCI: PCI BIOS revision 2.10 entry at 0xf0031, last bus=2

PCI: Using configuration type 1

mtrr: v2.0 (20020519)

ACPI: Subsystem revision 20040816

ACPI: Interpreter enabled

ACPI: Using IOAPIC for interrupt routing

ACPI: PCI Root Bridge [PCI0] (00:00)

PCI: Probing PCI hardware (bus 00)

PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1

PCI: Transparent bridge - 0000:00:1e.0

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.P0P4._PRT]

ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 *10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 6 7 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 6 7 10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11 12 14 15) *0, disabled.

ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 *10 11 12 14 15)

ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 *11 12 14 15)

SCSI subsystem initialized

usbcore: registered new driver usbfs

usbcore: registered new driver hub

PCI: Using ACPI for IRQ routing

ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 19

ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18

ACPI: PCI interrupt 0000:00:1d.3[A] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 23

ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 18 (level, low) -> IRQ 18

ACPI: PCI interrupt 0000:00:1f.3[B] -> GSI 17 (level, low) -> IRQ 17

ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 17

ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16

ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 20 (level, low) -> IRQ 20

ACPI: PCI interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22

ACPI: PCI interrupt 0000:02:0a.0[A] -> GSI 22 (level, low) -> IRQ 22

ACPI: PCI interrupt 0000:02:0c.0[A] -> GSI 20 (level, low) -> IRQ 20

Machine check exception polling timer started.

IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com>

audit: initializing netlink socket (disabled)

audit(1102738814.271:0): initialized

devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)

devfs: boot_options: 0x1

NTFS driver 2.1.20 [Flags: R/W DEBUG].

Initializing Cryptographic API

inotify init: minor=63

lp: driver loaded but no devices found

hw_random hardware driver 1.0.0 loaded

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel i875 Chipset.

agpgart: Maximum main memory to use for agp memory: 439M

agpgart: AGP aperture is 64M @ 0xf4000000

ACPI: PCI interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16

[drm] Initialized radeon 1.11.0 20020828 on minor 0: ATI Technologies Inc Radeon RV250 If [Radeon 9000]

Hangcheck: starting hangcheck timer 0.5.0 (tick is 180 seconds, margin is 60 seconds).

ACPI: Power Button (FF) [PWRF]

ACPI: Processor [CPU1] (supports C1)

serio: i8042 AUX port at 0x60,0x64 irq 12

serio: i8042 KBD port at 0x60,0x64 irq 1

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A

ACPI: PCI interrupt 0000:02:0c.0[A] -> GSI 20 (level, low) -> IRQ 20

ttyS4 at I/O 0xdfe0 (irq = 20) is a 16550A

mice: PS/2 mouse device common for all mice

input: AT Translated Set 2 keyboard on isa0060/serio0

input: ImPS/2 Logitech Wheel Mouse on isa0060/serio1

parport0: PC-style at 0x378 (0x778) [PCSPP(,...)]

parport0: irq 7 detected

lp0: using parport0 (polling).

Using anticipatory io scheduler

Floppy drive(s): fd0 is 1.44M

FDC 0 is a post-1991 82077

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

ub: sizeof ub_scsi_cmd 60 ub_dev 940

usbcore: registered new driver ub

ACPI: PCI interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22

ACPI: PCI interrupt 0000:02:05.0[A] -> GSI 22 (level, low) -> IRQ 22

eth0: 3Com Gigabit LOM (3C940)

      PrefPort:A  RlmtMode:Check Link State

PPP generic driver version 2.4.2

NET: Registered protocol family 24

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...

hda: WDC WD1600JB-00DUA0, ATA DISK drive

hdb: WDC WD1200JB-00DUA3, ATA DISK drive

Probing IDE interface ide1...

hdc: CD-ROM Drive/F5A, ATAPI CD/DVD-ROM drive

hdd: HL-DT-ST RW/DVD GCC-4480B, ATAPI CD/DVD-ROM drive

Probing IDE interface ide2...

ide2: Wait for ready failed before probe !

Probing IDE interface ide3...

ide3: Wait for ready failed before probe !

Probing IDE interface ide4...

ide4: Wait for ready failed before probe !

Probing IDE interface ide5...

ide5: Wait for ready failed before probe !

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

hda: max request size: 1024KiB

hda: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63

hda: cache flushes supported

 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4

hdb: max request size: 1024KiB

hdb: Host Protected Area detected.

        current capacity is 234440000 sectors (120033 MB)

        native  capacity is 234441648 sectors (120034 MB)

hdb: 234440000 sectors (120033 MB) w/8192KiB Cache, CHS=16383/255/63

hdb: cache flushes supported

 /dev/ide/host0/bus0/target1/lun0: p1

hdc: ATAPI 48X CD-ROM drive, 128kB Cache

Uniform CD-ROM driver Revision: 3.20

hdd: ATAPI 48X DVD-ROM CD-R/RW drive, 2048kB Cache

ide-floppy driver 0.99.newide

libata version 1.02 loaded.

ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>

ACPI: PCI interrupt 0000:02:03.0[A] -> GSI 20 (level, low) -> IRQ 20

ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[20]  MMIO=[feaff800-feafffff]  Max Packet=[2048]

ieee1394: raw1394: /dev/raw1394 device initialized

ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 23 (level, low) -> IRQ 23

ehci_hcd 0000:00:1d.7: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller

PCI: Setting latency timer of device 0000:00:1d.7 to 64

ehci_hcd 0000:00:1d.7: irq 23, pci mem e084ec00

ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1

PCI: cache line size of 128 is not supported by device 0000:00:1d.7

ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 8 ports detected

USB Universal Host Controller Interface driver v2.2

ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 16 (level, low) -> IRQ 16

uhci_hcd 0000:00:1d.0: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #1

PCI: Setting latency timer of device 0000:00:1d.0 to 64

uhci_hcd 0000:00:1d.0: irq 16, io base 0000eec0

uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 2 ports detected

ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 19 (level, low) -> IRQ 19

uhci_hcd 0000:00:1d.1: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #2

PCI: Setting latency timer of device 0000:00:1d.1 to 64

uhci_hcd 0000:00:1d.1: irq 19, io base 0000ef00

uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3

hub 3-0:1.0: USB hub found

hub 3-0:1.0: 2 ports detected

ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 18 (level, low) -> IRQ 18

uhci_hcd 0000:00:1d.2: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3

PCI: Setting latency timer of device 0000:00:1d.2 to 64

uhci_hcd 0000:00:1d.2: irq 18, io base 0000ef20

uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4

hub 4-0:1.0: USB hub found

hub 4-0:1.0: 2 ports detected

ACPI: PCI interrupt 0000:00:1d.3[A] -> GSI 16 (level, low) -> IRQ 16

uhci_hcd 0000:00:1d.3: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #4

PCI: Setting latency timer of device 0000:00:1d.3 to 64

uhci_hcd 0000:00:1d.3: irq 16, io base 0000ef40

uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5

hub 5-0:1.0: USB hub found

hub 5-0:1.0: 2 ports detected

usbcore: registered new driver usblp

drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver

Initializing USB Mass Storage driver...

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.0:USB HID core driver

Advanced Linux Sound Architecture Driver Version 1.0.6 (Sun Aug 15 07:17:53 2004 UTC).

ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 17 (level, low) -> IRQ 17

PCI: Setting latency timer of device 0000:00:1f.5 to 64

AC'97 0 analog subsections not ready

intel8x0_measure_ac97_clock: measured 49375 usecs

intel8x0: clocking to 48000

ALSA device list:

  #0: Dummy 1

  #1: Virtual MIDI Card 1

  #2: Intel ICH5 at 0xfebfb800, irq 17

oprofile: using NMI interrupt.

NET: Registered protocol family 2

IP: routing cache hash table of 4096 buckets, 32Kbytes

TCP: Hash tables configured (established 32768 bind 32768)

ip_conntrack version 2.1 (4089 buckets, 32712 max) - 304 bytes per conntrack

ip_tables: (C) 2000-2002 Netfilter core team

ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.  http://snowman.net/projects/ipt_recent/

arp_tables: (C) 2002 David S. Miller

NET: Registered protocol family 1

NET: Registered protocol family 17

p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available

ACPI: (supports S0 S1 S3 S4 S5)

ACPI wakeup devices:

P0P4 MC97 USB1 USB2 USB3 USB4 EUSB PS2K PS2M ILAN

ReiserFS: hda3: found reiserfs format "3.6" with standard journal

ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00e01800001aecf3]

ReiserFS: hda3: using ordered data mode

ReiserFS: hda3: journal params: device hda3, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30

ReiserFS: hda3: checking transaction log (hda3)

ReiserFS: hda3: Using r5 hash to sort names

VFS: Mounted root (reiserfs filesystem) readonly.

Mounted devfs on /dev
```

----------

## dsd

i don't see the piix driver stepping in at all in your logs. that suggests that either you havent compiled it into the kernel, or have only included it as a module.

you should run "uname -v" - this will output the date and time that your kernel was compiled. mentally check that you are running the kernel that you think you are..

----------

## jeffceth

I get 

```
#2 SMP Sat Nov 27 15:46:48 EST 2004
```

 but I know I've recompiled my kernel since then.  Is this just the kernel release date or is this supposed to represent the last time I recompiled my kernel?

thanks,

jeffceth

----------

## dsd

thats the problem then. it represents the compile date/time of your kernel. sounds like you are missing a step when copying your new kernel over, did you forget to mount /boot or something like that?

----------

## i92guboj

 *jeffceth wrote:*   

> I get 
> 
> ```
> #2 SMP Sat Nov 27 15:46:48 EST 2004
> ```
> ...

 

Make bzImage && make modules && make modules && make modules_install

Also check grub/lilo configuration.

----------

## jeffceth

i've done all this and rerun lilo after verifying the configuration.  what else do I need to do?

jeffceth

----------

## asterix404

I have the exact same problem however I do not have anything intel on my system, however I do that that Intel PXII thing compiled into the kernel, IE not as a modual. I am useing a wester digital HD, so then for what option should I put for generic PCI bus-master DMA support in my kernel?

Do I also want to have use PCI DMA by default option selected? I am not quiet a noob however I never delt with DMAs since I switched from windows and finailly have a stable gentoo build. 

Just for fun I ran hdparm -cdi /dev/hda

```
/dev/hda:

 IO_support   =  0 (default 16-bit)

 using_dma    =  0 (off)

 Model=WDC WD400JB-00ENA0, FwRev=05.03E05, SerialNo=WD-WCAD1A169362

 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }

 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40

 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=off

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 *mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: device does not report version:

 * signifies the current active mode

```

however

```
hdparm -d1 /dev/hda

/dev/hda:

 setting using_dma to 1 (on)

 HDIO_SET_DMA failed: Operation not permitted

 using_dma    =  0 (off)

```

Any suggestions?

----------

## asterix404

I have done a lot of looking into this thing and I have realized that turning on the DMA via the kernel is only good for certian chipsets that are listed as options. Does anyone know of a method to use my UDMA that I know I have on my HD since it is a WD? I know somehow this has worked for someone, and i am cerious as to how. It tells me that when I do hdparm -d1 /dev/hda that the opertaion is not permitted... does this mean that it has to be done at some other time?

----------

## saber850

 *asterix404 wrote:*   

> I have done a lot of looking into this thing and I have realized that turning on the DMA via the kernel is only good for certian chipsets that are listed as options. Does anyone know of a method to use my UDMA that I know I have on my HD since it is a WD? I know somehow this has worked for someone, and i am cerious as to how. It tells me that when I do hdparm -d1 /dev/hda that the opertaion is not permitted... does this mean that it has to be done at some other time?

 

I'm no expert, but you need to determine which chipset your motherboard is using for the IDE controller and compile it (along w/ DMA support) into your kernel.  To get my system working properly I read all the posts in this topic.  Following through helped me narrow down my problem.

----------

## vonhelmet

 *asterix404 wrote:*   

> I have done a lot of looking into this thing and I have realized that turning on the DMA via the kernel is only good for certian chipsets that are listed as options. Does anyone know of a method to use my UDMA that I know I have on my HD since it is a WD? I know somehow this has worked for someone, and i am cerious as to how. It tells me that when I do hdparm -d1 /dev/hda that the opertaion is not permitted... does this mean that it has to be done at some other time?

 

What make and model is your motherboard?

----------

## asterix404

For some reason doing a genkernel and looking at the DMA settings that were automatically detected worked for me... I bealve I have a VIA chipset, compieald the drivers into the kernel and it worked like a charm, thanks!

----------

## jayr1024

Does anyone know the IDE controler for nf7-s because I am also having trouble getting DMA to enable???

----------

## dsd

its named "AMD and nVidia IDE support" or something like that. let me know if you need more specific instructions

----------

## jayr1024

thanks alot dsd and yes i need more specific instruction because I am planning to reinstall gentoo from the start and what else do I need to enable besides the nforce driver on the kernel before compiling in order for the DMA to enable? Does nforce driver same as nforce2 for the nf7-s because  someone told me that nforce2 is the chipset driver for the nf7-s v2?

----------

