休眠后禁用 USB 唤醒

休眠后禁用 USB 唤醒

问题:我晚上让电脑休眠,我的猫通过踩键盘将其唤醒。是的,休眠又称为挂起到磁盘,带有systemctl hibernate.不暂停内存。我曾经认为,一旦完成,休眠将与正常关机没有区别,但显然情况并非如此,因为正常关机后计算机不会通过 USB 唤醒。

系统:Debian 10,主板华硕B450。

我尝试过的:

我在 BIOS 上找不到任何东西。

cat /sys/bus/usb/devices/usb[1-7]/power/wakeup

全部回归disabled

下面还有其他“设备” /sys/bus/usb/devices/,但它们似乎都是集线器并且没有该power/wakeup选项。他们都有这样的名字:1-0:1.0

我想用软件来解决这个问题。我会不是喜欢:

  1. 任何涉及改变我的设置、锁定房间、卖猫等的事情;
  2. 关闭电源板。路由器已连接到它,当我睡觉时其他人可能需要 wifi。

我在这里先向您的帮助表示感谢。

编辑:

cat /proc/acpi/wakeup返回:

Device  S-state   Status   Sysfs node
GPP0      S4    *disabled
GPP1      S4    *disabled
GPP3      S4    *disabled
GPP4      S4    *disabled
GPP5      S4    *disabled
GPP6      S4    *disabled
GPP7      S4    *disabled
GPP8      S4    *enabled   pci:0000:00:03.1
X161      S4    *disabled  pci:0000:08:00.0
GPP9      S4    *disabled
X162      S4    *disabled
GPPA      S4    *disabled
GPPB      S4    *disabled
GPPC      S4    *disabled
GPPD      S4    *disabled
GPPE      S4    *disabled
GPPF      S4    *disabled
GP10      S4    *disabled
GP11      S4    *disabled
GP12      S4    *enabled   pci:0000:00:07.1
GP13      S4    *enabled   pci:0000:00:08.1
XHC0      S4    *enabled   pci:0000:0a:00.3
GP30      S4    *enabled   pci:0000:00:08.2
GP31      S4    *enabled   pci:0000:00:08.3
PS2K      S3    *disabled
PS2M      S3    *disabled
GPP2      S4    *enabled   pci:0000:00:01.3
PX11      S4    *disabled
PX12      S4    *disabled
RLAN      S4    *disabled  pci:0000:07:00.0
PTXH      S4    *enabled   pci:0000:01:00.0

答案1

内核中的 ACPI 状态有一些背景知识文档

由于键盘大概是USB设备,如果无法禁用,您可以尝试禁用控制器。此外/sys/bus/usb/devices/,伪文件中还列出了/proc/acpi/wakeup您可以禁用的设备。这些往往位于主板上,而不是热插拔。这 4 个角色的名字相当晦涩,来自 BIOS,但其中一些在这个中有描述回答。您可以通过将其名称写入文件来切换其中之一,例如:

echo XHC0 >/proc/acpi/wakeup

这应该会禁用您的 USB 3 控制器。正如 CM 在评论中指出的那样,您仍然依赖于 BIOS 的功能,因此可能需要暂停到 RAM。

对于永久设置,您需要在每次启动时写入此内容,正如您所发现的那样,systemd-tmp 文件实用程序可以使用其通用方法来做到这一点。创建一个文件,例如/etc/tmpfiles.d/disable-usb-wake.conf包含以下行的文件

#    Path                  Mode UID  GID  Age Argument
w    /proc/acpi/wakeup     -    -    -    -   XHC0

第一行只是一个注释。man tmpfiles.d格式请参见。

相关内容