Unresponsive keyboard/trackpad and intermittent Bluetooth on MacBook...possible internal USB problem?
I have a mid-2010 polycarbonate/white MacBook (model A1342) running OS X 10.6.8. My machine has been having issues with the internal Bluetooth and keyboard/trackpad randomly ceasing to function.
Bluetooth issue
As of recently (the past month or two), the Bluetooth adapter will completely disappear and eventually reappear on a random basis. It won't appear at all in System Profiler, and the BT menu says "not available". Also, I have had a few kernel panics recently, all of which were apparently thrown by a Bluetooth process/daemon/driver (unfortunately I forgot which one, and also lost the logs from the panics.)
My system has a Broadcom Bluetooth chip that's part of the AirPort card, but is basically just an internal USB device. The adapter has some sort of integrated USB hub ("BRCM2070 Hub"), which the "Bluetooth Module" device itself is connected to.
Nonetheless, this seems to be some sort of problem on the USB bus. Whenever there is a failure, I will almost always see output in Console showing USB errors (ie errors about "enumerating a USB device", "clearing port power", "setting port power", "getting port status", etc). It will either be on any of the ports of the hub at 0x6600000 (the "BRCM2070 Hub" that "Bluetooth Module" is connected to), or port 6 of the hub at 0x6000000 (BRCM2070's port on the internal bus, which the keyboard/trackpad is also connected to on port 3).
I can post more/longer ones, but here's a somewhat short example of the error messages I might receive:
11/18/12 3:18:36 PM kernel USBF: 7351.492 [0xcf9b300] The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying. (Port 6 of Hub at 0x6000000)
11/18/12 3:18:38 PM kernel USBF: 7353.987 AppleUSBHubPort[0xcf9b300]::FatalError - Port 6 of Hub at 0x6000000 reported error 0xe00002c7 while doing clearing port power feature
11/18/12 3:18:38 PM kernel USBF: 7353.987 [0xcf9b300] The IOUSBFamily was not able to enumerate a device.
11/18/12 3:20:20 PM blued[448] Apple Bluetooth daemon started
11/18/12 3:20:20 PM kernel USBF: 7456.186 [0x11fb1300] The IOUSBFamily is having trouble enumerating a USB device that has been plugged in. It will keep retrying. (Port 2 of Hub at 0x6600000)
11/18/12 3:20:20 PM kernel USBF: 7456.188 [0x11fb1300] The IOUSBFamily was not able to enumerate a device.
Keyboard/trackpad issue
There's also an issue where the internal keyboard/trackpad will randomly cease functioning (until I restart), often a couple of times a day as of recently. I've had this issue on rare occasion for a while now, but it's gotten more frequent. And more recently, the caps lock light on the keyboard occasionally turns itself on when I'm away.
Both the internal keyboard/trackpad as well as the Bluetooth "hub"/device are connected to the same USB bus/hub. When the keyboard/trackpad die, I've noticed that there will be very similar messages in Console to those above and usually a Bluetooth failure at the same time. (In some cases, it seems to notice that the keyboard/trackpad isn't responding, then attempts to reset/reinitialize it...ie log below.) What could the root cause be...could it be the USB "root" hub/bus causing one or both of these to fail, or possibly a problematic device causing the other to lose connection? I haven't had issues with USB devices on other buses failing, though (ie no problems with external devices.)
Maybe more out of curiosity than anything else, but I've been poking around for info on what might be going on with the USB (aside from the 0x66 hub repeatedly dropping/reconnecting and etc), but can't find much. There seems to be no documentation about the error codes (ie 0xe00002c7) that the hardware/OS are relaying. I even poked through the source for some of the relevant kexts and some reading on OS X driver/kernel programming too...might as well learn more about the inner workings of OS X 😀
Here's an example of some of the messages that I get about the Keyboard/Trackpad:
11/21/12 2:57:22 AM kernel USBF: 1439.228 IOUSBHIDDriver(AppleUSBMultitouchDriver)[0xd1ff000]: Detected an kIONotResponding error but still connected. Resetting port
11/21/12 2:57:22 AM kernel USBF: 1439.234 AppleUSBHubPort[0xd040600]::Resetting device Apple Internal Keyboard / Trackpad: port 3 of Hub at 0x6000000
11/21/12 2:57:22 AM kernel USBF: 1439.319 [0x14452600] USB HID Interface #0 of device CompositeDevice @ 5 (0x6610000)
11/21/12 2:57:22 AM kernel AppleUSBMultitouchDriver::message - kIOUSBMessagePortHasBeenReset.
11/21/12 2:57:23 AM blued[248] Apple Bluetooth daemon started
11/21/12 2:57:23 AM kernel AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized
Attempted fixes
Unfortunately, my Macbook isn't under warranty so I'm mostly on my own. First I zapped PRAM, reset SMC, ensured OS updates are installed (still on 10.6.8), and threw out a few drivers/software that were possible troublemakers. Next, I tried running another OS/install to rule out software issues. Accordingly, I found that the BT adapter sometimes disappears on Windows 7 as well (just did a clean install). And finally, I bought a new AirPort/BT card and installed it the other day. That seemed better at first, but I still have the problem of intermittent Bluetooth and keyboard/trackpad.
Problems/solutions?
What might the issue be, or is there anything that may be worth trying? As I mentioned, I've reset PRAM and SMC, made sure it's not an OS/driver issue (it happens on Win7 too), and replaced the Airport card. The machine does have aftermarket RAM (from OWC, ~2 years old) and SSD (Crucial M4, installed September)...but it seems unlikely that either of these would cause the problem. There haven't been any accidents that would have caused physical or (to my knowledge) electrical damage to it.
I also searched for any occurrences of similar problems, but could not find any that were applicable to the Macbook revision in question. There was a similar keyboard/trackpad issue on older Macbook Pros that was caused by stress on a ribbon cable...but that seems unlikely given the concurrent issues with Bluetooth as well as the different design.
The only thing I can think of next is to possibly replace the cable connecting the Airport card to the logic board, and possibly look at replacing the keyboard/trackpad (topcase). Anyway, I'm worried that it might be a hardware issue with the internal USB controller/hub, which would probably mean that it's unfixable unless I replace the logic board.
Any advice as to which of these might be a potential solution or cause of the problem? Or might I just as well sell it off in its current condition and replace it?
Thanks all!