21

A bluetooth device that is not mine nor under my control asks my computer to pair, about every minute or so.

Interestingly, it's fairly effective as a DOS attack actually.

Disabling my BT is not an option, since I need it for my BT devices.

I want to tell OSX to ignore this particular BT device, but I can't figure out how.

12
  • Is it your device?
    – Ruskes
    May 9, 2013 at 8:48
  • 1
    Good question. No, it is not.
    – user50849
    May 9, 2013 at 10:38
  • If the device is attached to a person who owns it, why don't you ask that person to take care of the problem. BTW/ what kind of device is it?
    – IconDaemon
    May 9, 2013 at 11:09
  • In my particular situation, that's not a problem. The problem even worked it self out already as a different computer nearby was turned on, and the device (a keyboard) happily attached itself to that computer instead. But assume this isn't feasibly. I'm in a cafe where I don't know which device it is, or I have complete control over all devices, but a Bluetooth implementation is buggy and I can't make it behave properly.
    – user50849
    May 9, 2013 at 11:41
  • There could also be real malicious intent behind the behavior. Like the question says, this works as a DOS-attack, as the window that pops up steals focus from whatever else the user is currently doing.
    – user50849
    May 9, 2013 at 12:17

5 Answers 5

9

The GUI way

Press and hold together the Option + Shift ( + ) and the click the Bluetooth icon in the topbar.

A Debug submenu will appear as shown below: macos reset bluetooth

You get the options to Remove all devices and Factory reset all connected Apple devices — pick whichever you need.

The terminal way

Open terminal and type:

  1. sudo rm /Library/Preferences/com.apple.Bluetooth.plist Enter
  2. rm ~/Library/Preferences/com.apple.Bluetooth.plist Enter
  3. Reboot OSX.

The commands above will remove the MAC addresses of the 'remembered' bluetooth devices from the systems settings. If you want to have a look at the actual contents of those files copy the original file to a user-writable folder and then do:

plutil -convert xml1 com.apple.Bluetooth.plist,

and then open it with a text editor (it is an XML file).

To convert it back to binary use

plutil -convert binary1 com.apple.Bluetooth.plist.

3
  • 2
    That looks promising, but any sort of details about what it does would be good. :)
    – user50849
    Apr 7, 2014 at 9:19
  • My changes to this plist get reverted by OS X all the time :/ (macOS Sierra 10.12.2)
    – rdrey
    Jan 16, 2017 at 20:15
  • This doesn't work. New devices still get added to the plist somehow. How is it possible that a Bluetooth device can successfully connect to a Mac without going through pairing? This is a successful attack vector that it seems everybody is ignoring.
    – D Mac
    Jul 26, 2019 at 17:18
8

Inspired by @ccpizza's answer.

Open terminal and type:

  1. sudo plutil -convert xml1 /Library/Preferences/com.apple.Bluetooth.plist
  2. Find the MAC address of the offending Bluetooth device. You can find it by searching /Library/Preferences/com.apple.Bluetooth.plist.
  3. Add this section to the plist:

    <key>IgnoredDevices</key>
    <array>
            <string>ff-ff-ff-ff-ff-ff</string>
    </array>
    

Where FF:FF:FF:FF:FF:FF is the MAC address of the offending Bluetooth device.

  1. sudo plutil -convert binary1 /Library/Preferences/com.apple.Bluetooth.plist
  2. Reboot OS X if necessary.
4
  • 1
    does not work for me. when I restart the bluetooth and check the file, the ignored devices is empty again Oct 30, 2014 at 18:59
  • I could not convert it back, did same as here: /Library/Preferences/com.apple.Bluetooth.plist: Property List error: Close tag on line 924 does not match open tag array / JSON error: JSON text did not start with array or object and option to allow fragments not set.
    – sevenfourk
    May 10, 2017 at 13:06
  • Is it necessary to convert the plist back to binary format? I've never done, although I've also never edited this specific one... Mar 10, 2019 at 2:26
  • @wowfunhappy I think it is necessary, but if you check out edo42's answer below, using defaults write will do this without having to hand-edit the plist.
    – wjl
    Mar 13, 2019 at 14:53
7
  1. Find the MAC address of the culprit Bluetooth device
  2. Disable Bluetooth
  3. Type sudo defaults write /Library/Preferences/com.apple.Bluetooth.plist IgnoredDevices -array-add '<ENTER MAC ADDRESS HERE>' in the terminal
  4. Enable Bluetooth again
2
  • 4
    After enabling Bluetooth the IgnoredDevices array is empty again for me. El Capitan 10.11.5 (15F34).
    – mgol
    May 24, 2016 at 15:41
  • Doesn't work. A new device (with a different and new MAC addr) gets into the plist a few minutes later.
    – D Mac
    Jul 26, 2019 at 17:18
1

Unfortunately cant comment here. I need to hide neighbours BT devices. None of this worked on MacOS 12. It's an old OS so shouldn't be complicated. I look at the com.apple.Bluetooth.plist file every time I did the changes as per instructions but the issue is the section where is supposed to include the ignored list of addresses stays blank. So I even used PlistEdit and manually edited that file by following the format required and then copied the plist back to Preferences folder and changed back permissions all correct.

Once I enabled Bluetooth again, the file was overwritten in front of my eyes by the original file so the Ignored list became again empty.

I am wondering if I need to temporary turn off System Integrity Protection? Could this be the reason the file gets restored back?

Or am I supposed to do in this sequence:

  1. turn of bluetooth
  2. edit the file / change permissions correctly
  3. reboot
  4. turn on bluetooth?

I spent quite a bit time with this so far, so before I continue fooling around even more, I need to ask if any of these additional steps are what would make sense to get the edited file to load.

That's what I am seeing regarding similar issues but not sure if this will work here.

0

I came across this post because I saw a mysterious Android device connecting and disconnecting with my desktop Mac and I wanted to figure out how to block it because I have no idea how my computer had allowed it to pair originally.

Anyway, none of the above solutions worked for me (although I didn't try the nuke all pairing information option) for the same reasons others cited, but I tried a slightly different approach:

  1. Turn off your Mac's Bluetooth
  2. Run sudo defaults write ~/Library/Preferences/com.apple.Bluetooth.plist IgnoredDevices -array-add '<MAC_ADDRESS_HERE>' to add the device's MAC address to the user copy of the com.apple.Bluetooth.plist file instead of the system copy. You can run sudo defaults read ~/Library/Preferences/com.apple.Bluetooth.plist IgnoredDevices to see that it was added.
  3. Turn on your Mac's Bluetooth
  4. Run sudo defaults read ~/Library/Preferences/com.apple.Bluetooth.plist IgnoredDevices again to confirm that the added MAC address stuck after Bluetooth was re-enabled.

It's been a few hours since I did this and I haven't seen any sign of the mysterious Android phone reconnecting with my Mac (I had stumbled upon a way to see how many times the mystery device connected with my computer).

1
  • Well the mystery device tried to reconnect a few times since posting my above answer, but it's doing so with different MAC addresses so now I need to figure out if I can block a device by its name. But it was not with the MAC address I blocked
    – webbower
    Jun 21, 2020 at 18:59

You must log in to answer this question.

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