twe*_*wex 12
Jos 和 Rinzwind 给出的建议给了我一个开始,但没有解决问题。我没有连接以太网电缆,也没有 WOL(这实际上并不作为 BIOS 中的一个选项存在)或启用键盘唤醒。
我尝试拔掉鼠标,一个带有 USB 接收器的罗技无线鼠标,然后将计算机挂起过夜 - 没有唤醒!
为什么我之前没有想到这一点?暂停电脑时,我总是关闭鼠标。我不认为这会引起更多问题。
那么,如何防止鼠标/接收器引起唤醒呢?首先,运行命令cat /proc/acpi/wakeup
。这将列出可能导致唤醒的设备。
$ cat /proc/acpi/wakeup
Device S-state Status Sysfs node
P0P1 S4 *disabled pci:0000:00:1e.0
USB1 S3 *disabled
USB2 S3 *disabled
USB3 S3 *disabled
USB4 S3 *disabled
USB5 S3 *disabled
USB6 S3 *disabled
USB7 S3 *disabled
RP01 S4 *disabled pci:0000:00:1c.0
PXSX S4 *disabled pci:0000:01:00.0
RP02 S4 *disabled
PXSX S4 *disabled
RP03 S4 *disabled
PXSX S4 *disabled
RP04 S4 *disabled
PXSX S4 *disabled
RP05 S4 *disabled pci:0000:00:1c.4
PXSX S4 *enabled pci:0000:02:00.0
RP06 S4 *disabled
PXSX S4 *disabled
RP07 S4 *disabled
PXSX S4 *disabled
RP08 S4 *disabled
PXSX S4 *disabled
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled
PEG3 S4 *disabled
GLAN S4 *disabled
EHC1 S4 *enabled pci:0000:00:1d.0
EHC2 S4 *enabled pci:0000:00:1a.0
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
PWRB S3 *enabled
Run Code Online (Sandbox Code Playgroud)
在字段中,Status
您可以看到它们是否可以唤醒计算机 ( enabled
) 或不能 ( disabled
)。
EHC1
,EHC2
并XHC
代表 USB 控制器。显然USB1 - USB7
也是如此,但在我的情况下它们都被禁用了。我无法详细说明,因为我对此知之甚少。
我认为PWRB
(最后一行)代表电源按钮。启用它是个好主意,因为您可能希望能够使用电源按钮唤醒您的计算机。
通过给出命令,sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
您可以切换EHC1
. 如果您再次运行命令列出设备,您将看到设置为EHC1
已更改。
我想这与控制器EHC1
,EHC2
,XHC
因为我不知道什么控制器控制什么USB设备。
对我来说,离开EHC1
并XHC
启用和禁用EHC2
给了我想要的结果。现在键盘或鼠标(即使打开)都不会引起唤醒。我必须按下计算机本身的物理电源按钮。
不幸的是,当您重新启动时,该设置将被重置。为了解决这个问题,你可以把下面的代码放在你的/etc/rc.local
. 它必须使用提升的权限进行编辑:sudo gedit /etc/rc.local
例如。
for device in EHC2
do
if grep -q "$device.*enabled" /proc/acpi/wakeup
then
echo $device > /proc/acpi/wakeup
fi
done
Run Code Online (Sandbox Code Playgroud)
您可以通过更改代码中的第一行来添加更多设备:for device in EHC1 EHC2 XHC USB1
等等。我找到了由用户 toojays 编写的脚本。
这解决了我的问题。
归档时间: |
|
查看次数: |
5001 次 |
最近记录: |