Tackling SMC console errors after OS X 10.7.4 update
Repeated "smcReadKeyAction" errors in the OS X console may be from third-party software, or be fixed by downgrading kernel extensions.
The OS X 10.7.4 update that Apple released yesterday has been a relatively smooth update for many people, and is a recommended update because of its fix for a password logging error and the ability to preserve users' preferences for whether to open windows when logging back in. However, a few people have found that this update causes massive number of kernel-related error messages to be displayed in the system console.
As described by Apple Discussion member "paddyiyer", after updating the following messages can be seen repeated in the Console utility:
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR IN0C kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR Ie1S kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR IB0R kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR ICAC kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR IC2C kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
5/9/12 7:20:23.000 PM kernel: SMC::smcReadKeyAction ERROR Ie3S kSMCBadArgumentError(0x89) fKeyHashTable=0x0xffffff80128cf000
These error messages point to the System Management Controller kernel extension, which is the extension responsible for interfacing with the computer's System Management Controller hardware for managing fan speeds, sensors, and power distribution in the system.
If you experience this problem you might think of resetting the System Management Controller or perform other basic troubleshooting steps like resetting the PRAM, booting to Safe Mode, and performing file system and permissions checks with Disk Utility; however, users with this problem have failed to change the errors by performing these steps.
Apparently some changes Apple made to the SMC kernel extension in OS X 10.7.4 have resulted in incompatibilities with some third-party system-monitoring and tweaking software such as iStat menus, iStat pro, or SMCFanControl. If you are experiencing these console messages and have these or similar software packages installed, you might consider uninstalling them until an update is available that addresses the problem. The same goes for any other monitoring software, especially that which adjusts hardware properties, though be sure to check the console after uninstalling each to see if the problem has been cleared.
If you cannot figure out which program is causing the errors, then a last alternative would be to downgrade your SMC kernel extension to the version that was distributed with OS X 10.7.3. While not an optimal solution, for those who have done this the problems have disappeared without any adverse effects on the system. Expected problems from such a procedure would be related to temperature and fan feedback, sleep/wake issues, and peripheral devices like keyboards and mice not working, but these have not happened to those who've downgraded.
To downgrade your kernel extension, follow these steps:
- Download the OS X 10.7.3 Combo updater and double-click the image file to mount it on your system
- Download the package management tool Pacifist
- Open Pacifist (wait 15 seconds for the registration request to time out, or register if you find you will be using the program), and then use it to open the Combo update package.
- In Pacifist, expand the directory tree using the triangles to the left and navigate to the following folder:
- Locate and select the "AppleSMC.kext" file and then click the install button in Pacifist's toolbar (install with Root privileges and provide your password, when prompted)
- Open Disk Utility and run a permissions fix on the boot drive.
- Restart the system
After this procedure, your system should be running the older version of the kernel extension and you should not have the SMC-related errors output to your console.