14

I've already spent many hours with this and I wasn't able to come up with a solution. Since 10.14.x (I don't remember exactly, currently on 10.15.2) I am have been having this issue (and console flooded with the following message and bluetoothd causes CPU usage of 40-120 %, too) :

bluetoothd     EVENT:  ModeChange
bluetoothd  == IOBluetoothBroadcomSchedulerWorkaround start
bluetoothd  USBProductID 0x7B   USBVendorID 0x5AC
bluetoothd  schedularWorkaroundActive? 0
bluetoothd  active? 0
bluetoothd  == IOBluetoothBroadcomSchedulerWorkaround end
bluetoothd     EVENT:  ModeChange
bluetoothd  Apple HID device count: 0
bluetoothd  updateAppleHIDConnectionIntervals - connectedAppleDevices 0
bluetoothd  updateAppleHIDConnectionIntervals - twoSniffAttemptDeviceCount 0
bluetoothd  updateAppleHIDConnectionIntervals - connectedSCODeviceCount 0
bluetoothd  Dont enable MSS for this device Microsoft Sculpt Comfort Mouse
bluetoothd  == IOBluetoothBroadcomSchedulerWorkaround end

Happens with a Microsoft Sculpt Comfort Mouse and two different (Logitech) mouses, too. Any ideas what I could try? I've already tried deleting plists, NVRAM, reseting SMC, booting into Safe Mode, reseting BT setting in macOS… Thanks!

More details: Machine specs are: MBP 13" 2018 (2.3/16/512). Apart from this, bluetooth connection drops randomly and the issue occurs both with Wi-Fi on and off and the USB-C dock connnected and disconnected.

9
  • It also happens to me with ThinkPad BT Keyboard (with TrackPoint, aka a mouse), on either of my Mac. It does not happen when I disconnect the TP keyboard and using Logitech K480 (pure keyboard). (mac1: 2016 12", freshly-installed Catalina;; mac2: 2019 13"Pro, Catalina upgraded from Mojave)
    – amdyes
    Commented Dec 23, 2019 at 5:50
  • 1
    Apple is still investigating the issue and they haven't come up with anything yet.. :|
    – tantin
    Commented Feb 22, 2020 at 15:08
  • @amdyes I don't know whether you are notified if a question is aswered. This settings seems to fix it. Use the Bluetooth Explorer from XCode Dev tools to set it this way (see the answer).
    – tantin
    Commented Mar 25, 2020 at 0:53
  • 1
    @amdyes persists in the final release of the Big Sur :-((
    – tantin
    Commented Nov 13, 2020 at 2:27
  • 1
    … Persists in 11.2 …
    – tantin
    Commented Feb 2, 2021 at 19:50

5 Answers 5

10

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+.

6
  • How did you bring this window up?
    – gen
    Commented Apr 4, 2020 at 21:12
  • @gen It's Bluetooth Explorer (part of the XCode companion tools available at Apple website to download). Then there: (menubar) Devices -> Connection list -> select -> Link Policy -> Uncheck. It seems to last only for the current session, if the device goes asleep, you have to repeat this process.
    – tantin
    Commented Apr 4, 2020 at 21:46
  • Thanks for this post, I found the app in the end and it did help bring down the CPU levels! And yes, it only seems to last for the session. Thanks again :)
    – gen
    Commented Apr 5, 2020 at 10:53
  • Just in case anyone else hits this issue, Bluetooth Explorer doesn't open a window when you run it, it just has a menu bar. See @tantin's comment above
    – Nick Evans
    Commented Jun 24, 2020 at 12:23
  • Could anyone make a cmdline program to disable sniff mode (instead of a GUI macro)? These libs might be useful PureSwift/Bluetooth, PureSwift/BluetoothDarwin.
    – amdyes
    Commented Dec 3, 2020 at 11:36
4

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.

3
  • 1
    Hooray. Finally. Killing bluetoothd wasn't solution for me as this means killing for example bluetooth audio or other thing and it reoccurs again after some time.
    – tantin
    Commented Jul 8, 2020 at 15:09
  • I've updated to 10.5.6 (final release). Unfortunately the issue still persists for me. @Housemd
    – tantin
    Commented Jul 17, 2020 at 19:27
  • 10.15.7 – No fix. Hopefully 11.0 will fix that. :-(
    – tantin
    Commented Oct 4, 2020 at 23:40
3

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.

3
  • 2
    Verified with my two ThinkPad Bluetooth Keyboards (gen 1 BT 3.0, gen 2 BT 5.0). The keyboard has a track point on it which works like a mouse.
    – amdyes
    Commented Mar 3, 2021 at 12:34
  • My MS Sculpt Comfort Mouse died, so I'll be able to verify that (have bought a BT 5.0 mouse, thx!) tomorrow.
    – tantin
    Commented Mar 11, 2021 at 20:39
  • Verified. No issue with BT 5.0 mouse. :-)
    – tantin
    Commented Mar 12, 2021 at 18:13
2

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.

1
  • You are not the only one, it still persists for me, too… both the CPU and (a little bit reduced in volumes) the flooded log.
    – tantin
    Commented Jul 17, 2020 at 19:28
2

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 :)
6
  • I'd tried that once, didn't help. I've tried it one once again. No change for me. Nonetheless, thanks!
    – tantin
    Commented Dec 18, 2020 at 23:44
  • @tantin could you share the symptoms regarding bluetoothd and cfdprefd on your system?
    – caenrigen
    Commented Dec 19, 2020 at 17:12
  • @tatin try resetting the SMC (search google support website) as well after step 9
    – caenrigen
    Commented Dec 19, 2020 at 17:15
  • As for symptoms: See the original post…
    – tantin
    Commented Dec 20, 2020 at 18:19
  • @tantin so that means cfdprefd is not an issue for you? only the bluetoothd consuming a lot of CPU ? Unfortunately I do not remember taking any other steps that could help :(
    – caenrigen
    Commented Dec 21, 2020 at 19:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .