ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于hda报错

关于hda报错

原创 Linux操作系统 作者:suidali 时间:2009-02-04 11:54:53 0 删除 编辑

目前的LINUX系統,預設應該是支援DMA enable的。
當我看到我的OS螢幕出現了:
ide-cd: cmd 0x1e timed out
hda: irq timeout: status=0xd0 { Busy }
hda: irq timeout: error=0x00
hda: ATAPI reset complete
ide-cd: cmd 0x1e timed out
hda: irq timeout: status=0xd0 { Busy }
hda: irq timeout: error=0x00
hda: ATAPI reset complete
ide-cd: cmd 0x1e timed out
hda: irq timeout: status=0xd0 { Busy }
hda: irq timeout: error=0x00
hda: ATAPI reset complete
ide-cd: cmd 0x1e timed out
hda: irq timeout: status=0xd0 { Busy }
hda: irq timeout: error=0x00
hda: ATAPI reset complete

那個hda設備一直出現 irq 錯誤和 ATAPI reset !
我查了一下可能原因,好判斷這個錯誤對我的SERVER有没有嚴重的影響。
原來就是hda光碟機,它的DMA打開了,但OS卻不支援!才有這樣的錯誤發生。

一、檢查系統中的DMA選項是否已被啓動
Linux中的hdparm命令是用來進行操控硬碟、光碟機之類設備的,
用hdparm -i /dev/hda可以列出IDE可能支持的DMA模式,如:

DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4

二、啓動DMA支援
方法1:
在lilo.conf中加入:idex=dma,其中x代表硬碟序號,其取值範圍0-3,
分别代表系統中的四個IDE硬碟設備。

方法2:
使用hdparm命令,hdparm d1 /dev/hda 其中d1表示開啓DMA模式,
可以利用加到rc.locl中以便每次啓動OS時能使用DMA模式傳輸資料。


三、關閉DMA
命令格式:
hdparm d0 /dev/hda
就把DMA傳輸模式關閉了,但能用DMA,為什麼要關閉呢?
-------------------------------------------------------------------------------------------------------------------------
解决办法

在grub.conf或者lilo.conf文件中加入ide=nodma参数以禁用DMA功能。以Red Hat Linux 7.2为例,修改后的grub.conf文件内容如下:

image=/boot/vmlinuz-2.4.2-2smp
label=linux
initrd=/boot/initrd-2.4.2-2smp.img
read-only
root=/dev/cciss/c0d0p5
append="ide=nodma"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/73573/viewspace-545224/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-15

  • 博文量
    54
  • 访问量
    92442