Jun 2 3 How to fix continually reconnecting Bluetooth devices in macOS
Lately I've been having a problem with an Audio Bluetooth device (specifically, a Jabra Speak 510) that would keep reconnecting indefinitely to my MacBook Pro, a 16" model running macOS 11.1 Big Sur.
This Bluetooth device is slightly out of range, causing the system to drop the connection. Weirdly enough, it affected other devices connected, like an Apple Trackpad and Keyboard, causing them to behave erratically. When this device was re-connecting, keypresses wouldn't register on the keyboard and the cursor wouldn't move smoothly.
One would think this would be an easy fix: Disconnect the device in the Bluetooth preference pane in System Preferences.
However, clicking the little X when hovering over the device wouldn't do anything. The device would keep reconnecting.
Another way had to be found to forcefully remove the device.
Attempt 1: Remove All Devices
First, you can of course Shift-Option-click the Bluetooth icon in the Menu bar in order to "Remove all devices", or "Reset the Bluetooth module".
I tried both to no avail. (Interestingly enough, I had to re-pair my Apple keyboard and trackpad, but the device in question just connected without me having to do anything)
Attempt 2: Removing Bluetooth configuration files
Then I tried removing the Bluetooth preference files from the Mac's filesystem. First, disable Bluetooth, and then execute the following commands in Terminal.app:
sudo rm /Library/Preferences/com.apple.Bluetooth.plist
sudo rm ~/Library/Preferences/ByHost/com.apple.Bluetooth.*.plist
After running the commands, reboot your Mac and reenable Bluetooth.
These commands should delete both the global system's Bluetooth preferences and your users' bluetooth preferences.
However, the device kept reconnecting!
Attempt 3: Bluetooth Explorer to the rescue
I was pointed in the direction of the Mac developer utility Bluetooth Explorer, which can be freely downloaded off Apple's developer portal. Strangely enough, Apple seems to have discontinued this utility for the latest versions of XCode, but it seems the version from Xcode 11.4 still works.
This utility contains a lot of functions, but the one function I found that would help was disabling Simple Pairing, hidden under Debug Settings in the "Get Local Device Info" dialog (opened by Cmd-L.)
After disabling Simple Pairing, macOS suddenly started to prompt me for whether I wanted to connect to the device.
I could then check off the Ignore this device checkbox, and click Cancel to avoid pairing with the device.
Since then, the problem seems to have been resolved.
It is amazing to me that I needed to do this to resolve the issue. In my opinion, it's simply yet another story of how Apple's software quality is steadily declining.