SUMMARY *** Right at the beginning it should be noted that this is not a typical bug report. However, the resulting consequences of the here described faulty "USB auto suspend functionally" can be significant. So what's the problem? In short, it looks that on certain systems the "USB auto suspend functionality" is triggered too aggressively with the result that all Bluetooth devices became non-functional. I have noticed this first at a BT 4.0 upgraded iMac computer. The Apple Magic Mouse was working normally under Mac OS and Windows but it stopped the operation from time to time under Linux (Kubuntu 18.04 and 20.04). Regardless which BT setting was tried, nothing helped. The whole situation became then even more annoying when I bought an Apple Magic Mouse 2 which uses BT LE 4.0. And finally, after a new switch to an even newer Logitech MX Master 3 mouse the situation became totally unbearable. The mouse always became reproducible inactive after the automatic screen-locker was enabled and on the same time the Bluetooth controller was out of unknown reasons disabled. I have tried again to alter several Bluetooth related settings (like mentioned in Bug 440493) but nothing helped. Finally I was able thanks to askUbuntu and a very helpful ArchLinux user to identify the underlying problem which was in the end not Bluetooth but USB related. It looks that the "USB auto suspend feature" doesn't work as expected with certain BT LE devices. More Information can be found at the following askUbuntu link: https://askubuntu.com/questions/1303731/how-to-change-bluetooth-timeout-settings-for-bluetooth-mouse The summarized solution: Check the USB BT controller information and look for the ID: lsusb -vt Mine is: |__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/3p, 12M ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) Edit the following file: sudo nano /etc/udev/rules.d/50-usb_power_save.rules Add the following content: ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="4500", ATTR{idProduct}=="0a5c", ATTR{power/autosuspend}="-1" Reboot and enjoy a perfect working BT environment! ;-) *** STEPS TO REPRODUCE 1. Buy a Logitech MX Master 3 mouse 2. Connect it under a Kubuntu version like 20.04 (Note, newer releases have an additional MX Master 3 mouse related problem with the BlueZ stack) 3. The mouse is too aggressively triggering the BT controller into USB autosuspend mode OBSERVED RESULT The mouse stopped responding after the automatic screen-locker non-responsive became active. The BT controller is automatically disabled when this happens. EXPECTED RESULT The BT controller must not be switched off every time when a BT LE devices triggers the "USB auto suspend functionality". SOFTWARE/OS VERSIONS Linux/KDE Plasma: 5.13.0-52-generic (available in About System) KDE Plasma Version: 5.18.8 KDE Frameworks Version: 5.68.0 Qt Version: 5.12.8 ADDITIONAL INFORMATION This problem also occurs in conjunction with the Logitech MX Master 3 mouse under Windows. It can be fixed there by disabling the corresponding USB autosuspend feature (of the BT controller) in the device manager.
A short addition, I can confirm that this USB auto suspend tweak also works for an Acer Aspire One 721 Netbook which was upgraded with an Intel 7260 AC BT 4.0 WiFi card. The used mouse model was a Logitech MX Anywhere 3. The original behavior on this system was that the reaction of the mouse became reproducible laggy. Usually that happened after a short time of inactivity so when the mouse was not used for a moment. But in contrast to the first scenario the BT controller was in that case not always automatically disabled. In short, - the above mentioned USB auto suspend feature disable tweak also fixed the laggy symptom of an Logitech MX Anywhere 3 mouse in conjunction with an Intel 7260 BT 4.0 controller. So it would really make sense to have somewhere in the UI an option to disable the USB auto suspend feature on the BT controller. ;-)
I'm afraid this is a distro setup problem; we can't override it here unfortunately. If we did, the distro would override our override and win. FWIW, it's also fixable on the distro's side too. Here's what we do in KDE Linux: https://invent.kde.org/kde-linux/kde-linux/-/blob/master/mkosi.extra/usr/lib/disable-usb-autosuspend-for-input-devices And then that gets invoked after we run powertop --auto-tune here: https://invent.kde.org/kde-linux/kde-linux/-/blob/master/mkosi.extra/usr/lib/systemd/system/kde-linux-powertop.service