I'm having a strange issue with Bluetooth on my MacBook Pro. Sometimes, if I for any reason lose the connection to a bluetooth device (move out of range, interference - anything), even momentarily, the following weird things happen:
1. I cannot shut off bluetooth power — If I hit "turn bluetooth off" the button greys out but Bluetooth is still labeled as being on. Bluetooth devices will not connect when bluetooth is in this "half-off" state.
2. The machine cannot be put to sleep. Selecting sleep from the menu does absolutely nothing, as does closing the lid.
3. The machine cannot be shut down. Selecting shut down simply leaves me at a blue screen with the spinning progress indicator forever.
I have a hard time reproducing this one. It does not occur if connections to bluetooth device are lost shortly after a restart. All I can say is that if the machine has been on for awhile and a connection to any bluetooth device is lost, all the above symptoms appear. I have not been able to find any process chugging CPU or hogging RAM during this weirdness. Also, the problem does not occur if I manually shut off the bluetooth power — only when device connections are lost while Bluetooth is active.
UPDATE: When this happened today, I decided to try something new. Bluetooth was stuck in the "half-off" state. I remembered that VMware Fusion allows you to reroute the Bluetooth Controller to the Virtual machine, which disables it entirely for the Mac OS. On a hunch, I launched Vmware and told it to use the Bluetooth host controller. What happened next was very weird: The machine immediately went to sleep. I was able to wake it up using the keyboard after a few seconds. It awoke normally, and I noticed that Bluetooth was now listed as disabled, and VMware was able to use the bluetooth controller. I proceeded to quit VMware. My bluetooth re-enabled fully on the mac OS side and I was able to disable and re-enable it without issues. Sleep and shutdown also now worked fine.
Now, although VMware seems able to fix the problem by sort of forcing the bluetooth system to reset, I have no reason to believe VMware is the culprit, as it installs no kernel extensions, and as far as I know, the only processes that run when VMware is not open are a few network processes of some sort, and nothing that appears to be related to Bluetooth. I can certainly try uninstalling Fusion (although i do use it regularly) if someone thinks it is likely to help.
So, it appears I can now temporarily fix the problem without doing a hard restart. This is an improvement, but the process is awkward and annoying. A solution would be greatly appreciated.