Linux
休眠後禁用 USB 喚醒
**問題:我在晚上休眠電腦,我的貓通過踩鍵盤喚醒它。**是的,休眠又名掛起到磁碟,使用
systemctl hibernate
. 不暫停到 ram。我曾經認為,一旦完成,休眠將與正常關機沒有區別,但顯然情況並非如此,因為正常關機後電腦不會在 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
.我想通過軟體解決這個問題。我不想:
- 任何涉及更改我的設置、鎖定房間、賣貓等的事情;
- 關閉電源板。路由器已連接到它,當我睡著時其他人可能想要 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
核心文件中有一些關於 ACPI 狀態的背景。
由於鍵盤大概是usb設備,如果不能禁用,可以嘗試禁用控制器。此外,您還可以禁用
/sys/bus/usb/devices/
偽文件中列出的設備。/proc/acpi/wakeup
這些往往在主機板上,而不是熱插拔。這 4 個字元的名字相當晦澀,來自 bios,但其中一些在這個答案中有所描述。您可以通過將其名稱寫入文件來切換一個,例如:echo XHC0 >/proc/acpi/wakeup
這應該會禁用您的 USB 3 控制器。正如 CM 在評論中指出的那樣,您仍然依賴於 bios 的功能,因此可能需要暫停到記憶體。
對於永久設置,您需要在每次啟動時編寫此設置,並且如您所見,systemd-tmpfiles實用程序可以使用其通用方法執行此操作。創建一個文件,例如
/etc/tmpfiles.d/disable-usb-wake.conf
與行# Path Mode UID GID Age Argument w /proc/acpi/wakeup - - - - XHC0
第一行只是一個註釋。請參閱
man tmpfiles.d
格式。