ACPI 错误消息 AE_NOT_FOUND。为什么现在会发生这种情况?以前没有发生过这种情况

ACPI 错误消息 AE_NOT_FOUND。为什么现在会发生这种情况?以前没有发生过这种情况

我在我的 PC 上使用 Linux 已经很长时间了。最近一段时间,文本控制台上出现了新的内核错误消息。

它还在 中显示为红色消息journalctl -p err。以前并没有出现过这样的情况。

问题:为什么会发生这种变化?

注意:我正在写这个非常普遍的问题,以便在下面提供答案。

注意:特定系统上的 ACPI 错误消息可能有更具体的原因、问题和解决方案。例如,看下面两个问题:

  1. ACPI BIOS 错误/AE_NOT_FOUND
  2. ACPI 异常:启动时无限 AE_NOT_FOUND

我的错误信息是:

ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT0._GTF] (Node ffff8d859a5caaa0), AE_NOT_FOUND (20160831/psparse-543)
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT0._GTF] (Node ffff8d859a5caaa0), AE_NOT_FOUND (20160831/psparse-543)
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT4._GTF] (Node ffff8d859a5ca758), AE_NOT_FOUND (20160831/psparse-543)
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT5._GTF] (Node ffff8d859a5ca9b0), AE_NOT_FOUND (20160831/psparse-543)
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT4._GTF] (Node ffff8d859a5ca758), AE_NOT_FOUND (20160831/psparse-543)
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT5._GTF] (Node ffff8d859a5ca9b0), AE_NOT_FOUND (20160831/psparse-543)

答案1

我只想说它只发生在任何发行版的内核 4.9.x [及更高版本]上。

好的,内核二分表示有罪的提交是:

https://github.com/torvalds/linux/commit/b5c0875a16039d90f4cdf6b75ae4031daae01d56

commit b5c0875a16039d90f4cdf6b75ae4031daae01d56
作者:吕征 <[电子邮件受保护]>
日期:2016 年 8 月 4 日星期四 16:42:49 +0800

ACPICA:实用程序:引入允许 Linux 设置正确日志记录级别的工具

所以,至少对我来说,这个问题似乎一直存在,只是以前没有报告过。如果我正确理解 bug 43229,根本问题实际上是 BIOS 问题。

我通过恢复上述提交在内核 4.10-rc8 上进一步测试:

doug@s15:~/temp-k-git/linux$ git log --oneline
1dc8c4f Revert "ACPICA: Utilities: Introduce facility to allow Linux to set correct logging levels"
7089db8 Linux 4.10-rc8
...

事实上,从暂停恢复后,这些消息就不再出现。

答案2

您可以通过使用内核参数禁用 libata ACPI 探测来消除错误libata.noacpi=1

GRUB_CMDLINE_LINUX_DEFAULT="libata.noacpi=1"

相关内容