I have a Lenovo ThinkPad E15 that came with Windows 10 installed. I added Ubuntu 22.04.1 as an option (dual-boot).
Whenever the laptop sleeps (goes into a "suspend" state) and then later I wake it up, the Logitech wireless mouse scroll wheel doesn't work. ("Logitech MK270 Wireless Keyboard and Mouse Combo", but the only thing that doesn't work is the scroll wheel.)
I already asked about this problem, and I gave a bounty for an answer that helped me make progress but didn't fully solve it.
Currently the result of cat /etc/systemd/system/reset-usb-upon-wake@.service
is:
[Unit]
Description="Reset a USB device after system resume"
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
[Service]
Type=simple
ExecStart=/usr/bin/usbreset %i
User=root
Group=root
[Install]
WantedBy=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target
When I wake the computer, the mouse scroll wheel doesn't work.
I run sudo systemctl status reset-usb-upon-wake@046d:c534.service
and see:
○ reset-usb-upon-wake@046d:c534.service - "Reset a USB device after system resume"
Loaded: loaded (/etc/systemd/system/reset-usb-upon-wake@.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Then I run sudo systemctl start reset-usb-upon-wake@046d:c534.service
, and the result is:
- It prints a bunch of empty newlines to the terminal infinitely until I cancel out of the command. ♀️
- After exiting that command, my scroll wheel works again.
sudo systemctl status reset-usb-upon-wake@046d:c534.service
still shows "inactive (dead)".
I also tried sudo systemctl enable reset-usb-upon-wake@046d:c534.service
, but the status still shows as dead after running that too.
How can I completely fix this problem so that I never have to think about my scroll wheel and it always works, even after waking from sleep?
P.S. I also tried sudo vim /etc/udev/rules.d/99-usbreset.rules
and saving these lines to that new file:
# Reset Logitech wireless mouse on resume from sleep
SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c534", RUN+="/usr/bin/usbreset %p"
P.P.S. In response to an answer:
lsusb && lsmod | grep usbhid
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 008: ID 27c6:55a4 Shenzhen Goodix Technology Co.,Ltd. Goodix FingerPrint Device
Bus 003 Device 006: ID 30c9:0014 Luxvisions Innotech Limited Integrated Camera
Bus 003 Device 039: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 003 Device 038: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 003 Device 040: ID 0d8c:0014 C-Media Electronics, Inc. Audio Adapter (Unitek Y-247A)
Bus 003 Device 037: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 003 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 003 Device 004: ID 0451:82ff Texas Instruments, Inc.
Bus 003 Device 002: ID 0451:8442 Texas Instruments, Inc.
Bus 003 Device 009: ID 8087:0026 Intel Corp. AX201 Bluetooth
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 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
usbhid 65536 1 hid_logitech_dj
hid 151552 7 i2c_hid,hid_cmedia,usbhid,hid_multitouch,hid_generic,hid_logitech_dj,hid_logitech_hidpp
UPDATE 2:
lsmod | grep hid_logitech_dj && lsmod | grep hid_logitech_hidpp
hid_logitech_dj 28672 0
usbhid 65536 1 hid_logitech_dj
hid 151552 7 i2c_hid,hid_cmedia,usbhid,hid_multitouch,hid_generic,hid_logitech_dj,hid_logitech_hidpp
hid_logitech_hidpp 49152 0
hid 151552 7 i2c_hid,hid_cmedia,usbhid,hid_multitouch,hid_generic,hid_logitech_dj,hid_logitech_hidpp