LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 03-11-2006, 04:06 PM   #1
tiuz
Member
 
Registered: Mar 2006
Distribution: Debian 12 / Linux Mint / Slackware
Posts: 92

Rep: Reputation: 15
Canīt set DMA : HDIO_SET_DMA failed: Operation not permitted


Hello,
I canīt set DMA on IDE drives, i get this errormessage:
HDIO_SET_DMA failed: Operation not permitted

I am running Slackware 10.2 with Kernel
2.6.15.5-64GB-SMP

lspci -v lists this:
00:00.0 Host bridge: Intel Corporation 82875P/E7210 Memory Controller Hub (rev 02)
Subsystem: ASUSTeK Computer Inc.: Unknown device 80f6
Flags: bus master, fast devsel, latency 0
Memory at d8000000 (32-bit, prefetchable) [size=128M]
Capabilities: [e4] #09 [2106]
Capabilities: [a0] AGP version 3.0

00:01.0 PCI bridge: Intel Corporation 82875P Processor to AGP Controller (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, fast devsel, latency 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
Memory behind bridge: f0000000-f1ffffff
Prefetchable memory behind bridge: e0000000-efffffff
00:03.0 PCI bridge: Intel Corporation 82875P/E7210 Processor to PCI to CSA Bridge (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, fast devsel, latency 32
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 00009000-00009fff
Memory behind bridge: f2000000-f3ffffff
Prefetchable memory behind bridge: 80000000-800fffff

00:1c.0 PCI bridge: Intel Corporation 6300ESB 64-bit PCI-X Bridge (rev 02) (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, fast devsel, latency 32
Bus: primary=00, secondary=03, subordinate=03, sec-latency=48
I/O behind bridge: 0000a000-0000afff
Memory behind bridge: f4000000-f5ffffff
Prefetchable memory behind bridge: 0000000080100000-0000000080100000
Capabilities: [50] PCI-X bridge device.
00:1d.0 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: bus master, medium devsel, latency 0, IRQ 21
I/O ports at c400 [size=32]

00:1d.1 USB Controller: Intel Corporation 6300ESB USB Universal Host Controller (rev 02) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: bus master, medium devsel, latency 0, IRQ 23
I/O ports at c000 [size=32]
00:1d.4 System peripheral: Intel Corporation 6300ESB Watchdog Timer (rev 02)
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: medium devsel
Memory at f8001000 (32-bit, non-prefetchable) [size=16]

00:1d.5 PIC: Intel Corporation 6300ESB I/O Advanced Programmable Interrupt Controller (rev 02) (prog-if 20 [IO(X)-APIC])
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: bus master, fast devsel, latency 0
Capabilities: [50] PCI-X non-bridge device.
00:1d.7 USB Controller: Intel Corporation 6300ESB USB2 Enhanced Host Controller (rev 02) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: bus master, medium devsel, latency 0, IRQ 22
Memory at f8000000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [50] Power Management version 2

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 0a) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=04, subordinate=04, sec-latency=32
I/O behind bridge: 0000b000-0000bfff
Memory behind bridge: f6000000-f7ffffff
Prefetchable memory behind bridge: 80200000-802fffff
00:1f.0 ISA bridge: Intel Corporation 6300ESB LPC Interface Controller (rev 02)
Flags: bus master, medium devsel, latency 0

00:1f.2 IDE interface: Intel Corporation 6300ESB SATA Storage Controller (rev 02) (prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 16
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at <unassigned>
I/O ports at f000 [size=16]
00:1f.3 SMBus: Intel Corporation 6300ESB SMBus Controller (rev 02)
Subsystem: ASUSTeK Computer Inc.: Unknown device 8117
Flags: medium devsel, IRQ 9
I/O ports at 0500 [size=32]
01:00.0 VGA compatible controller: nVidia Corporation NV25 [GeForce4 Ti 4200] (rev a3) (prog-if 00 [VGA])
Subsystem: CardExpert Technology: Unknown device 0002
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 21
Memory at f0000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (32-bit, prefetchable) [size=128M]
Memory at e8000000 (32-bit, prefetchable) [size=512K]
Expansion ROM at e8080000 [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [44] AGP version 2.0
02:01.0 Ethernet controller: Intel Corporation 82547GI Gigabit Ethernet Controller
Subsystem: ASUSTeK Computer Inc.: Unknown device 8115
Flags: bus master, 66Mhz, medium devsel, latency 0, IRQ 16
Memory at f3020000 (32-bit, non-prefetchable) [size=128K]
Memory at f3000000 (32-bit, non-prefetchable) [size=128K]
I/O ports at 9000 [size=32]
Expansion ROM at 80000000 [disabled] [size=128K]
Capabilities: [dc] Power Management version 2
03:02.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0c)
Subsystem: Intel Corporation EtherExpress PRO/100 S Desktop Adapter
Flags: bus master, medium devsel, latency 32, IRQ 17
Memory at f5020000 (32-bit, non-prefetchable) [size=4K]
I/O ports at a000 [size=64]
Memory at f5000000 (32-bit, non-prefetchable) [size=128K]
Expansion ROM at 80100000 [disabled] [size=64K]
Capabilities: [dc] Power Management version 2
04:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
Subsystem: ASUSTeK Computer Inc. K8N4-E Mainboard
Flags: bus master, medium devsel, latency 32, IRQ 19
Memory at f7006000 (32-bit, non-prefetchable) [size=2K]
Memory at f7000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
04:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
Subsystem: Creative Labs CT4760 SBLive!
Flags: bus master, medium devsel, latency 32, IRQ 20
I/O ports at b000 [size=32]
Capabilities: [dc] Power Management version 1

04:09.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 07)
Subsystem: Creative Labs Gameport Joystick
Flags: bus master, medium devsel, latency 32
I/O ports at b400 [size=8]
Capabilities: [dc] Power Management version 1
04:0a.0 SCSI storage controller: LSI Logic / Symbios Logic 53c895 (rev 01)
Subsystem: Tekram Technology Co.,Ltd. DC-390U2W
Flags: bus master, medium devsel, latency 32, IRQ 18
I/O ports at b800 [size=256]
Memory at f7004000 (32-bit, non-prefetchable) [size=256]
Memory at f7005000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at 80200000 [disabled] [size=64K]

Either the chipset (Intel 6300ESB ICH) of the Mainboard for the IDE/ATA drives isnīt fully supported or i have overseen something in the Kernel configuration

Thanks for any hints/help!

tiuz
 
Old 03-12-2006, 09:23 AM   #2
trscookie
Member
 
Registered: Apr 2004
Location: oxford
Distribution: gentoo
Posts: 463

Rep: Reputation: 30
how are you trying to set dma?
e.g.

hdparm -d1 -c3 /dev/hda
 
Old 03-13-2006, 09:46 AM   #3
tiuz
Member
 
Registered: Mar 2006
Distribution: Debian 12 / Linux Mint / Slackware
Posts: 92

Original Poster
Rep: Reputation: 15
I have been trying these:

hdparm -d 1 -c 3 /dev/hda where i get the error message above.
Then i have also tested this:
hdparm -d 1 -X udma2 /dev/hda
Where i also get the error message.
 
Old 03-13-2006, 09:49 AM   #4
trscookie
Member
 
Registered: Apr 2004
Location: oxford
Distribution: gentoo
Posts: 463

Rep: Reputation: 30
in console i think you might have to run as root type:

dmesg

and print the output here, this prints whats in your kernels ring buffer.
 
Old 03-13-2006, 03:20 PM   #5
tiuz
Member
 
Registered: Mar 2006
Distribution: Debian 12 / Linux Mint / Slackware
Posts: 92

Original Poster
Rep: Reputation: 15
Here is the output of dmesg | grep IDE:

dmesg | grep IDE
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.2
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
Probing IDE interface ide0...
target0:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
ata: 0x1f0 IDE port busy

Not sure why there is SCSI stuff in the list, So far i have SCSI disks installed but /dev/hda isnīt one.
 
Old 03-13-2006, 04:03 PM   #6
trscookie
Member
 
Registered: Apr 2004
Location: oxford
Distribution: gentoo
Posts: 463

Rep: Reputation: 30
well ill tell u that you cant set dma on scsi devices, they are fast enough and dont need it, but if they are not scsi devices then i dont know why its using the scsi driver check what modules you have running in your kernel
 
Old 03-14-2006, 04:50 AM   #7
tiuz
Member
 
Registered: Mar 2006
Distribution: Debian 12 / Linux Mint / Slackware
Posts: 92

Original Poster
Rep: Reputation: 15
I have checked for the modules and i also checked if "scsi-emulation" is maybe compiled "in" the kernel, but it is not and also the module isnīt compiled and not loaded.
So far sda, sdb and sdc are REAL SCSI drives but not hda which is a DVD-Burner (and watching DVDs or burning stuff without DMA isnīt "that" funny).
 
Old 03-14-2006, 05:21 AM   #8
trscookie
Member
 
Registered: Apr 2004
Location: oxford
Distribution: gentoo
Posts: 463

Rep: Reputation: 30
coudnt agree with you more, what order do you have your devices on your ide's list em all
 
Old 03-14-2006, 05:50 AM   #9
kevkim55
Member
 
Registered: Dec 2005
Location: Edmonton
Distribution: BLFS, Gentoo
Posts: 353

Rep: Reputation: 32
I think itz to do with the hardware. You can't force it to use DMA if it is not designed to. On my laptop I do have the same problem, can't set it to use DMA. Win XP denies this as well. And so this is true for my Acer desktop pc as well.
 
Old 03-14-2006, 05:57 AM   #10
dsids
Member
 
Registered: Mar 2006
Distribution: FC4
Posts: 184

Rep: Reputation: 31
im also getting the same error message

#hdparm -d1 /dev/hda

/dev/hda:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)

#lspci|grep IDE
00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4376 (rev 80)

#dmesg
ks
inserting floppy driver for 2.6.9-1.667
FDC 0 is a post-1991 82077
8139too Fast Ethernet driver 0.9.27
ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 11 (level, low) -> IRQ 11
divert: allocating divert_blk for eth0
eth0: RealTek RTL8139 at 0xde00, 00:13:20:ec:12:68, IRQ 11
eth0: Identified 8139 chip type 'RTL-8101'
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
Realtek HD Audio Driver Install
ACPI: PCI interrupt 0000:00:14.2[A] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI interrupt 0000:00:13.2[A] -> GSI 5 (level, low) -> IRQ 5
ehci_hcd 0000:00:13.2: EHCI Host Controller
ehci_hcd 0000:00:13.2: irq 5, pci mem 3e830000
ehci_hcd 0000:00:13.2: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:13.2: 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
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ACPI: PCI interrupt 0000:00:13.0[A] -> GSI 5 (level, low) -> IRQ 5
ohci_hcd 0000:00:13.0: OHCI Host Controller
ohci_hcd 0000:00:13.0: irq 5, pci mem 3e866000
ohci_hcd 0000:00:13.0: new USB bus registered, assigned bus number 2
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 4 ports detected
ACPI: PCI interrupt 0000:00:13.1[A] -> GSI 5 (level, low) -> IRQ 5
ohci_hcd 0000:00:13.1: OHCI Host Controller
ohci_hcd 0000:00:13.1: irq 5, pci mem 3e868000
ohci_hcd 0000:00:13.1: new USB bus registered, assigned bus number 3
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 4 ports detected
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
spurious 8259A interrupt: IRQ7.
ACPI: Power Button (FF) [PWRF]
Losing some ticks... checking if CPU frequency changed.
EXT3 FS on hda1, internal journal
device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
Adding 2573856k swap on /dev/hda5. Priority:-1 extents:1
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
i2c /dev entries driver
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
divert: not allocating divert_blk for non-ethernet device sit0
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
ip_tables: (C) 2000-2002 Netfilter core team
Disabled Privacy Extensions on device 02369a00(lo)
ip_tables: (C) 2000-2002 Netfilter core team
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
eth0: no IPv6 routers present
Losing some ticks... checking if CPU frequency changed.
Losing some ticks... checking if CPU frequency changed.
....................

Losing tickes goes on for another 20-30 times

Advise please.....
Regards,
Danish
 
Old 03-14-2006, 06:23 AM   #11
timmeke
Senior Member
 
Registered: Nov 2005
Location: Belgium
Distribution: Red Hat, Fedora
Posts: 1,515

Rep: Reputation: 61
DMA, or Direct Memory Access, allows IO devices such as hard disks to temporarily disable the CPU's control over the system bus, so that they can access the system's memory directly (hence the name).
For fast IO devices like hard disks, this can substantially improve your system performance (less interrupts on your CPU). However, for slow IO devices, like CD/DVD burners, DMA is not always benefitial. Therefor some manufacturers don't include it in their devices (as it would slow down your system).

So, first check if your device supports DMA. If it doesn't, don't try to enable it.
 
Old 03-14-2006, 06:26 AM   #12
trscookie
Member
 
Registered: Apr 2004
Location: oxford
Distribution: gentoo
Posts: 463

Rep: Reputation: 30
sometimes dont you have to set dma on the jumper switches on the devices, i think ive come across something like that before as well?
 
Old 03-14-2006, 06:28 AM   #13
dsids
Member
 
Registered: Mar 2006
Distribution: FC4
Posts: 184

Rep: Reputation: 31
Quote:
Originally Posted by timmeke
DMA, or Direct Memory Access, allows IO devices such as hard disks to temporarily disable the CPU's control over the system bus, so that they can access the system's memory directly (hence the name).
For fast IO devices like hard disks, this can substantially improve your system performance (less interrupts on your CPU). However, for slow IO devices, like CD/DVD burners, DMA is not always benefitial. Therefor some manufacturers don't include it in their devices (as it would slow down your system).

So, first check if your device supports DMA. If it doesn't, don't try to enable it.
I did...
# hdparm -i /dev/hda

/dev/hda:

Model=ST340014A, FwRev=8.01, SerialNo=5JXL8HT8
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,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: ATA/ATAPI-6 T13 1410D revision 2:

* signifies the current active mode


Please correct me if I am wrong....

Regards,
Danish
 
Old 03-17-2006, 11:38 AM   #14
tiuz
Member
 
Registered: Mar 2006
Distribution: Debian 12 / Linux Mint / Slackware
Posts: 92

Original Poster
Rep: Reputation: 15
I have checked if the DVD-Burner (which is hda) supports DMA and it does. But there is no jupper to set it, so you have to set it in the OS. Then i checked for the Kernel config, and the driver for the chipset which supports IDE on the MB is compiled in the kernel. Also "Auto enable DMA if available" is compiled in the Kernel.
So the drivers for the chipset are compiled in, the drive supports DMA but i canīt set it.
So far the drive isnīt fast enough for watching a DVD or burning CDs/DVDs at full supported speed...
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
HDIO_SET_DMA failed: Operation not permitted new.thing Slackware 21 09-15-2007 05:46 PM
HDIO_SET_DMA failed: Operation not permitted (???) Ellops Slackware 8 08-11-2006 06:00 PM
HDIO_SET_DMA failed: Operation not permitted kernel 2.6.4 Gaghiel Slackware 4 03-31-2004 06:18 PM
HDIO_SET_DMA failed: Operation not permitted acjt Linux - Hardware 4 05-02-2003 10:52 PM
HDIO_SET_DMA failed: Operation not permitted markus1982 Linux - General 2 10-28-2002 04:56 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 02:13 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration