LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3801|回复: 7

请问这个错误ide: failed opcode was: unknown怎么解决?

[复制链接]
发表于 2007-11-25 18:21:00 | 显示全部楼层 |阅读模式
先是弹出一个检测到了新介质:未挂载的刻录机,用dmesg看,出现一大堆的错误:
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hdb: drive not ready for command
hdb: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hdb: drive not ready for command
请问上面的错误怎么解决呀?我用2.6.22-12的内核出现这个问题,但是用2.6.23-1的内核就没有这个问题。是内核什么东西没有编译进去吗?谢谢!hdb是我的光驱,而我自己的硬盘是sata的。testing/debian

图片如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2007-11-26 11:39:38 | 显示全部楼层
编辑一下,顺便顶一下。有没有人知道呀?我担心会影响光驱的寿命。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-26 21:46:49 | 显示全部楼层
不知道是不是KDE守护进程的原因,不用X好像就没有这个现象。
回复 支持 反对

使用道具 举报

发表于 2007-11-27 01:14:50 | 显示全部楼层
以前的一些比较旧的光驱或硬盘遇过这问题,具体原因不明,当时有两种方法解决:

1. 关掉该设备的 dma
2. 升级系统的 udev

後来我的旧硬盘寿终正寝,也把旧光驱卖了,问题也不复再了。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-28 11:58:14 | 显示全部楼层
关掉dma还是不行,考虑再升级系统的udev。刚才在linuxquestions.org上看到有人用我同样ga-965p-s3的主板在FC6上也有这个问题。还看到有ASUS的主板似乎也有这个问题。还说新主板也有假。
屎特
回复 支持 反对

使用道具 举报

发表于 2010-12-17 00:30:09 | 显示全部楼层
(1)关于CF卡时“hda: task_out_intr: status=0x50 { DriveReady SeekComplete } ide: failed opcode was: unknown”
   ide.h中的WAIT_DRQ是HZ / 10(100ms),CF卡时要改为3* HZ / 10(300ms-1s),linux >=2.6.33已经修改为1s.
(2)关于CF卡时“lost interrupt”
   ide-iops.c:
+        {  //wjs update start   //486DX CF bug!!
+            int i;
+            for (i = 0; i < 10000; i++) { //wjs update end
                /* Note: this may clear a pending IRQ!! */
                stat = hwif->tp_ops->read_status(hwif);
+                if(! (stat & ATA_BUSY)) break; //wjs update start  //486DX CF bug!!
+                udelay(1);
+            }
+        } //wjs update end

  @ by wenjinshan,guilin china
回复 支持 反对

使用道具 举报

发表于 2010-12-17 00:31:05 | 显示全部楼层

。。。

(1)关于CF卡时“hda: task_out_intr: status=0x50 { DriveReady SeekComplete } ide: failed opcode was: unknown”
   ide.h中的WAIT_DRQ是HZ / 10(100ms),CF卡时要改为3* HZ / 10(300ms-1s),linux >=2.6.33已经修改为1s.
(2)关于CF卡时“lost interrupt”
   ide-iops.c:
+        {  //wjs update start   //486DX CF bug!!
+            int i;
+            for (i = 0; i < 10000; i++) { //wjs update end
                /* Note: this may clear a pending IRQ!! */
                stat = hwif->tp_ops->read_status(hwif);
+                if(! (stat & ATA_BUSY)) break; //wjs update start  //486DX CF bug!!
+                udelay(1);
+            }
+        } //wjs update end

  @ by wenjinshan,guilin china
回复 支持 反对

使用道具 举报

发表于 2010-12-17 00:34:30 | 显示全部楼层
(3)此外,如果你的CF驱动器不支持DMA,还要关闭DMA,方法是启动linux时传递ide-core.nodma=0.0 (linux 2.6.28,低于此版本时请参阅其它资料)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表