Once I noticed that it has been taking up to 5–7 minutes for my MacBook Pro 2,2 to boot (the longest phase of the startup process was the blue screen which usually appears right before the desktop) and additionally, sleep (hibernate) mode stopped working. Both problems appeared simultaneously, so right from the start it was clear that they’re related.
To diagnose the problem, I booted in verbose mode (hold Cmd + V when it starts booting, later you may find the logs in Console.app) and noticed these lines:
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: Busy services :
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2 [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0 [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E/IOPCI2PCIBridge [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E/IOPCI2PCIBridge/FRWR@3 [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E/IOPCI2PCIBridge/FRWR@3/AppleFWOHCI [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E/IOPCI2PCIBridge/FRWR@3/AppleFWOHCI/IOFireWireController [1]
Jun 21 03:02:15 Dae-MBP configd[36]: InterfaceNamer: MacBookPro2,2/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PCIB@1E/IOPCI2PCIBridge/FRWR@3/AppleFWOHCI/IOFireWireController/IOFireWireLocalNode [1]
Jun 21 03:06:20 Dae-MBP /usr/libexec/hidd[27]: Timeout waiting for IOKit to be quiet
Obviously something was wrong with firewire. I checked my firewire 400 port and it appeared to be broken. Quick search revealed that the problem of dieing firewire ports is not uncommon for this generation of MacBook Pros, and the only way to repair it is to replace a logic board. I confirmed all of these by contacting a technician of local Apple reseller.
Since my MacBook was out of warranty and I didn’t want to spend 350€ on a new logic board for a quite old computer, I decided to minimize the consequences. The solution was easy: to move IOFireWireFamily.kext out of /System/Extensions. I as well have to repeat this operation after installing system updates. The sleep problem was gone as well.
Tags: mac hardware