Bug 456490 - Add an option in the UI to disable the "USB auto suspend feature" of the Bluetooth controller
Summary: Add an option in the UI to disable the "USB auto suspend feature" of the Blue...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_bluetooth (other bugs)
Version First Reported In: unspecified
Platform: Kubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: David Rosca
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-07-08 20:07 UTC by C. Leu
Modified: 2025-10-30 20:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description C. Leu 2022-07-08 20:07:49 UTC
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.
Comment 1 C. Leu 2022-07-14 17:52:19 UTC
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. ;-)
Comment 2 Nate Graham 2025-10-30 20:53:14 UTC
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