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.0, FwRev=09.0, SerialNo=
Config={ }
RawCHS=9729/255/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=0kB, MaxMultSect=0
(maybe): CurCHS=9729/255/63, CurSects=0, LBA=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 ATA, max UDMA/100, 156301488 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 ATAPI, max UDMA/33
ata2(0): applying bridge limits
ata2: dev 0 configured for UDMA/33
scsi1 : ata_piix
EXT3-fs: mounted filesystem with ordered data mode.
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
ata1: status=0x51 { DriveReady SeekComplete Error }
ata1: error=0x04 { DriveStatusError }
the last error messages show up at boot as:
PHP Code:
Sep 3 02:21:22 localhost kernel: ide0: I/O resource 0x1F0-0x1F7 not free.
Sep 3 02:21:22 localhost kernel: ide0: ports already in use, skipping probe
Sep 3 02:21:22 localhost kernel: ide1: I/O resource 0x170-0x177 not free.
Sep 3 02:21:22 localhost kernel: ide1: ports 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.