我有两个键盘。
- 对于 Coolermaster,我可以通过添加 udev 规则来防止键盘将 PC 从睡眠状态唤醒。
- 对于 Rii RK908,我无法进行相同的更改,我不知道为什么。
- 我已经使用 Coolermaster 多年了,Rii 是一款新键盘。
- Ubuntu 22.04 LTS
- udev 规则具有相同的文件权限。
- 当我在同一端口之间交换键盘时,问题似乎不是 USB 端口。
- 我尝试过不同的 USB 端口并遇到相同的问题。
Coolermaster Strom QuickFire 快速
lsusb 给出:Bus 002 Device 005: ID 2516:0004 Cooler Master Co., Ltd. Storm QuickFire Rapid Mechanical Keyboard
udev 规则为:ACTION=="add"、SUBSYSTEM=="usb"、DRIVERS=="usb"、ATTRS{idVendor}=="2516"、ATTR{power/wakeup}="disabled"
瑞伊RK908
lsusb 给出:总线 002 设备 004:ID 1a2c:99f4 华润半导体有限公司 USB 游戏键盘
udev 规则为:ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="1a2c", ATTR{power/wakeup}="disabled"
根本问题 我试图解决的根本问题是在让电脑进入睡眠状态后,如果我插入了 Rii 键盘,那么它会在一段时间(例如 30 分钟)后自动唤醒电脑。我用酷冷至尊从来没有遇到过这个问题。
所以我想做以下操作之一:
- 允许 Rii 键盘唤醒 PC,但仅当我按下某个键时才允许。
- 即使我按下某个键(即我必须使用电源按钮),也可以防止 Rii 键盘唤醒电脑。
我做错了什么吗,我还能尝试什么?
参考文献: 使用 udev 规则来自:永久更改“/proc/acpi/wakeup”
编辑:我添加了输出 更多/proc/acpi/唤醒插入键盘后。两个键盘的输出相同(一次仅插入 1 个键盘)。设备 S-state 状态 Sysfs 节点
PS2K S3 *禁用
PS2M S3 *禁用
P0P1 S4 *禁用
USB1 S3 *禁用
USB2 S3 *禁用
USB3 S3 *禁用
USB4 S3 *禁用
USB5 S3 *禁用
USB6 S3 *禁用
USB7 S3 *禁用
RP01 S4 *禁用 pci:0000:00:1c.0
PXSX S4 *禁用
RP02 S4 *禁用
PXSX S4 *禁用
RP03 S4 *禁用 pci:0000:00:1c.2
PXSX S4 *启用 pci:0000:03:00.0
RP04 S4 *禁用
PXSX S4 *禁用
RP05 S4 *禁用 pci:0000:00:1c.4
PXSX S4 *禁用 pci:0000:04:00.0
RP06 S4 *已禁用
PXSX S4 *禁用
RP07 S4 *禁用
PXSX S4 *禁用
RP08 S4 *禁用
PXSX S4 *禁用
PEG0 S4 *禁用 pci:0000:00:01.0
PEGP S4 *禁用
PEG1 S4 *禁用
PEG2 S4 *禁用
PEG3 S4 *禁用
GLAN S4 *禁用
EHC1 S4 *启用 pci:0000:00:1d.0
EHC2 S4 *启用 pci:0000:00:1a.0
XHC S4 *禁用
HDEF S4 *禁用 pci:0000:00:1b.0
PWRB S3 *启用平台:PNP0C0C:00
答案1
问题是 acpi 控制器,解决方案是禁用 EHC1,如 Marcus Müller 的评论中所建议的。非常感谢您的帮助。
在 /proc/acpi/wakeup 中,EHC1 最初被启用: EHC1 S4 *enabled pci:0000:00:1d.0
我使用以下命令将其从启用切换为禁用回声 EHC1 | sudo tee /proc/acpi/wakeup
当我让电脑处于睡眠模式过夜时,第二天早上它仍然处于睡眠模式,这解决了我的问题。