Welcome, Guest. Please login or register.
April 17, 2014, 13:06:03 PM
Home Help Search Calendar Login Register
Show unread posts since last visit.
News: Let Pardus-Anka become #1: Pardus-Anka Bug ReportPardus-Anka World Google+ | The Pardus wiki  | Visit Pardus-Anka official website  | Register as forum member?  Email the moderator!

+  Pardus Worldforum
|-+  Assistance
| |-+  Pardus for beginners
| | |-+  How to FORCE DMA onto cd/dvd-drives?
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Go Down Print
Author Topic: How to FORCE DMA onto cd/dvd-drives?  (Read 1289 times)
frisil
Pardus fellow craft
**
Gender: Male
Posts: 75


Linux rules!


View Profile
« on: October 20, 2008, 21:38:50 PM »

With the newer linux kernels, my DVD/CD drives no longer use DMA, but dmesg tells me it can be enabled. But how do I do this? hdparm -d1 /dev/sr0 does not work!
Logged

The most merciful thing in the world is the inability of the human mind to correlate all its contents. (Lovecraft)
PhiX
Pardus Guru
****
Posts: 642



View Profile WWW
« Reply #1 on: October 20, 2008, 23:05:22 PM »

It does not work, but what is the output of the hdparm and dmesg command lines (when run as administrator) ?
Logged

Team Pardus-fr - French Pardus tools translator
frisil
Pardus fellow craft
**
Gender: Male
Posts: 75


Linux rules!


View Profile
« Reply #2 on: October 20, 2008, 23:55:44 PM »

it says:

HDIO_SET_DMA failed: inapropriate ioctl for device

and dmesg was posted here: http://bugs.pardus.org.tr/show_bug.cgi?id=8411


maybe I should turn the whole SCSI emulation off? Back with the old kernel, when /sr0 was called /cdrom and /sda was still /hda DMA worked well. Is it possible to turn this whole SCSI thing off? Or is it not recommended?
Logged

The most merciful thing in the world is the inability of the human mind to correlate all its contents. (Lovecraft)
PhiX
Pardus Guru
****
Posts: 642



View Profile WWW
« Reply #3 on: October 21, 2008, 10:50:14 AM »

"ata4.01: WARNING: ATAPI DMA disabled for reliablity issues.  It can be enabled
ata4.01: WARNING: via pata_ali.atapi_dma modparam or corresponding sysfs node.
ata4.00: simplex DMA is claimed by other device, disabling DMA
"

The same problem has been fixed on Ubuntu (
http://ubuntuforums.org/showthread.php?p=4615284 ), but for ATI ATA chipsets.
The solution was to not to load the generic ata module and load the appropriate
hardware specific module instead.

In this case, it seems that this is a VIA ATA chipset, as the "WARNING" advises
you to load pata_ali in order to enable DMA support.

Unfortunately, as this page ( http://ata.wiki.kernel.org/index.php/Pata_ali )
says, "Some systems have problems with ATAPI DMA. The cause is unknown, by
default ATAPI DMA is therefore disabled."

Maybe you can nevertheless try to stop loading the ata_generic module at boot
time by writing its name on the /etc/modprobe.d/blacklist-compat file, reboot,
and see how it goes ?

NB : I added this as a comment on the bug page too.
Logged

Team Pardus-fr - French Pardus tools translator
frisil
Pardus fellow craft
**
Gender: Male
Posts: 75


Linux rules!


View Profile
« Reply #4 on: October 21, 2008, 11:27:24 AM »

Thanks a lot, this might help. Can you please tell me where to load the correct module instead?
Pardus does not have a /etc/initramfs-tools/modules. Where do I put the pata_atiixp or the other correct module for my system (what is it called? is it already on my computer or do I have to get it somewhere? how?)

Sorry for this awful lot of questions, but I am just a normal user, not a Linux wizard  Sad
Logged

The most merciful thing in the world is the inability of the human mind to correlate all its contents. (Lovecraft)
PhiX
Pardus Guru
****
Posts: 642



View Profile WWW
« Reply #5 on: October 21, 2008, 14:27:37 PM »

Code:
lsmod | grep ata
will tell you which ATA modules are already installed.

If the module you want to test is not there, you can add it in the /etc/modules.autoload.d/kernel-2.6 file.
« Last Edit: October 21, 2008, 14:31:50 PM by PhiX » Logged

Team Pardus-fr - French Pardus tools translator
frisil
Pardus fellow craft
**
Gender: Male
Posts: 75


Linux rules!


View Profile
« Reply #6 on: October 21, 2008, 18:54:06 PM »

Sorry, this doesn't really help. I added the lines

#added by user
blacklist ata_generic

at the end of /etc/modprobe.d/blacklist-compat file but it doesn't help, when I reboot, it's still there!

I tried modprobe -r ata_generic and then it's gone. However, this does not help, because the dmesg shows the same output as before and drives stay slow.

Where are kernel modules loaded at startup? mabe if I take out scsi_mod my system would be back to what it used to be with older Linux versions?

My older sidux ran the following modules and DMA worked fine:

Module                  Size  Used by
ext3                  135560  1
jbd                    62888  1 ext3
ppdev                  10500  0
lp                     13832  0
video                  19472  0
output                  4992  1 video
ac                      6532  0
battery                13192  0
powernow_k8            16064  0
cpufreq_powersave       2816  0
cpufreq_stats           7360  0
cpufreq_ondemand        9740  1
cpufreq_conservative     8200  0
freq_table              5792  3 powernow_k8,cpufreq_stats,cpufreq_ondemand
ipv6                  275108  10
af_packet              25096  2
nls_iso8859_1           5248  2
nls_cp437               6912  2
vfat                   14976  2
fat                    54428  1 vfat
nls_utf8                3200  3
ntfs                  227392  3
fuse                   47252  1
nvidia               7106084  24
snd_intel8x0           34972  2
psmouse                40976  0
evdev                  13184  4
parport_pc             41700  1
parport                38088  3 ppdev,lp,parport_pc
serio_raw               8196  0
snd_ac97_codec        100516  1 snd_intel8x0
ac97_bus                3456  1 snd_ac97_codec
snd_pcm_oss            43008  0
snd_mixer_oss          17920  1 snd_pcm_oss
snd_pcm                80772  4 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
analog                 13216  0
gameport               16904  1 analog
pcspkr                  4224  0
snd_timer              24580  2 snd_pcm
usblp                  15488  0
button                  9360  0
snd                    55812  8 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
i2c_ali1535             8068  0
k8temp                  6656  0
soundcore               9312  1 snd
snd_page_alloc         11528  2 snd_intel8x0,snd_pcm
i2c_ali15x3             8964  0
i2c_ali1563             8580  0
i2c_core               26240  4 nvidia,i2c_ali1535,i2c_ali15x3,i2c_ali1563
shpchp                 34708  0
pci_hotplug            32416  1 shpchp
usbhid                 44928  0
ff_memless              7048  1 usbhid
reiserfs              258436  4
dm_mirror              25344  0
dm_snapshot            19880  0
dm_mod                 59712  2 dm_mirror,dm_snapshot
ide_cd                 40608  0
cdrom                  37536  1 ide_cd
ide_disk               18432  12
uhci_hcd               26636  0
ohci_hcd               23556  0
floppy                 59364  0
ehci_hcd               36364  0
8139too                28288  0
mii                     6656  1 8139too
sata_uli                8580  0
usbcore               137352  6 usblp,usbhid,uhci_hcd,ohci_hcd,ehci_hcd
alim15x3               12684  0 [permanent]
ide_core              126232  3 ide_cd,ide_disk,alim15x3
ata_generic             8708  0
libata                125236  2 sata_uli,ata_generic
thermal                16412  0
processor              35208  2 powernow_k8,thermal
fan                     6020  0


As you an see, ata-generic is there but no scsi_mod!

Pardus on the other hand uses (after modprobe -r ata_generic):

Module                  Size  Used by
ipv6                  245992  10
firmware_class         13056  0
af_packet              25088  0
powernow_k8            17668  0
cpufreq_powersave       5760  0
cpufreq_userspace       8196  0
nls_utf8                6016  2
nls_cp857               8704  2
vfat                   16128  2
fat                    50336  1 vfat
reiserfs              210228  6
fuse                   48924  6
snd_intel8x0           35868  2
snd_ac97_codec         97568  1 snd_intel8x0
ppdev                  12548  0
ac97_bus                5888  1 snd_ac97_codec
snd_seq_dummy           7812  0
parport_pc             39484  1
snd_seq_oss            34332  0
snd_seq_midi_event     11008  1 snd_seq_oss
ns558                   8576  0
snd_seq                51496  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
rtc_cmos               14112  0
lp                     14924  0
parport                37972  3 ppdev,parport_pc,lp
rtc_core               22940  1 rtc_cmos
snd_seq_device         11788  3 snd_seq_dummy,snd_seq_oss,snd_seq
rtc_lib                 6912  1 rtc_core
snd_pcm_oss            41376  0
gameport               18060  2 ns558
nvidia               7099200  24
k8temp                  9344  0
8139too                28672  0
snd_mixer_oss          19200  1 snd_pcm_oss
snd_pcm                73476  3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer              25608  2 snd_seq,snd_pcm
hwmon                   7196  1 k8temp
i2c_ali1535            10756  0
usblp                  17536  0
usbhid                 44900  0
8139cp                 25472  0
thermal                22940  0
snd                    57528  14 snd_intel8x0,snd_ac97_codec,snd_seq_dummy,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
processor              43948  2 powernow_k8,thermal
hid                    39500  1 usbhid
ali_agp                10624  0
mii                     9344  2 8139too,8139cp
i2c_ali15x3            11396  0
button                 12176  0
i2c_ali1563            11140  0
shpchp                 33940  0
soundcore              11336  1 snd
ff_memless              9352  1 usbhid
amd64_agp              15748  1
i2c_core               26516  4 nvidia,i2c_ali1535,i2c_ali15x3,i2c_ali1563
snd_page_alloc         13960  2 snd_intel8x0,snd_pcm
pci_hotplug            30884  1 shpchp
agpgart                36020  3 nvidia,ali_agp,amd64_agp
sg                     37044  0
ext3                  128008  1
jbd                    47636  1 ext3
mbcache                12420  1 ext3
sd_mod                 29976  15
sr_mod                 19624  1
cdrom                  35740  1 sr_mod
ohci_hcd               25604  0
pata_ali               14852  14
sata_uli               11268  0
uhci_hcd               26640  0
pata_acpi              11136  0
libata                150240  3 pata_ali,sata_uli,pata_acpi
scsi_mod              145268  4 sg,sd_mod,sr_mod,libata
dock                   14352  1 libata
ehci_hcd               37132  0
usbcore               136396  6 usblp,usbhid,ohci_hcd,uhci_hcd,ehci_hcd

Can I change Pardus to run the same modules Sidux used to run somehow?

Logged

The most merciful thing in the world is the inability of the human mind to correlate all its contents. (Lovecraft)
frisil
Pardus fellow craft
**
Gender: Male
Posts: 75


Linux rules!


View Profile
« Reply #7 on: October 21, 2008, 19:43:43 PM »

I tried editing modprobe.conf.dist in /etc/modprobe.d to add another (ubuntu) fix I found

## Turn on DMA for DVD ############################
alias ata_generic off
alias pata_atiixp on


but my system doesn't react to that. lsmod still shows:

pata_ali               14852  14
sata_uli               11268  0
pata_acpi              11136  0
ata_generic            12036  0
libata                150240  4 pata_ali,sata_uli,pata_acpi,ata_generic
scsi_mod              145268  4 sg,sd_mod,sr_mod,libata
dock                   14352  1 libata

Do I have to change the initramfs? How do I do this? Do the changes have to be put somewhere else (initramfs creation file?) ? Please help someone, I'm desparate...
Logged

The most merciful thing in the world is the inability of the human mind to correlate all its contents. (Lovecraft)
PhiX
Pardus Guru
****
Posts: 642



View Profile WWW
« Reply #8 on: October 21, 2008, 21:55:48 PM »

This is were some english documentation on the specific Pardus architecture would come handy...

I suggest you copy/paste all the actions and results (and the module question) you did so far on an additional comment on the bug page.
Hopefully, a Pardus developper will answer.
Logged

Team Pardus-fr - French Pardus tools translator
Pages: [1] Go Up Print 
« previous next »
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!