These days Linux supports a lot of devices. However, occasionally you will find device that works but only for a while, requiring reboot to work again. This is often due to device itself not behaving according to USB standard and that's more often than not caused by misbehaving USB suspend.
The proper way of fixing this would be either workaround in driver or, god-forbid, fix in device's firmware. But quite often nobody does anything so what's left is to do the improper. And easiest improper fix is to disable USB auto-suspend.
For command line just add usbcore.autosuspend=-1
to GRUB_CMDLINE_LINUX_DEFAULT
:
Terminalsudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[a-z ]*/& usbcore.autosuspend=-1/' /etc/default/grub
sudo update-grub2
reboot
Once system is up, you can check that value is indeed -1
(disabled).
Terminalcat /sys/module/usbcore/parameters/autosuspend
sudo nano /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
ACTION==”add”, SUBSYSTEM==”input”, TEST==”power/control”, ATTR{power/control}=”on”
sudo chown gdm:gdm /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
https://hackology.co.uk/2015/selective-usb-power-saving-linux-laptop/