是什么导致系统设备探测期间暂停?

是什么导致系统设备探测期间暂停?

我正在运行 FreeBSD 10.0-RELEASE。

在引导设备探测期间,有两次 30 秒的暂停。与此相关的输出是

# dmesg
...
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
run_interrupt_driven_hooks: still waiting after 60 seconds for xpt_config
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
...

我对这个操作系统很陌生,但这是否意味着系统正在检测设备但无法弄清楚它是什么?我除了所附的基本必需品之外一无所有 - 硬盘驱动器和光盘驱动器,并通过以下方式确认:

# camcontrol devlist
<MATSHITA DVD-RAM UJ-841S 1.00>     at scbus0 target 0 lun 0 (pass0,cd0)
<HGST HTS7250xxxxxxxx GHB0xxxx>     at scbus1 target 0 lun 0 (pass1,ada0)

我尝试了一些其他命令来获取一些附加信息:

# camcontrol rescan all
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
(aprobe0:ata0:0:1:0): ATAPI_IDENTIFY. ACB: a1 00 00 00 00 40 00 00 00 00 00 00
(aprobe0:ata0:0:1:0): CAM status: Command timeout
(aprobe0:ata0:0:1:0): Error 5, Retry was blocked
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successful
Re-scan of bus 4 was successful

系统camcontrol rescan all再次暂停两次,每次 30 秒,然后重新扫描公交车。即使我请求仅扫描单个总线,系统也坚持首先执行“aprobe0”扫描。另外,“aprobe0...”行是粗体且亮白色,有人告诉我这意味着这是内核响应。如果我能缩短停顿的时间,我会很高兴。我尝试进入kern.cam.ada.default_timeout=5/boot/loader.conf没有任何效果。我进行了长时间的艰苦搜索,但没有成功,也得不到太多帮助。有比较了解的人有什么想法吗?谢谢!

补充一下,这是 RELEASE-10。在此之前的一段时间里,我运行了 RELEASE-8.3,它运行得很好,没有任何延迟。启动过程大约需要 15 秒。但正当我开始学习 R8.3 时,它已经 EOL,所以我决定升级到 R10。 R10 的 ATA 内核模块与 R8.3 中的有很大不同。我已阅读有关此类更改的信息,但我不知道从这里该去哪里。

答案1

所有人都指出这是一个从 FreeBSD 9.1 开始的错误/回归

遗憾的是,没有可用的解决方法。也许您可以在 上提供有关您的问题的更多详细信息(硬件、FreeBSD 版本)kern/173435

答案2

由于 DVD 驱动器是 da(4) 设备而不是 ada(4) 设备,因此请尝试kern.cam.da.default_timeout降低/boot/loader.conf

答案3

还有两件事需要尝试:

  1. 尝试更新 DVD 驱动器的固件。看起来它使用的是1.00版本。它很可能已被更新以修复此错误。
  2. 卸下驱动器。无论如何,它都是一个旧硬件。

相关内容