Unable To Enable DMA on CD or DVD Drive

Problem

The command:

# hdparm -d /dev/hdc 

reports that DMA is disabled. Attempting to enable DMA on an optical drive with:

# hdparm -d1 /dev/hdc

Yields an Operation Not Permitted error.

Solution

Add the following line to /etc/modprobe.conf:

options libata atapi_enabled=1

Add the following boot parameter to your kernel in grub.conf:

combined_mode=libata

So an example of a kernel line in your grub.conf might look like:

kernel /boot/vmlinuz-2.6.18-8.1.8.el5 ro root=LABEL=/ rhgb quiet combined_mode=libata

Reboot after making these changes. The /dev entry for your drive will change from /dev/hdx to /dev/scd0.

Explanation

This problem apparently goes back to Fedora 5. However the author of this page was only hit with this problem during a new installation of CentOS 5. Given the lineage of this problem, this solution is probably applicable to CentOS 4 as well.

The issue is that ICH7 based motherboards somehow emulate standard IDE controllers. The kernel's default IDE driver doesn't correctly operate this emulated controller. The above changes tell the kernel to use the newer libata driver. See the links below for more information.

References

TipsAndTricks/UnableToEnableDMAonCD (last edited 2007-09-26 17:09:16 by kirkbocek)