bluetooth unavailable after 10.10.4 update (and possible workaround)
After 10.10.4 update on my iMac (Late 2013), Bluetooth status icon says "Bluetooth: Not Available". Apple wireless keyboard works fine, and the trackpad works like it's a mouse -- and gets its settings from the mouse settings. Bluetooth pref pane shows both are not paired, and I'm unable to turn bluetooth on.
SMC reset didn't help. Combo updater didn't help. NVRAM/PRAM reset didn't help.
Here's what the console is saying:
6/30/15 8:11:32.000 PM kernel[0]: [IOBluetoothHCIController][start] -- completed
6/30/15 8:11:59.000 PM kernel[0]: IOBluetoothUSBDFU::probe
6/30/15 8:11:59.000 PM kernel[0]: IOBluetoothUSBDFU::probe ProductID - 0x828D FirmwareVersion - 0x0103
6/30/15 8:11:59.000 PM kernel[0]: IOBluetoothUSBDFU::start
6/30/15 8:11:59.046 PM IOBluetoothUSBDFUTool[252]: 4.3.5f8, Copyright © 2002-2015 Apple Inc. All rights reserved.
6/30/15 8:11:59.046 PM IOBluetoothUSBDFUTool[252]: IORegistry idProduct 0x828D
6/30/15 8:11:59.047 PM IOBluetoothUSBDFUTool[252]: IORegistry bcdDevice 0x0103
6/30/15 8:11:59.051 PM IOBluetoothUSBDFUTool[252]: switch to DFU mode
6/30/15 8:12:00.124 PM IOBluetoothUSBDFUTool[252]: Could not get IOBluetoothUSBDFU service
6/30/15 8:12:01.190 PM IOBluetoothUSBDFUTool[252]: Could not get IOBluetoothUSBDFU service
6/30/15 8:12:02.259 PM IOBluetoothUSBDFUTool[252]: Could not get IOBluetoothUSBDFU service
6/30/15 8:12:02.000 PM kernel[0]: **** [IOBluetoothHCIController][SearchForTransportEventTimeOutHandler] -- Missing Bluetooth Controller Transport!
6/30/15 8:12:03.326 PM IOBluetoothUSBDFUTool[252]: Could not get IOBluetoothUSBDFU service
6/30/15 8:12:13.000 PM kernel[0]: IOBluetoothUSBDFU::start
6/30/15 8:12:13.724 PM IOBluetoothUSBDFUTool[252]: IORegistry idProduct 0x828D
6/30/15 8:12:13.724 PM IOBluetoothUSBDFUTool[252]: IORegistry bcdDevice 0x0103
6/30/15 8:12:13.726 PM IOBluetoothUSBDFUTool[252]: CFPreferences idProduct 0x828D
6/30/15 8:12:13.726 PM IOBluetoothUSBDFUTool[252]: BoardIDTable idProduct 0x828D
6/30/15 8:12:13.726 PM IOBluetoothUSBDFUTool[252]: filename /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/IOBluetoothU SBDFU.kext/Contents/Resources/20702_828D.dfu
6/30/15 8:12:13.726 PM IOBluetoothUSBDFUTool[252]: DFUFileSuffix 0x0106 0x828D 0x05AC 0x0100 0x554644 0x10 0x5589CF50
6/30/15 8:12:20.467 PM IOBluetoothUSBDFUTool[252]: Could not USB DFU get status for device 0x7fa54b800150 with error 0xE0004051
6/30/15 8:13:20.566 PM com.apple.xpc.launchd[1]: (com.apple.IOBluetoothUSBDFU[252]) Service exited with abnormal code: 1
Given this, I unplugged a "working fine under 10.10.3" third-party USB WiFi device and its driver from /System/Library (RT2870USBWirelessDriver.kext), and reset SMC again. No luck. Then I unplugged *all* USB devices (scanner, hub etc) and Thunderbolt devices except the external monitor, and did another SMC reset. Bluetooth is back and trackpad is working as before. I haven't yet tracked down the cause, but it seems there's an interaction between USB and Bluetooth devices.