LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
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 09-04-2005, 04:29 PM   #1
rob666
LQ Newbie
 
Registered: Jul 2005
Posts: 9

Rep: Reputation: 0
hdparm can't enable dma with ich6m


Hi,
I can't get dma enable on my dvd or hard disk. I'll consentrate this post on the harddrive because I figure once that works the dvd should work too. Now I have ICH6-M so it's actually supposed to support SATA, but the hard disk is ide.
first here's the output for hdparm -d1 /dev/sda1:

/dev/sda1:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Inappropriate ioctl for device

Here's my hdparm -i /dev/sda1 output

PHP Code:
/dev/sda1:

 
Model=WDC WD800VE-75HD09.0FwRev=09.0SerialNo=
 
Config={ }
 
RawCHS=9729/255/63TrkSize=0SectSize=0ECCbytes=0
 BuffType
=unknownBuffSize=0kBMaxMultSect=0
 
(maybe): CurCHS=9729/255/63CurSects=0LBA=no
 IORDY
=no
 PIO modes
:  pio0
 AdvancedPM
=no

 
signifies the current active mode 
It makes no indication that dma is even available however in dmesg | grep ata says that I have udma/133:

PHP Code:
libata version 1.10 loaded.
ata_piix version 1.03
ata1
SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFFA0 irq 14
ata1
dev 0 cfg 49:2f00 82:346b 83:5b09 84:4003 85:3469 86:1809 87:4003 88:203f
ata1
dev 0 ATAmax UDMA/100156301488 sectors:
ata1(0): applying bridge limits
ata1
dev 0 configured for UDMA/100
scsi0 
ata_piix
ata2
SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFFA8 irq 15
ata2
dev 0 cfg 49:0f00 82:4218 83:5000 84:4000 85:4218 86:1000 87:4000 88:0407
ata2
dev 0 ATAPImax UDMA/33
ata2
(0): applying bridge limits
ata2
dev 0 configured for UDMA/33
scsi1 
ata_piix
EXT3
-fsmounted filesystem with ordered data mode.
ata1status=0x51 DriveReady SeekComplete Error }
ata1error=0x04 DriveStatusError }
ata1status=0x51 DriveReady SeekComplete Error }
ata1error=0x04 DriveStatusError }
ata1status=0x51 DriveReady SeekComplete Error }
ata1error=0x04 DriveStatusError }
ata1status=0x51 DriveReady SeekComplete Error }
ata1error=0x04 DriveStatusError }
ata1status=0x51 DriveReady SeekComplete Error }
ata1error=0x04 DriveStatusError 
the last error messages show up at boot as:

PHP Code:
Sep  3 02:21:22 localhost kernelide0I/O resource 0x1F0-0x1F7 not free.
Sep  3 02:21:22 localhost kernelide0ports already in use, skipping probe
Sep  3 02
:21:22 localhost kernelide1I/O resource 0x170-0x177 not free.
Sep  3 02:21:22 localhost kernelide1ports already in use, skipping probe 
This is appartently a problem related to which modules are directly in the kernel and which one's are added afterwards. I don't know what this has to do with hdparm, but I'm guessing this is confusion hdparm. here is my lsmod output:

PHP Code:
Module                  Size  Used by
speedstep_centrino      7892  1
proc_intf               3908  0
freq_table              4004  1 speedstep_centrino
cpufreq_userspace       4348  1
cpufreq_ondemand        6140  0
cpufreq_powersave       1632  0
video                  15972  0
sony_acpi               5928  0
pcc_acpi               11008  0
button                  6480  0
battery                 9988  0
container               4320  0
ac                      4676  0
asus_acpi              11572  0
ipv6                  257760  9
af_packet              21992  2
arc4                    1728  1
ieee80211_crypt_wep     5220  1
ipw2200               133100  0
firmware_class          9984  1 ipw2200
ieee80211              36388  1 ipw2200
ieee80211_crypt         5960  2 ieee80211_crypt_wep
,ieee80211
yenta_socket           21344  0
pcmcia_core            57984  1 yenta_socket
sk98lin               171136  0
i2c_i801                8364  0
i2c_core               22320  1 i2c_i801
hw_random               5300  0
ehci_hcd               32708  0
usbhid                 31936  0
uhci_hcd               32816  0
usbcore               119000  4 ehci_hcd
,usbhid,uhci_hcd
shpchp                 99172  0
pci_hotplug            33488  1 shpchp
snd_hda_intel          17472  0
snd_hda_codec          72224  1 snd_hda_intel
snd_pcm_oss            54016  0
snd_mixer_oss          20320  1 snd_pcm_oss
snd_pcm                94632  3 snd_hda_intel
,snd_hda_codec,snd_pcm_oss
snd_timer              26148  1 snd_pcm
snd                    57540  6 snd_hda_intel
,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore              10016  1 snd
snd_page_alloc          9988  2 snd_hda_intel
,snd_pcm
intel_agp              22140  1
agpgart                33608  2 intel_agp
pcspkr                  3496  0
rtc                    12472  0
md                     47440  0
dm_mod                 59420  1
capability              4648  0
commoncap               7712  1 capability
video1394              18732  0
ohci1394               34596  1 video1394
raw1394                30732  0
sbp2                   23816  0
ieee1394              108312  4 video1394
,ohci1394,raw1394,sbp2
joydev                  9664  0
tsdev                   7520  0
evdev                   9344  1
psmouse                21320  0
mousedev               11288  1
parport_pc             37252  0
lp                     11144  0
parport                36744  2 parport_pc
,lp
ide_generic             1312  0
ide_disk               20416  0
ide_cd                 41700  0
piix                   10340  0
ide_core              129356  4 ide_generic
,ide_disk,ide_cd,piix
ext3                  137256  1
jbd                    60536  1 ext3
mbcache                 8356  1 ext3
ahci                   10724  0
sr_mod                 17188  0
cdrom                  40220  2 ide_cd
,sr_mod
sd_mod                 17776  3
sg                     38400  0
ata_piix                9124  4
libata                 49316  2 ahci
,ata_piix
scsi_mod              127552  6 sbp2
,ahci,sr_mod,sd_mod,sg,libata
unix                   28276  508
thermal                13320  0
processor              22452  2 speedstep_centrino
,thermal
fan                     4388  0
fbcon                  37504  71
font                    8192  1 fbcon
bitblit                 5472  1 fbcon
vesafb                  6724  1
cfbcopyarea             3808  1 vesafb
cfbimgblt               2912  1 vesafb
cfbfillrect             3488  1 vesafb 
I've read some suggestions that I edit my /etc/modules file to load ata_piix and piix before the ide modules, but that hasn't worked.

PHP Code:
ata_piix
piix
ide
-core
ide
-cd
ide
-disk
ide
-generic
lp
mousedev
psmouse
sbp2
raw1394
video1394 

I have kernel 2.6.10-5-686 running as 2.6.11 didnt work, so I'm not sure what modules ubuntu has built in there or what's added later. I assume dma is supported though as ubuntu suggests running hdparm -d1 on it's wiki.

I did find an apparent fix for this, but it involves building a new kernel. I don't feel very comfortable doing that since I screwed up a few already and the patch seems iffy. On top of that I don't really want to since I'd have to reinstall the graphic driver, wireless, sound and I wouldn't know how to built it exactly like the 686 version as there's only a 2.6.10 linux-source available.
linuxquestions.org/questions/history/340897
Lastly in my bios dma is set to auto, 32 bit is on. This is an asus z63a laptop and there aren't any options in the bios for the sata controller.
Anyway hope this post wasn't too long. Would appreciate any help.
 
Old 09-05-2005, 04:37 AM   #2
imitheos
Member
 
Registered: May 2005
Location: Greece
Posts: 441

Rep: Reputation: 141Reputation: 141
Re: hdparm can't enable dma with ich6m

Quote:
Originally posted by rob666
Hi,
I can't get dma enable on my dvd or hard disk. I'll consentrate this post on the harddrive because I figure once that works the dvd should work too. Now I have ICH6-M so it's actually supposed to support SATA, but the hard disk is ide.
first here's the output for hdparm -d1 /dev/sda1:

/dev/sda1:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Inappropriate ioctl for device

If the disk is recognised as sata then this is normal. The dma is enabled but hdparm cannot set it because it is using ide ioctls.

Quote:
Originally posted by rob666

It makes no indication that dma is even available however in dmesg | grep ata says that I have udma/133:

PHP Code:
libata version 1.10 loaded.
ata_piix version 1.03
ata1
SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xFFA0 irq 14
ata1
dev 0 cfg 49:2f00 82:346b 83:5b09 84:4003 85:3469 86:1809 87:4003 88:203f
ata1
dev 0 ATAmax UDMA/100156301488 sectors:
ata1(0): applying bridge limits
ata1
dev 0 configured for UDMA/100
scsi0 
ata_piix
ata2
SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xFFA8 irq 15
ata2
dev 0 cfg 49:0f00 82:4218 83:5000 84:4000 85:4218 86:1000 87:4000 88:0407
ata2
dev 0 ATAPImax UDMA/33
ata2
(0): applying bridge limits
ata2
dev 0 configured for UDMA/33
scsi1 
ata_piix 
The ata_piix driver is sata support for intel chipsets. (google search shows the drive is ide like you said)


Quote:
Originally posted by rob666

I have kernel 2.6.10-5-686 running as 2.6.11 didnt work, so I'm not sure what modules ubuntu has built in there or what's added later. I assume dma is supported though as ubuntu suggests running hdparm -d1 on it's wiki.

I did find an apparent fix for this, but it involves building a new kernel. I don't feel very comfortable doing that since I screwed up a few already and the patch seems iffy. On top of that I don't really want to since I'd have to reinstall the graphic driver, wireless, sound and I wouldn't know how to built it exactly like the 686 version as there's only a 2.6.10 linux-source available.
linuxquestions.org/questions/history/340897
Lastly in my bios dma is set to auto, 32 bit is on. This is an asus z63a laptop and there aren't any options in the bios for the sata controller.
Anyway hope this post wasn't too long. Would appreciate any help.
run "hdparm -t /dev/sda" and post the output
Is the disk slow ?
 
Old 09-05-2005, 01:18 PM   #3
rob666
LQ Newbie
 
Registered: Jul 2005
Posts: 9

Original Poster
Rep: Reputation: 0
speed

Hi
Here's my output for hdparm -t /dev/sda.
It's not too shabby, but I'd like to do some capturing and editing in dv format.

/dev/sda:
Timing buffered disk reads: 54 MB in 3.08 seconds = 17.51 MB/sec

Thanks for the reply.
 
Old 09-05-2005, 02:23 PM   #4
rob666
LQ Newbie
 
Registered: Jul 2005
Posts: 9

Original Poster
Rep: Reputation: 0
but get a load of this

If I turn dma off with hdparm I get just as fast or if not a faster read of my hard drive than with it on!?!

Code:
rob@ubuntu:~$ sudo hdparm -d0 /dev/sda

/dev/sda:
 setting using_dma to 0 (off)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
rob@ubuntu:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   90 MB in  3.03 seconds =  29.66 MB/sec
rob@ubuntu:~$ sudo hdparm -d1  /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
rob@ubuntu:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   90 MB in  3.02 seconds =  29.81 MB/sec
If I understand what ioctls are correctly then I assume that if hdparm can't understand the hard disks ioctl it won't be able to control it. You could be right and dma is turned on some other way, or hdparm could be communicate with the harddisk in some rudementary way to turn on dma. Anyways here's hdparm /dev/sda, again to show it's not seeing that dma is turned on eventhough it just said it has turned it on.

Code:
/dev/sda:
 IO_support   =  0 (default 16-bit)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 9729/255/63, sectors = 80026361856, start = 0
Any way I'd really appreciate some more help to figure this one out.
 
Old 09-05-2005, 03:46 PM   #5
imitheos
Member
 
Registered: May 2005
Location: Greece
Posts: 441

Rep: Reputation: 141Reputation: 141
Re: but get a load of this

Quote:
Originally posted by rob666
If I turn dma off with hdparm I get just as fast or if not a faster read of my hard drive than with it on!?!

Code:
rob@ubuntu:~$ sudo hdparm -d0 /dev/sda

/dev/sda:
 setting using_dma to 0 (off)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
rob@ubuntu:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   90 MB in  3.03 seconds =  29.66 MB/sec
rob@ubuntu:~$ sudo hdparm -d1  /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
rob@ubuntu:~$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:   90 MB in  3.02 seconds =  29.81 MB/sec
As you see "HDIO_SET_DMA" failed. that is why you get the same result.
None of the commands "-d0" and "-d1" worked so you get the same.
30mb/sec is not very much.

Here's my output.
Code:
bash-3.00# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  170 MB in  3.01 seconds =  56.44 MB/sec
But, my disk is a 7200rpm sata desktop disk and your is a 5400rpm mobile hard disk, so maybe 30mb/sec is good.
I don't know how much does it get.
 
Old 09-05-2005, 05:00 PM   #6
rob666
LQ Newbie
 
Registered: Jul 2005
Posts: 9

Original Poster
Rep: Reputation: 0
Hi,
first off thanks for your input. I sure wish I would have gotten a sata drive too, but my laptop merchant advised against it. I found the following infos on the Western Digital Scorpio WD800V. This on the western digital website:

Transfer Rates
Buffer To Disk 421 Mbits/s (Max)
Buffer to Host (EIDE)
- Mode 5 Ultra ATA 100.0 MB/s
- Mode 4 Ultra ATA 66.6 MB/s
- Mode 2 Ultra ATA 33.3 MB/s
- Mode 4 PIO 16.6 MB/s
- Mode 2 multi-word DMA 16.6 MB/s

And this on cnet:

External / Internal Data Transfer Rateata Transfer Rate 100 MBps
External / Internal Data Transfer Rate:Internal Data Rate 52.6 MBps

Not sure what it mean and how it compares with what tested on hdparm. But hdparm seems to detect less.
 
  


Reply



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
turning DMA on with hdparm geniarse Linux - Hardware 4 09-09-2004 03:47 PM
Enabling DMA with no hdparm ? SML Fedora 1 02-22-2004 03:52 PM
Enabling DMA with no hdparm SML Red Hat 1 02-22-2004 03:46 PM
hdparm/dma MightyKC Linux - Newbie 7 08-19-2003 08:43 AM
Not able for activate 'dma' or 'hdparm -d1..." tom2 Linux - Hardware 0 03-10-2003 05:25 PM

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

All times are GMT -5. The time now is 08:10 PM.

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