Why my USB mouse gets suspended after 3 seconds of inactivity?

Solution 1:

It's a very old question, related with laptop-mode, but I'll post my solution:

In Ubuntu 14.04 I edited /etc/laptop-mode/conf.d/usb-autosuspend.conf and change this lines to blacklist usbhid:

# The list of USB driver types that should not use autosuspend.  The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
## Old value: AUTOSUSPEND_USBTYPE_BLACKLIST=""
AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid"

In Ubuntu 12.04 I must to edit /etc/laptop-mode/conf.d/runtime-pm.conf and change this lines to blacklist usbhid:

# The list of device driver types that should use autosuspend.  The driver
# type is given by "DRIVER=..." in a device's uevent file.
# Example: AUTOSUSPEND_DEVTYPE_WHITELIST="usbhid usb-storage"
## Old value: AUTOSUSPEND_RUNTIME_DEVTYPE_WHITELIST=""
AUTOSUSPEND_RUNTIME_DEVTYPE_WHITELIST="usbhid"

You can also blacklist usb-storage! and you can also blacklist device by ID (AUTOSUSPEND_RUNTIME_DEVID_WHITELIST in Ubuntu 12.04 or AUTOSUSPEND_USBID_BLACKLIST in Ubuntu 14.04).

Then you'll need to restart laptop mode for the changes to take effect:

sudo /etc/init.d/laptop-mode restart

And then replug mouse. The mouse will not suspend again.

This works for me at work (ubuntu 12.04) and home (ubuntu 14.04).

Hope It helps :)

Solution 2:

I have the perfect solution!

If

for i in /sys/bus/usb/devices/*/power/control; do echo on > $i; done

works for you, but only once, edit /etc/laptop-mode/conf.d/usb-autosuspend.conf to replace :

CONTROL_USB_AUTOSUSPEND="auto"

by

CONTROL_USB_AUTOSUSPEND=0

It works for me.