Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
hi, i need to get DMA working for my dvd drive as movies are choppy, but i'm having problems. I use suse so the obvious way to do this would be from yast, it gives me the option to turn dma on for my dvd drive but when i try to it fails.
So next step was to do it using hdparm from the command line but that also fails,
# hdparm -d1 /dev/dvdrecorder
/dev/dvdrecorder:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
Also noticed it tried to set dma at boot but fails with the same output.
After doing lots of reading on this i have found that it could be because i don't have the relevent modules compiled in my kernel to set dma. Is this right or could it be something else?
I looked in my bios and it says the controller for my dvd is 'Parallel ATA'. Do i need to get my kernel to support this? If so how? My kernel version is 2.6.8-24.11 and i have suse 9.2. I have had dma working on this same machine on previous suse installations!
It will give the type of IDE interface, hopefully more useful than "Parallel ATA". Some problematic IDE interfaces will not work with auto DMA, so you need to add explicit IDE support in the kernel.
These are found in:
Device Drivers --> ATA/ATAPI/MFM/RLL support -->
about halfway down starting with "AEC62XX chipset support". Hopefully you can find your IDE chipset here.
# lspci | grep IDE
0000:00:1f.2 IDE interface: Intel Corp. 82801FR/FRW (ICH6R/ICH6RW) SATA Controller (rev 03)
I have tried looking through my config my chipset but can't find anything that looks relevent to this. I take it it's the '82801FR/FRW' bit i'm looking for?
Ok, well this is out of my league now...I don't have any SATA so I don't really know but doesn't SATA use SCSI drivers?
You can try "Intel PIIXn chipsets support" or perhaps "SLC90E66 chipset support" bit I really don't know if either will work.
Edit: it seems the driver you need (have?) is "Intel PIIX/ICH SATA support (NEW)"
found in SCSI device support ---> SCSI low-level drivers ---> Serial ATA (SATA) support
Someone who knows more about SATA/SCSI is going to have to step in here, as it is my understanding that hdparm cannot act on SCSI disks (:: SATA...).
Again i'm not overly sure on this. I have ATA_PIIX as a module, is that it? So then i modprobed ata_piix and tried using hdparm again but with no luck. But then if u say hdparm can't do SATA then thats why!
Anyway here is the relevent section in my .config
# SCSI low-level drivers
#
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AHA152X=m
CONFIG_SCSI_AHA1542=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC7XXX_OLD=m
CONFIG_SCSI_AIC79XX=m
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=15000
# CONFIG_AIC79XX_ENABLE_RD_STRM is not set
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_IN2000=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_SCSI_SATA=y
CONFIG_SCSI_SATA_SVW=m
CONFIG_SCSI_ATA_PIIX=m
CONFIG_SCSI_SATA_NV=m
CONFIG_SCSI_SATA_PROMISE=m
CONFIG_SCSI_SATA_SX4=m
CONFIG_SCSI_SATA_SIL=m
CONFIG_SCSI_SATA_SIS=m
CONFIG_SCSI_SATA_VIA=m
CONFIG_SCSI_SATA_ULI=m
CONFIG_SCSI_SATA_VITESSE=m
CONFIG_SCSI_BUSLOGIC=m
# CONFIG_SCSI_OMIT_FLASHPOINT is not set
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_EATA_TAGGED_QUEUE=y
CONFIG_SCSI_EATA_LINKED_COMMANDS=y
CONFIG_SCSI_EATA_MAX_TAGS=16
CONFIG_SCSI_EATA_PIO=m
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GDTH=m
CONFIG_SCSI_GENERIC_NCR5380=m
CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
CONFIG_SCSI_GENERIC_NCR53C400=y
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_PPA=m
CONFIG_SCSI_IMM=m
# CONFIG_SCSI_IZIP_EPP16 is not set
# CONFIG_SCSI_IZIP_SLOW_CTR is not set
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
CONFIG_SCSI_LPFC=m
CONFIG_SCSI_IPR=m
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_PSI240I=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_ISP=m
CONFIG_SCSI_QLOGIC_FC=m
CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA2XXX=m
CONFIG_SCSI_QLA21XX=m
CONFIG_SCSI_QLA22XX=m
CONFIG_SCSI_QLA2300=m
CONFIG_SCSI_QLA2322=m
CONFIG_SCSI_QLA6312=m
CONFIG_SCSI_QLA6322=m
CONFIG_SCSI_SYM53C416=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_DC390T=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y
CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y
CONFIG_SCSI_U14_34F_MAX_TAGS=8
CONFIG_SCSI_ULTRASTOR=m
CONFIG_SCSI_NSP32=m
CONFIG_SCSI_DEBUG=m
But then if u say hdparm can't do SATA then thats why!
I don't know for sure about SATA. I do know you can't use hdparm on SCSI. However, if you had DMA working with an earlier distro, it must be possible, I just don't know personally how to do it.
I'm gonna try compiling 'Intel PIIX/ICH SATA support' into the kernel then, as it's just a module at the moment, and see if that makes any difference.
I'm gonna need some help with this tho. So far i have gone to /usr/src/linux and ran make menuconfig, then i included 'Intel PIIX/ICH SATA support' and saved the .config.
So now what do i do? I have read some howto's on compiling the kernel but it seems some differ slightly. I wanna get this right so could someone give me steps that i can do for compiling the kernel on my system, suse 9.2 kernel 2.6.8-24.11.
Well I have included the ATA_PIIX into my kernel, compiled and installed it but it has made no difference. I have been going through the kernel config and have noticed an option 'Enable DMA Only For Disks', does this mean the kernel won't let me use DMA with my ide dvd and cd rw's? Maybe i should remove that from the kernel?
Another thing, i noticed at boot it will mount everything from fstab before trying any dma option. Could my options in /etc/fstab be stopping dme being enabled?
Well i've tried compiling the kernel without the option 'Enable DMA for disks only' but this doesn't work either. I'm stuck on this maybe as Emerson said i just can't have dma on my machine.
Well i've tried compiling the kernel without the option 'Enable DMA for disks only' but this doesn't work either. I'm stuck on this maybe as Emerson said i just can't have dma on my machine.
I said that? Or maybe you're quoting my uncle Ralph Waldo? Trust me, not much transcendental about DMA settings...
Anyway, YaST does offer DMA control in the hardware section and has since at least 9.x. BTDT a lot lately.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.