Saturday, April 03, 2010

MacBook Pro Video Chip

I recently dove into a thorny Mac issue. My client's MacBook Pro wasn't waking from sleep. It seemed to be stuck in hibernation mode. This would happen when the lid was closed, and could be easily observed by adjusting the sleep settings to their shortest value. At the same time a slower-than-molasses startup seemed to hang at the blue screen (indicating the loading of the user profile). Diagnostics revealed nothing: The hard drive checked out OK and memory tests came back with no errors.

Of course I tried the usual Mac routine: Restart in Safe Boot, Zap the PRAM, Reset the system configuration by holding down the power button with the battery and power cord removed, and Verbose Boot. Verbose boot gave me a clue: The delay occurred when the video chip drivers initialized. This MacBook contained an Intel video chip, which activates a software kernel extension on startup to operate correctly. The boot would hang for two minutes while initializing the video. Could the kernel extension (kext) be corrupted?

After booting, the computer appeared to operate correctly, with no observable problem other than not waking from sleep. Because the blue screen indicates the loading of the user profile, I first removed the login items, then renamed the user profile, triggering the creation of a new, generic user. No luck! At this point I had to consider reinstalling the OS to replace corrupt system files.

I repartitioned the drive, and reinstalled the OS. The startup issue was gone, but the sleep issue remained. And as soon as I updated the OS the startup issue returned! Could the update for the Intel video kext be the problem? But Apple thoroughly tests their updates, and reinstalling the OS should have resolved any software issues. After all, there is no non-Mac hardware involved, the machine worked fine until recently, and there was no update concurrent with the start of the problems. I was also experiencing intermittent problems with the DVD drive.

In the end, I brought the MacBook to the Apple Store where they plugged in a diagnostic tool. The tool could not read the diagnostic information from the MacBook, indicating a failure on the main board. My client decided to send the MacBook in for refurbishing, and it was returned with a new screen, new main board, new DVD drive, and with the scratches buffed off of the case (possibly a new case?). She says it runs better than when she got it!

This is one example where it took a lot of work to pin down the issue. There were no clear diagnostic indicators, other than the delay in the Verbose output on boot. The machine ran fine after the slow boot, and the sleep mode could be turned off or delayed. But a Mac user expects their machine to function with high quality performance, and logic board issues could worsen over time, causing data loss. I'm glad we were able to pin down and repair the problem!