自19.10更新以来,鼠标移动可将计算机从睡眠状态唤醒

hey*_*ema 6 suspend 19.10

从19.04更新到19.10以来,我发现移动鼠标会将计算机从睡眠状态唤醒。我使用 Logitech 鼠标及其 Unifying 接收器连接到 USB 3.0 端口(USB 2.0 端口的行为相同)。此行为与 19.04 不同。

我在 2017 年的一篇旧帖子中发现了类似的内容,鼠标移动将计算机从挂起状态唤醒,无法禁用它,并且输出显示grep --color -E '|enabled' /sys/bus/usb/devices/*/power/wakeup

/sys/bus/usb/devices/1-1.3.1/power/wakeup:disabled
/sys/bus/usb/devices/1-1.3/power/wakeup:disabled
/sys/bus/usb/devices/1-1/power/wakeup:disabled
/sys/bus/usb/devices/2-1.4/power/wakeup:disabled
/sys/bus/usb/devices/2-1/power/wakeup:disabled
/sys/bus/usb/devices/2-2/power/wakeup:enabled
/sys/bus/usb/devices/3-1.4/power/wakeup:disabled
/sys/bus/usb/devices/3-1/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
Run Code Online (Sandbox Code Playgroud)

如您所见,USB 设备 2-2 已启用。

lsusb -t显示:

/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
            |__ Port 4: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/9p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 4: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
    |__ Port 2: Dev 3, If 2, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 3: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
            |__ Port 4: Dev 6, If 2, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 4: Dev 6, If 0, Class=Audio, Driver=snd-usb-audio, 12M
            |__ Port 4: Dev 6, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 8: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 8: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
Run Code Online (Sandbox Code Playgroud)

我应该disable用这样的东西吗/etc/rc.local

# Disable
for f in /sys/bus/usb/devices/*/power/wakeup
do
   echo "disabled" > $f
done
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种不同的行为?在 19.10 中禁用此“新”功能的最佳方法是什么?

更新#1:

另见...

如何防止鼠标移动唤醒挂起的计算机?

http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985

grep -i 启用 /proc/acpi/wakeup

EHC1      S3    *enabled   pci:0000:00:1d.0
XHC       S3    *enabled   pci:0000:00:14.0
PWRB      S4    *enabled   platform:PNP0C0C:00
LID0      S4    *enabled   platform:PNP0C0D:00
Run Code Online (Sandbox Code Playgroud)

显示 EHC1 和 XHC USB 集线器(以及盖子和电源按钮)已启用。

建议...

将以下行添加到/etc/rc.local...

echo "EHC1" > /proc/acpi/wakeup
echo "XHC" > /proc/acpi/wakeup
Run Code Online (Sandbox Code Playgroud)

hey*_*ema 4

我在 2017 年的一篇旧帖子中发现了类似的内容,鼠标移动将计算机从挂起状态唤醒,无法禁用它,以及输出

grep --color -E '|enabled' /sys/bus/usb/devices/*/power/wakeup

显示:

/sys/bus/usb/devices/1-1.3.1/power/wakeup:disabled
/sys/bus/usb/devices/1-1.3/power/wakeup:disabled
/sys/bus/usb/devices/1-1/power/wakeup:disabled
/sys/bus/usb/devices/2-1.4/power/wakeup:disabled
/sys/bus/usb/devices/2-1/power/wakeup:disabled
/sys/bus/usb/devices/2-2/power/wakeup:enabled
/sys/bus/usb/devices/3-1.4/power/wakeup:disabled
/sys/bus/usb/devices/3-1/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
Run Code Online (Sandbox Code Playgroud)

如您所见,USB 设备 2-2 已启用。如果我拔下 Logitech Unifying 接收器,然后将其重新插入,然后重复该grep命令,它现在显示为“已禁用”。这意味着启用状态仅在启动时确定。

我当前的修复是编辑/etc/rc.local和添加...

# Disable wake computer from mouse movement
for f in /sys/bus/usb/devices/*/power/wakeup
do
   echo "disabled" > $f
done
Run Code Online (Sandbox Code Playgroud)

就在exit 0文件末尾找到的之前。这会强制所有 USB 设备显示为已禁用

睡眠仍然有效。并且鼠标移动不再从睡眠中唤醒。