I’ve got a Lenovo ThinkPad T480 running Ubuntu 22.04 LTS, a Lenovo ThinkPad X1 Carbon running NixOS, and a USB Device with vendor ID 0x36dc. The USB Device is capable of remote wakeup USB Resume Signalling, per USB Specification Revision 2.0, section 7.1.7.7, and confirmed by a TotalPhase USB signal analyzer.
I have the following udev rule on both laptops: ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="36dc", MODE:="0660", TAG+="uaccess", ATTR{power/wakeup}="enabled"
.
The Ubuntu laptop does not wake from sleep when receiving the remote wakeup signal. The NixOS laptop does.
The Ubuntu laptop has enabled
in /sys/bus/usb/devices/<PORT>/power/wakeup
for any port I plug the Device into, so the udev rule is clearly working. /proc/acpi/wakeup
shows enabled
for the XHC
device which has the same PCI path as the USB controller the Device is plugged into.
What else could be preventing the Ubuntu laptop from waking up?