为什么使用无线鼠标从挂起状态唤醒仍然失败?

为什么使用无线鼠标从挂起状态唤醒仍然失败?

我一直在为这个问题绞尽脑汁。根据之前投票通过的方法:askubuntu_link1同样地askubuntu_link2,我启用了连接到无线鼠标接收器的 USB 设备的电源/唤醒功能,并尝试为我的特定设备创建 udev 规则。但是,在挂起时,我仍然无法从无线鼠标获得任何唤醒响应;我只能通过打开笔记本电脑盖并使用触摸板唤醒。我的笔记本电脑是搭载 Ubuntu 18.04 的 Dell XPS 13 9380。

我开始:

$ grep . /sys/bus/usb/devices/*/power/wakeup

最初屈服,

/sys/bus/usb/devices/1-7/power/wakeup:disabled    
/sys/bus/usb/devices/1-9/power/wakeup:disabled   
/sys/bus/usb/devices/5-1/power/wakeup:disabled   
/sys/bus/usb/devices/6-1.2/power/wakeup:disabled   
/sys/bus/usb/devices/6-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
/sys/bus/usb/devices/usb4/power/wakeup:disabled
/sys/bus/usb/devices/usb5/power/wakeup:disabled
/sys/bus/usb/devices/usb6/power/wakeup:disabled

查找无线接收器的 USB 端口:

$ lsusb

Bus 006 Device 004: ID 0480:a006 Toshiba America Inc External Disk 1.5TB  
Bus 006 Device 003: ID 0bda:8153 Realtek Semiconductor Corp.  
Bus 006 Device 002: ID 0424:5807 Standard Microsystems Corp.   
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 005 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270  
Bus 005 Device 003: ID 0bda:4014 Realtek Semiconductor Corp.   
Bus 005 Device 002: ID 0424:2807 Standard Microsystems Corp.    
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub   
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub    
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub   
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub   
Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0489:e0a2 Foxconn / Hon Hai    
Bus 001 Device 002: ID 0c45:6723 Microdia        
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

我确认我的设备 ID 是c534

找到我的设备插入的端口:

$ grep c534 /sys/bus/usb/devices/*/idProduct  

/sys/bus/usb/devices/1-9/idProduct:c534

这表明我的设备已插入总线 1、端口 9。

仔细检查唤醒功能是否已启用:

$ cat /sys/bus/usb/devices/1-9/power/wakeup  
disabled

启用端口唤醒:

$ sudo sh -c 'echo "enabled" > /sys/bus/usb/devices/1-9/power/wakeup'

检查唤醒是否已启用:$ cat /sys/bus/usb/devices/1-9/power/wakeup enabled

在挂起模式下测试计算机时,我没有被唤醒。

然后,我尝试编辑特定于我的设备的唤醒规则:

$ lsusb | grep Receiver
Bus 001 Device 004: ID **046d:c534** Logitech, Inc. Unifying Receiver

使用设备 ID,我udev为 USB 端口 1-9 编辑第 10 条优先级规则:

$ sudo nano /etc/udev/rules.d/10-wakeup.rules

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c534" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/1-9/power/wakeup'"

系统重启后,检查端口 1-9 是否已启用唤醒功能,在计算机挂起状态下,鼠标仍然没有响应。为什么?我被困住了。

答案1

请注意,在戴尔电脑上(可能并非戴尔独有),默认情况下,USB 在 BIOS 级别被禁用以进行唤醒。我尝试了上述各种解决方案,但都无济于事,后来我找到了更改 BIOS 的“简单”答案。

答案2

鼠标接收器需要电源

当机器处于挂起状态时,Unifying 接收器需要插入有电的 USB 端口。您可以移动鼠标,但如果 Unifying 接收器没有电,则什么也不会发生。

从:USB PowerShare 无法在 XPS13 9380 上使用

  1. 确保您确实在 BIOS 设置界面中启用了 USB PowerShare。在某些系统上,默认情况下它是禁用的。

  2. 确保您使用的端口确实支持 PowerShare。并非所有戴尔系统都在其所有 USB 端口上实现了 PowerShare。寻找带有电池图标或闪电图标的端口,尽管后者可能会引起一些混淆,因为 9380 还支持 Thunderbolt 3,它使用非常相似的闪电式图标。

  3. 在某些戴尔系统上,PowerShare 仅在系统关闭时才有效以及交流电源或睡眠(使用电池或交流电)。并非所有系统都会在系统完全关闭且未插入电源时启用 PowerShare。

答案3

/sys/bus/usb/devices/usb1/power/wakeup也需要启用。

相关内容