不能为 CD 或 DVD 光盘机启用 DMA

问题

这个指令:

# hdparm -d /dev/hdc 

汇报 DMA 被停用。尝试用下列指令启用光盘机的 DMA 时:

# hdparm -d1 /dev/hdc

导致一个 Operation Not Permitted 的错误。

解决方法

/etc/modprobe.conf 内加入这行:

options libata atapi_enabled=1

grub.conf 内为你的内核加入这个引导参数:

combined_mode=libata

举个例子,你的 grub.conf 内的 kernel可能会是这个样子:

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

修改完成后这重新开机。你的光盘机在 /dev 内的项目将会由 /dev/hdx 转为 /dev/scd0

解释

这个问题可以追溯到 Fedora 5。但本页的作者是在新安装的 CentOS 5 上才遇上这个问题。因著这个问题的来历,这个解决方法很有可能亦适用於 CentOS 4。

这个问题的症结就是 ICH7 的底板都仿真标准 IDE 控制器,但内核的缺省 IDE 驱动程序不能正确地操作这个仿真控制器。上面的改动告诉内核要采用较新的 libdata 驱动程序。请参阅下面的连结取得更多信息。

参考

Translation of revision 2

zh/TipsAndTricks/UnableToEnableDMAonCD (last edited 2010-01-18 03:46:39 by TimothyLee)