macOS Catalina blueoothd high CPU IOBluetoothBroadcomSchedulerWorkaround issue

I've found a workaround: I've figured out MSS probably means Master-Slave-Switch. That didn't suffice to fix the issue. But disabling sniff mode resolves the issue. It seems that some energy management code doesn't work properly. enter image description here

The cause of the issue traced down: Apple has a bug within BT3.0 Stack. This issue is not happening with anything BT4.0+.


This is fixed in 10.15.6 beta 3, and for now, this is my workaround - force killing the process in activity monitor.

"Activity Monitor" into Spotlight -> CPU -> find bluetoothd -> Force Quit.

Apart from the obvious CPU usage drop, you can also confirm this worked via the console with bluetoothd (no extra params) and see how the log has drastically quieted down.


I'm sorry to say that 10.15.6 does not solve the CPU issue (at least for me), though the logs seem to have quietened down.

While we wait for this to be resolved properly, I've actually automated turning off "Sniff Mode" via Bluetooth Explorer using Keyboard Maestro. Download this file and save it as "Fix Bluetooth Mouse.kmmacros".

When you've installed it into Keyboard Maestro, simply press Control+Shift+1 every time you hear your Mac's fan go into overdrive (which happens when the CPU spikes due to this bug).

Note you'll need to install Bluetooth Explorer first.


In case someone is still facing this issue, I was able to solve this issue on my macOS Mojave 10.14.6 with tips from this answer

It seems that when you upgrade the operating system (maybe also when just installing updates):

bluetooth settings are backed up and are read by the system

Indeed this seemed to be the case on my system.

Symptoms

It is likely that both processes bluetoothd and cfdprefd are consuming extreme CPU processing power (>>1%). Please confirm before and after trying the solution below.

In my case my fan was always running almost at full power and CPU getting to 100ºC. Now I am writing this with CPU at 50ºC while using a Magic Mouse, Magic Keyboard and a bluetooth headset.

Step-by-step solution

  1. If possible, turn off bluetooth on the mac and all the bluetooth devices previously connected to this mac (that are in the detection range of the mac)
  2. Open a Finder window
  3. Hit cmd+shift+g
  4. Paste /Library/Preferences/ and hit enter
  5. Hit cmd+f and paste com.apple.Bluetooth
  6. Carefully select all the files whose names start with com.apple.Bluetooth and contain .plist (likely at the end or before some random characters)
  7. Move the files to Trush (cmd+backspace)
  8. Repeat steps 2-7 replacing /Library/Preferences/ with ~/Library/Preferences/ in step 3
  9. Back up all your work, close all apps, and shut down your mac
  10. Reset the PRAM, following the official instructions (Just hold cmd+alt+p+r right after pressing the power button and hold these keys until the mac restarts twice, i.e. you hear booting sound twice or see the logo twice).
  11. After booting up open Preferences --> Bluetooth and remove all the devices that might still show up in there.
  12. Restart the mac
  13. After restart try to pair your bluetooth devices again. Things now should just work as expected.
  14. Be kind to someone today :)

My answer: The only solution (besides the workaround with bluetooth explorer) I have found so far is switching to a bluetooth device which uses BT 4.0 or above.

And here some background findings:

  • MS Sculpt Comfort Mouse and other BT 3.x devices are affected by this macOS bug

  • MS Surface Mobile Mouse (BT 4.x) and probably other BT 4.x/5.x hardware is not affected

  • the problem disappeared on my M1 Mac Mini during Big Sur 11.0 and 11.1, but as soon as Apple "fixed" its Bluetooth issues with 11.2, the problem reappeared.