PDA

View Full Version : Dma



BanjoTEKE
23rd March 2006, 11:11 PM
How do you enable DMA? hdparm commands do not seem to work in FC5...

I want to enable DMA so xine will stop dropping frames...

steve941
24th March 2006, 01:07 AM
what computer do have / what chipset & motherboard
fdisk -l
if you have sata
drives should be sda, sdb, ... and should have dma
i don't think hdparm currently works on sata
most importantly, upload your dmesg and ill see if its loading
if your talking about DVD drive .. which im guessing there's a work around like cutom compile your own kernel
or you could try:
modprobe.conf
// i think its options libata.atapi_enabled=1 and //
options combined_mode=libata
then i think you have to run modprobe
and most importantly add this to grub after rhgb quet:
hdc=noprobe combined_mode=libata libata.atapi_enabled=1
// but not sure if that works, i custom compile my own kernel and ya may need to do that and i get dma on everything including dvd drive

BanjoTEKE
24th March 2006, 03:33 PM
When I run "FDISK -L" I get COMMAND NOT FOUND

Here is my modprobe.conf:

alias eth0 b44
alias scsi_hostadapter ata_piix
alias eth1 ipw2200
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0


I do have a SATA drive...

OK278
24th March 2006, 05:49 PM
I find it funny that I have been having this issue since FC3... I have a Dell Inspiron 6000 Notebook with an SATA drive and an ATI X300 VGA... It should work dreat with FC5... and for the most part does... But I want DVD capability and see no reason why this shouldn't work fine... What do I do to ENABLE DMA on my notebook? Here is my XINE-CHECK Info:

[ good ] you're using Linux, doing specific tests
[ good ] looks like you have a /proc filesystem mounted.
[ good ] You seem to have a reasonable kernel version (2.6.15-1.2054_FC5)
[ good ] intel compatible processor, checking MTRR support
[ good ] you have MTRR support and there are some ranges set.
[ good ] found the player at /usr/bin/xine
[ good ] /usr/bin/xine is in your PATH
[ good ] found /usr/bin/xine-config in your PATH
[ good ] plugin directory /usr/lib/xine/plugins/1.1.1 exists.
[ good ] found unknown plugin: xineplug_flac.so
[ good ] found input plugins
[ good ] found demux plugins
[ good ] found decoder plugins
[ good ] found video_out plugins
[ good ] found audio_out plugins
[ good ] skin directory /usr/share/xine/skins exists.
[ good ] found logo in /usr/share/xine/skins
[ good ] I even found some skins.
[ good ] /dev/cdrom points to /dev/hdc
[ good ] /dev/dvd points to /dev/hdc
[ hint ] DMA is disabled for your DVD interface.
This will probably result in a serious performance hit when
playing DVDs. You can issue the command
hdparm -d1 /dev/hdc
as root to enable DMA. It would be wise to add this command to
some script that is executed executed at boot time.
Note that you probably have to set the DMA mode for your drive as well. Most DVD-ROMs work fine with multiword DMA mode 2. You can use
hdparm -d1 -X34 /dev/hdc
(as root again) to set this mode. Maybe UDMA2 will give you even better performance, but it only works well with some controllers. You'll
probably need UDMA capable IDE cables for this mode. If you want
to try: make backups of your important data and type (as root again)
sync
hdparm -d1 -X66 /dev/hdc
If your System still works fine after this, you probably want to keep
these settings (add them to some boot script).
If your system hangs or behaves very strangely after a few minutes, you should reboot immediately and never use this setting again on this
machine. Good luck ;-)
press <enter> to continue...

[ good ] found xvinfo: X-Video Extension version 2.2
[ good ] your Xv extension supports YV12 overlays (improves MPEG performance)
[ good ] your Xv extension supports YUY2 overlays
[ good ] Xv ports: RGBA RGBT RGB2 YUY2 UYVY YV12 I420

Also, the parameter "hdparm" does not work on my notebook... it is an SATA drive again.


Fighting DMA... PLEASE HELP

steve941
24th March 2006, 06:28 PM
fdisk -l is case sensitive and you must do it as root
but this will quickly tell you if there's a problem
if you drive is hda this is a big incorrect since you have sata
now if it does list it as sda
youll have to do:
dmesg
go through and look for sda and it will tell you if its enabled .. not explicitly though .. it may say dma 150 mb /s or something .. heres mine:
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xBFA0 irq 14
ata1: dev 0 cfg 49:2b00 82:346b 83:5b29 84:6003 85:3469 86:9a09 87:6003 88:203f
ata1: dev 0 ATA-6, max UDMA/100, 156301488 sectors: LBA
ata1(0): applying bridge limits
ata1: dev 0 configured for UDMA/100
scsi0 : ata_piix
Vendor: ATA Model: FUJITSU MHV2080A Rev: 0000
Type: Direct-Access ANSI SCSI revision: 05

my fdisk -l
lists /dev/sda
dmesgs says "dev 0 configured for UDMA/100" so i know dma is enabled for my hard drive

steve941
24th March 2006, 06:31 PM
for OK278:
I have an inspiron 9300 and had same issue
and i custom compile my own kernel and i have dma working on dvdrw

i think there's a way to do it without having to recompile, but i don't know..
but if your going to compile your own kernel lemme know and i can tell you some important things for the .config file


ALSO check out bug report if you want:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418

OK278
24th March 2006, 07:46 PM
RAN fdisk -l

fdisk -I:

[root@BETA-LINUX ~]# fdisk -I
fdisk: invalid option -- I

Usage: fdisk [-b SSZ] [-u] DISK Change partition table
fdisk -l [-b SSZ] [-u] DISK List partition table(s)
fdisk -s PARTITION Give partition size(s) in blocks
fdisk -v Give fdisk version
Here DISK is something like /dev/hdb or /dev/sda
and PARTITION is something like /dev/hda7
-u: give Start and End in sector (instead of cylinder) units
-b 2048: (for certain MO disks) use 2048-byte sectors


Then I ran fdisk -l:

[root@BETA-LINUX ~]# fdisk -I
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 6896 55392088+ 7 HPFS/NTFS
/dev/sda2 6897 6909 104422+ 83 Linux
/dev/sda3 6910 9729 22651650 8e Linux LVM



I must say, that I have a dual boot between Windows MCE & FC5

steve941
24th March 2006, 08:21 PM
if you want post your dmesg
also i can help you with a kernel recompile so that your DVD writer gets dma

OK278
24th March 2006, 08:57 PM
How do I do that?

steve941
24th March 2006, 09:25 PM
for dmesg just type:
dmesg
..
for kernel, goto kernel.org, download kernel 2.6.16:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
extract it to directory and call it 2.6.16
oh hang on! first as root, gedit /etc/X11/xorg.conf
change:
Load dri
to
#Load dri
// you MUST do this if compiling custom kernel
... k back to kernel compile:
// we have very similar computers, processor and chipset are same, so my config will work
as root:
in directory 2.6.16
make oldconfig
make
make modules_install
make install
//
gedit /boot/grub/grub.conf
// add:
combined_mode=libata libata.atapi_enabled=1
// after rghb quiet

corefile
24th March 2006, 11:25 PM
actually if you want to compile your own kernel you might want to get the kernel-src from fedora as it has all the extra stuff in the kernel over just a vanilla kernel.

OK278
25th March 2006, 02:21 AM
I would prefer not to do that...

Is there any other way? I did post my fdisk -l in a previous post...

robman
25th March 2006, 03:30 AM
You shouldn't have to rebuild the kernel to get DMA turned on. Please post the part of your dmesg output that has your drives being detected.

OK278
25th March 2006, 10:03 PM
Here it is:

http://root.wynne.org/file.txt

robman
25th March 2006, 11:56 PM
With these Intel controllers, in order for things to work best the same driver (either legacy IDE or libata) needs to drive both the SATA and PATA ports. libata is probably better as legacy IDE sucks on SATA controllers. Essentially you should try steve941's advice and try:

hdc=noprobe combined_mode=libata libata.atapi_enabled=1

(may not need the hdc=noprobe, but probably doesn't hurt) on the kernel command line. This should hopefully make libata drive the DVD drive. Note that the actual device name for the DVD will then be /dev/scd0 and not /dev/hdc.

OK278
26th March 2006, 12:24 AM
I really appreciate the info...

Where do I put that line? and if my DVD changes, how does Xine recognize it if it is not in the normal location?

robman
26th March 2006, 03:35 AM
You can put it on the end of the kernel command line in /etc/grub.conf to set it permanently. To just try it once you can go into the Grub bootup menu, hit "e" to edit the entry, edit the kernel command line entry and type it on at the end.

I think that the hal/udev utilities update the /dev/dvd symlink to point to the correct location, otherwise if the software's not using that you'd have to update its settings.

OK278
26th March 2006, 04:43 AM
I will give it a shot... I appreciate the help

Salamandra
26th March 2006, 05:48 PM
I had the same problem, solved with:
/sbin/hdparm -d 1 /dev/dvd
(as root)
I only have to find the way to put somewhere in order to get it automatically when the system starts.

Salamandra
27th March 2006, 04:11 PM
And you can place it at the end of:
/etc/rc.d/rc.local
Worked for me.

bit.shaker
29th March 2006, 01:49 PM
hello fellows,

i have had the same problem with Fedora Core 5 for a week now, but found a solution thats works *perfectly* (for my system at least). I doesnt involve recompiling the kernel, but rather passing a kernel parameter and adding an option to the modprobe.conf ... viola

the solution actually comes from here (post #36) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=163418#c36

how to do step by step
log in as root, or use sudo before each command line command (or you use gedit ;) )
1) edit modprobe.conf

vi /etc/modprobe.conf
insert this new line:

options libata atapi_enabled=1

2) edit grub.conf

vi /boot/grub/grub.conf
apend the kernel boot parameter 'combined_mode=libata' to your current kernel, so it looks like this (kernel version may be different)

kernel /boot/vmlinuz-2.6.16-1.2069_FC5 ro root=LABEL=/1 rhgb quiet combined_mode=libata

3) reboot and enjoy

if everything works a

dmesg | grep ata
will display something like this - in this case telling you that everything is ok:

BIOS-e820: 000000003ffdfffc - 000000003fffffc0 (ACPI data)
Kernel command line: ro root=LABEL=/1 rhgb quiet combined_mode=libata 3
Memory: 1034368k/1048444k available (1914k kernel code, 13368k reserved, 774k data, 176k init, 130944k highmem)
ksign: Installing public key data
Write protecting the kernel read-only data: 359k
libata version 1.20 loaded.
ata_piix 0000:00:1f.2: version 1.05
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x1100 irq 14
ata1: dev 0 cfg 49:2f00 82:746b 83:7d09 84:6023 85:7468 86:3c09 87:6023 88:203f
ata1: dev 0 ATA-6, max UDMA/100, 156301488 sectors: LBA48
ata1: dev 0 configured for UDMA/100
scsi0 : ata_piix
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x1108 irq 15
ata2: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 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.
ieee80211: 802.11 data/management/control stack, git-1.1.7
EXT3-fs: mounted filesystem with ordered data mode.

hope this resolves the "dma" issue for some people
cheers

OK278
30th March 2006, 03:12 PM
Here is true irony...

The Laptop I have been working with you guys on has a dual-boot between FC5 & Windows MCE... The laptop came with MCE... FC5 actually works very well on this laptop except for the DVD playback... the fact that for some reason FC doesn't enable DMA for SATA drives... Here is my proof... This laptop is 1.9 GHz with 1GB of RAM... ATI video Card.

I have a Dell Inspiron 3800 Laptop as well... It is 600 MHz with 384 MB RAM. ATI Mobility... Installed Windows 2000 on it and it runs fine, but video playback is choppy... Installed FC5 on it and FC5 is useable... but a bit slow... DVD playback is PERFECT...

So, I am at the point where I am not sure what to do... No one can provide me with an OS that works perfectly... That is too bad... XP seems to fit the bill... One the old laptop, XP will run, but it is a bit of a struggle.

Not sure what to do... I tried the above advice with no help... while I appreciate your efforts... FC5 is FLAWED something as SIMPLE as DMA or DVD playback... STILL has not been addressed is truly pathetic. Even Mandriva 06 Free works OUT OF THE BOX.

Not sure what to do here... Might have to go to Mandriva for teh Dell 600 MHx and Just go back to Windows for the Dell 6000 Suggestions?

Bandit
8th April 2006, 08:55 PM
Here is my fix.

su (go root)
cd /usr/bin
ln -s /sbin/hdparm hdparm (link this so it can be used elsewhere then the /sbin dir.)
chown 775 hdparm (make it executable)

now just run this to enable it.

su
hdparm -d1 /dev/dvd
This will turn it own and get it running for you. If your DVD drive uses UDMA66 like my Pioneer one does you can add -X66, else I would recomend everyone else to use -X34.

I just came over from using Ubuntu so I dont know if adding the file /etc/hdparm.conf will even be used in Fedora C5. But when I find a safe place to run this command I will post back.

But you darn sure dont have to recompile a kernel to get this enabled. That is for sure unless someone diditn compile it in to start with. I am pretty sure the fedora dev team woudl have cuaght a folly like that before releaseing the kernel ;)

Cheers,
Bandit

OK278
8th April 2006, 09:14 PM
Honestly fellahs...

I D/L a copy of SuSE linux. I have a buddy who works for Novell... It is great. No issues... works good... I am a SuSE guy now...

Bandit
9th April 2006, 12:36 AM
Honestly fellahs...

I D/L a copy of SuSE linux. I have a buddy who works for Novell... It is great. No issues... works good... I am a SuSE guy now...
Thats Kewl. :) If you ever get a chance stop by www.suseforums.net and www.suselinuxsupport.de
I am a regular over there as well.
I am not one of those types of users who swear by only one distro. I try them all every chance I get and have done so for almost 10 years now.

Cheers,
Bandit

OK278
10th April 2006, 06:18 PM
It is tuff. I like FC5... I like Madriva Free... I like Ubuntu somewhat... I do like checking out all of the distros. However. I wanted an OS to Dual Boot between WIndows & Linux... So far... every linus OS had a huge flaw. FC5's was DVD playback. My Dell Inspiron 6000 notebook has a SATA drive and DMA is not turned on for SATA (Hence this thread) It is frustrating and utterly ridiuclous... I have been having that issue since FC3.

Mandriva was good but not really free... their are not OS updates, no YUM or YaST (Yast is SUSE) and no chances... It worked well, but if there was something you had to work on... You have to be a club member to fix it. A trap if you will...

I tried Linspire first and liked it until I realized how much you spend to use it. Debian was a bit too complicated for me...

SuSE is a novoll product. I have a buddy who works for them and suggested SuSE... I am now using SuSE as my notebook OS fully with no issues... This is the first OS to do that. FC5 would read my thumb drive but whenevr I dragged a file to teh thumb drive... it would not be there on a Windows machine. No issue with SuSE. DVD playback is great with Kaffeine... MP3 is great with amarok... Networking is easy and the YaST manager is as good if not better than YUM.

So, there you go... I shall continue to browse here but I am not at suseforums.net...

Thanks for all you help.

Cheers,
OK278
SuSE User

steve941
11th April 2006, 03:12 AM
ok278:
u tried the work around for getting DMA on your Inspiron 6000. there is another option, you don't have to build a custom kernel. ..havnt tried it myself but supposedly its somthing like this (havnt done it, i compile my own kernel, so can't really help ya with this other way)
(root)
gedit /etc/modprobe.conf
add options liabata.atapi_enabled=1
modprobe -C /etc/modprobe.conf ?libata?
gedit /boot/grub/grub.conf
add hdc=noprobe combined_mode=libata libata.atapi_enabled=1

oh .. looks like the solution is posted above by bit.shaker

.. yeah i agree either way its a pain but i was under the thought that it affected all linux distros .. you don't have this dma problem in SUSE? .. i was thinkin about trying it - opensuse

OK278
11th April 2006, 02:10 PM
I appreciate your help...

But I am using SuSE... works perfectly.