最近我注意到我的 GNU/Linux Gentoo 台式计算机在 ACPI S3 模式下挂起时会偶尔自行开机。
我没有对 BIOS 做任何更改或更新。
每当发生这种情况时,我都会在 dmesg 中看到以下内容:
[108014.336259] floppy0: floppy timeout called
[108014.336301] PM: resume of devices complete after 10861.842 msecs
[108014.336559] hub 8-0:1.0: state 7 ports 6 chg 0000 evt 0000
[108014.336562] hub 7-0:1.0: state 7 ports 6 chg 0000 evt 0000
[108014.336565] hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0000
[108014.336567] hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000
[108014.336569] hub 3-0:1.0: state 7 ports 2 chg 0000 evt 0000
[108014.336572] hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0000
[108014.336574] hub 7-5:1.0: state 7 ports 4 chg 0008 evt 0008
[108014.338301] hub 7-5:1.0: port 3, status 0503, change 0000, 480 Mb/s
[108014.338307] hub 6-0:1.0: state 7 ports 2 chg 0006 evt 0000
[108014.338323] hub 6-0:1.0: port 1, status 0103, change 0000, 12 Mb/s
[108014.338334] hub 6-0:1.0: port 2, status 0303, change 0000, 1.5 Mb/s
[108014.338338] hub 5-0:1.0: state 7 ports 2 chg 0004 evt 0004
[108014.338350] hub 5-0:1.0: port 2, status 0103, change 0000, 12 Mb/s
[108014.336504] Restarting tasks ... done.
[108015.348192] uhci_hcd 0000:00:1d.2: reserve dev 2 ep81-INT, period 1, phase 0, 17 us
系统日志中没有什么有趣的内容。
这是什么原因造成的?我该如何确定这是什么原因造成的?
答案1
您可以尝试在 BIOS 设置中禁用 ACPI S3 的所有唤醒事件:
USB 从 S3 唤醒 [已禁用](在本文发布之前已启用)
调制解调器振铃恢复 [已禁用]
PME 事件唤醒 [已禁用]
HPET 支持 [已禁用](高精度事件计时器,在本文发布前已启用)
通过鼠标开机 [已禁用]
通过键盘开机 [已禁用]
AC 返回功能 [已禁用]
闹钟开机 [禁用]
答案2
对我来说,解决方案似乎是在 /proc/acpi/wakeup 中禁用 USB 唤醒事件
在这个文件中,我注意到几个 USB 设备的状态为“已启用”。只需将名称回显到文件中即可将这些设备设置为“已禁用”,到目前为止,此问题已不再发生。