About three weeks ago, the keyboard and trackpad on my MacBook Pro (from mid-2007) began failing randomly for no apparent reason. I would turn it on only to find its keyboard and trackpad unresponsive to any input. Rebooting sometimes helped, but many times it did not. Without a reproducible pattern I could determine, it was impossible to know if the problem was caused by failing hardware, a software conflict, or both.
Imagine if this happened to you while you were out at a cafe or are about to give a presentation, and you’ll understand why I was near the brink of insanity. After some investigation,1 it became clear there was a fundamental design flaw present in the MacBook Pro that was causing the problem. If your MacBook Pro does not have the new unibody design, this design flaw could give you grief sooner or later.
Your MacBook Pro may exhibit any or all of the following symptoms:
- Upon waking from sleep, the keyboard and trackpad become unresponsive; log entries in OS X’s Console say “IOUSBFamily failed to enumerate a device.”
- Booting up the MacBook Pro and into the login screen with neither keyboard nor trackpad input. The only way to do anything further is to force shutdown of the system by pressing and holding the power button.
- The keyboard is sometimes present at boot, and sometimes isn’t. You can verify this by hitting the Caps Lock key and seeing if its corresponding light lights up or not while you are at the white boot-up screen with the gray Apple logo.
- Plugging in an external keyboard and mouse works, thereby eliminating the possibility that software is at fault.
- While OS X is running, the keyboard and trackpad may become intermittently unresponsive.
Prior to going the way of the unibody enclosure, the MacBook Pro sported a design largely carried over from the PowerBook G4. A design trait common to all such MacBook Pro models is that of the battery bay. In this design, the battery bay of the MacBook Pro is located beneath the trackpad, in roughly the middle of the wrist-rest area in front of its keyboard. MacBook Pro models that share this design are:
- 15-inch Early 2006, Intel Core Duo (MA463LL/A, MA464LL/A, MA600LL, or MA601LL)
- 17-inch Early 2006, Intel Core Duo (MA0922LL/A)
- 15-inch Late 2006, Intel Core 2 Duo (MA609LL, or MA610LL)
- 17-inch Late 2006, Intel Core 2 Duo (MA611LL/A)
- 15-inch Mid 2007, Intel Core 2 Duo (MA895LL, MA896LL, MA895LL/A, or MA896LL/A)
- 17-inch Mid 2007, Intel Core 2 Duo (MA897LL/A)
- 15-inch Early 2008, Intel Core 2 Duo (MB133LL/A, or MB134LL/A)
- 17-inch Early 2008, Intel Core 2 Duo (MB166LL/A)
Remove the battery and you will see the partially exposed circuitry of the trackpad. Notably, you will see a orange ribbon cable that ends in two connections to the trackpad.
Take a closer look at this ribbon cable and you will see that it does not lie completely flat against the floor of the battery bay.
I have my MacBook Pro in a sling bag whenever I’m on the move, placed in such a way that the battery side of the notebook is always against my hip. I suspect that the jostling of the MacBook Pro, specifically its battery, against my body over time has weakened the connection of the ribbon cable to the trackpad.
Replicating the Problem
If your MacBook Pro is exhibiting the symptoms I’ve described above, here’s how to replicate the problem.
Before you proceed, install HardwareGrowler. HardwareGrowler is a subset of Growl that notifies you whenever hardware is disconnected and connected from your Mac. This is extremely useful, as it lets you see, in real time, the keyboard and trackpad disconnect and connect while you troubleshoot.
Once you have HardwareGrowler installed, perform the following steps:
- Your MacBook Pro should be running. If the keyboard and trackpad are still dead, use an external keyboard and mouse to login. Once you’re in OS X, unplug the external keyboard and mouse.
- Make sure your MacBook Pro is plugged into AC power.
- Flip your MacBook Pro over and remove its battery.
- Then arrange your MacBook Pro so that its screen is flat on a surface and its lower assembly is vertical, 90 degrees to the surface.
- Arrange yourself so that you can see both the battery bay and the screen of your MacBook Pro.
- With one finger, press the ribbon cable in the spot just before where it bulges. You may need a couple of tries before you find the exact spot.
- If you’re pressing the right spot, you should see two HardwareGrowler notifications appear on-screen. The first notification will say ‘USB Disconnection: Apple Internal Keyboard/Trackpad,’ while the second will say ‘USB Connection: Apple Internal Keyboard/Trackpad’.
- Remove your finger from the ribbon cable. At this point, the keyboard and trackpad may or not remain working.
If this troubleshooting procedure yields the results in Steps #7 and #8, congratulations — you can now be certain that it is a hardware problem, that you are not going insane, and that you have a high-tech problem to which there is, fortunately, a low-tech solution.
If the warranty on your MacBook Pro is no longer valid, like mine, don’t worry. Simply take a small piece of paper, such as a Post-It, and fold it in half. Stick it over the spot on the ribbon cable. Then reinstall the removable battery. The battery should exert enough pressure on the piece of paper to keep the ribbon cable working.
If your MacBook Pro is still under warranty, take it to an Apple (s aapl) service center. While Apple has not officially acknowledged that this is a widespread problem, it’s afflicted the machines of many owners, so surely it’s not unknown to them. Demonstrate the steps described above to whomever is helping you as letting him or her see the problem as it happens eliminates the guesswork and may help expedite the time needed for repairs.
The long-term solution is, of course, to have the ribbon cable replaced, because the last thing you want is to have the keyboard and trackpad fail on you when you need to use your MacBook Pro most. In the meantime, you have a temporary fix should you need one.
1 I wish to credit Steve Eugene of Dallas for discovering the cause of the problem as detailed in his post on Apple’s discussion forum.