我可以在启动时阻止IDENTIFY PACKET DEVICE命令到特定设备吗?

这与之前已解决的与安装相关的问题有关。 我正在开一个新问题,因为我仍然需要让我的DVD驱动器工作。

问题

我的ASUS DRW-24B1 / ST DVD驱动器连接到我的asmedia ASM1061时启动失败。

症状

ata8.00: exception Emask 0x52 Sact 0x0 SErr 0xffffffff action 0xe frozen ata8: SError: { blah blah } ata8.00: failed command: IDENTIFY PACKET DEVICE ata8.00: cmd blah blah res blah blah (ATA bus error) ata8.00: status: { DRDY } ata8: hard resetting link 

背景

ASM1061是一个PCIe到SATA桥接器,提供2 x 6Gb / s端口,应该完全符合SATA规范。

我刚刚在我的华硕P8Z77-V pro主板上发现了“这些SATA端口仅用于数据硬盘驱动器。不支持ATAPI设备。”

但是,我已经使用此驱动器安装了Windows 7,我也可以从中运行Ubuntu 12.04安装程序。 我遇到问题的唯一一次是在Ubuntu启动时尝试IDENTIFY PACKET DEVICE,这似乎是一个ATAPI命令 。

我不能简单地将此设备切换到另一个SATA端口,因为它们已经分配给其他设备。 (我的芯片组的2 x 6Gb / s连接到我的启动SSD和快速硬盘,而4 x 3Gb / s端口正在运行RAID 5arrays。)如果这无法修复或解决,我想我会必须去购买SATA附加卡。 布莱什。

想法

如果确实这是设备特定问题(它不支持ATAPI发现)那么我不能指望 – 它是udev吗? – 使用它。 但是,似乎Windows甚至Ubuntu安装程序都运行良好。 那么为什么udev有问题呢?

在一天结束时,让DVD在Ubuntu下运行会很好,但我可以没有它。 但是,由于这是一个双启动机器,我无法在物理上断开连接,因为我希望它可以与Windows一起使用。 (每次我想启动Ubuntu时,实际上断开连接都不是一种选择。;-)

问题

  1. 这应该被视为错误吗? 我的感觉是,如果它与其他操作系统一起工作,它也可能适用于Ubuntu。

  2. 我该如何解决这个问题? 我对linux内部知识知之甚少,但似乎我应该能够以某种方式告诉udev (或任何正在做的发现)忽略该设备。 有办法吗?

事实certificate,这些是来自内核的libata消息,这些消息是由发送到DVD驱动器的ATAPI命令产生的。 问题是,附加DVD的ASM1061不支持ATAPI。

解决方案是编辑/lib/udev/rules.d/60-persistent-storage.rules,找到包含单词“ATAPI”的行并注释掉下一行。

感谢Olli Helin回答我之前关于这个答案的post!

显然,ASM106x和光驱并没有结合在一起。 它起作用 – 大部分时间。 但接着是bam! 整个机器崩溃,这是屏幕上的最后一条消息:

 ata10.00: exception Emask 0x52 SAct 0x0 SErr 0xffffffff action 0xe frozen ata10: SError: { RecovData REcovComm UnrecovData Persist Proto HostInt PHYRdyChg PHYInt CommWake 10B8B Dispar BadCRC Handshk LinkSeq TrStaTrns UnrecFIS DevExch } ata10.00: failed command: IDENTIFY PACKET DEVICE ata10.00: cmd a1/00:01:00:00:00/00:00:00:00:00/0 tag 0 pio 512 in res 40/00:03:00:00:00/00:00:00:00:00/a0 Emask 0x56 (ATA bus error) ata10.00: status: { DRDY } ata10: hard resetting link 

这个问题也在linux-ide邮件列表中讨论过: http : //thread.gmane.org/gmane.linux.ide/55284

提到的另一个解决方法是libata.atapi_passthru16=0 (内核参数)。

但最终它似乎是一个有缺陷的SATA控制器,你应该完全避免将它用于光驱。 使用由另一个控制器或USB适配器支持的SATA端口。