Bluetooth keyboard excessive battery drain

A month ago I bought a Logitech K380 bluetooth keyboard. It works well for me except the batteries died just short of 2 weeks. According to Logitech’s website they should last 2 years of typical office use, and the vast majority of reviewers find this to be the case! I figured it was likely a hardware fault, so I returned the keyboard and got a new identical keyboard. This time, I tracked the power level daily, and found it’s on track to run out of battery in a similar number of days.

Given the vast number of people who have good experiences with the keyboard, I’m wondering if there could be an issue with the way bluetooth is implemented in Fedora. E.g. could Bluetooth be unnecessarily pinging the keyboard and stopping sleep functionality, or something like that? How would I diagnose this?

1 Like

I am using the logitech K350 keyboard with the logitech unifying receiver and I usually get 2 to 3 months on the batteries.

I suspect the rapid drain is due to bluetooth, and not necessarily directly because of fedora. Like wifi, bluetooth has a limited number of rf bands it uses, and the more devices in use the busier the rf in those bands so the more each device has to search for its paired device.

Have you noted that your phone battery drains faster when you are in an area where service is limited or non-existent? If there is no good service connection the phone has to constantly ping for a tower to get service which drains the battery faster. Bluetooth devices work similarly in that when the paired partner is in contact they are happy, and if they don’t have contact with the partner then they constantly search. Weak signals with intermittent drops and reconnects are one of the causes of this condition.

It may be a failing of fedora as you suspect, or it may be due to other conditions that interfere with the signal.

On my laptop I can see the bluetooth device

$ rfkill --output-all
ID TYPE      DEVICE TYPE-DESC         SOFT      HARD
 0 bluetooth hci0   Bluetooth    unblocked unblocked
 1 wlan      phy0   Wireless LAN unblocked unblocked

but do not know what can tell you the signal strength of the bluetooth device, nor indicate if there is a lost or intermittent connection. Possibly journalctl | grep -iE "hci0|bluetooth" may give you some info, especially in cases where there are frequent connects and disconnects. (Note that the ‘hci0’ is my bluetooth device and may not be the same as yours)

I have a Logitech bluetooth mouse too, so that’s why there are two devices shown. The mouse has so far remained at 100% charge for the past 4 weeks and works flawlessly.

`$ rfkill --output-all

ID TYPE DEVICE TYPE-DESC SOFT HARD
0 bluetooth tpacpi_bluetooth_sw Bluetooth unblocked unblocked
2 wlan phy0 Wireless LAN unblocked unblocked
10 bluetooth hci0 Bluetooth unblocked unblocked`

The K380 only has bluetooth, no unifying receiver. So the quoted 2 year battery life is supposedly achievable using a bluetooth connection. I also have a K400 keyboard connected using a 2.4 GHz USB receiver to my HTPC - that does probably get close to the quoted 1.5 year battery life.

journalctl | grep -iE "hci0|bluetooth"
this generates a long list of errors going back several months. The vast majority of them are either:
Mar 03 15:40:06 localhost.localdomain wireplumber[2629]: [string "policy-bluetooth.lua"]:121: bad argument #1 to 'find' (string expected, got nil) [string "policy-bluetooth.lua"]:121: in upvalue 'isBluez5AudioSink' [string "policy-bluetooth.lua"]:389: in function <[string "policy-bluetooth.lua"]:387>

or:
Mar 04 10:42:49 localhost.localdomain vivaldi-hnpfjngllnobngcgfapefoaidbinmjnm-Default.desktop[212876]: [212870:212911:0304/104249.774606:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328.

Both errors look like they’re occurring 5-10 times/day. So quite a lot, but they don’t look like runaway processes pinging the keyboard every few seconds either…

Sorry, for some reason my formatting is way off, and I can’t see how to edit my post to fix it!

Use the </> button on the top of the edit window and paste the content between the tags, with the tag on the line by itself both before and after the text to retain the formatting. The tag on the same line does not retain the formatting.

The audio and chrome browser errors you posted are not likely to affect the keyboard battery life.