Lion + NullCPUPowerManagement.kext, iStat, CPU Temperatures and Sleep

I *slightly* upgraded my processor this week to a new Core 2 Duo E7500 @ 2.93GHz. I am constrained by my LGA 775 board and I don’t really have need for a lower-clocked Core 2 Quad at the same price (and I can’t afford to shell out for a new LGA 1155 board, Core i5 processor and DDR3 memory at the moment).

At its stock voltage, my idle temps were hovering around 46°C– way too high for stock voltage and 2.93GHz.

How do I know? I had previously used Temperature Monitor (with the additional OSx86 plugins) but ditched the application in favor of a simple FakeSMC.kext mod with plugins to monitor various hardware.  This provides the added benefit of iStat being able to read the temps like it would on a standard Mac.

I placed our old friend NullCPUPowerManagement.kext (which I had not been using previously) in the /Extra/Extensions directory and my temperatures dropped about 10°C, but with consequences: The graphics seemed less responsive than usual, typically resulting in a slight delay between graphics-intensive processes (such as activating Mission Control or Launchpad, or even switching between desktops using a two-finger swipe on the Magic Mouse).

Lion also seemingly lost the ability to sleep.

I tried removing AppleIntelCPUPowerManagement.kext and AppleIntelCPUPowerManagementClient.kext from /System/Library/Extensions (as opposed to placing NullCPUPowerManagement.kext in /Extra/Extensions), and the results were the same.  I also re-ran the AppleRTC.kext patch (just in case) and re-compiled my DSDT (I am still not entirely sure if CPU data is stored in the DSDT– I am fairly certain that it only stores chipset data, but just in case…).  This leaves me with three possible culprits:

  1. FakeSMC.kext– I replaced this in order to use the temperature-reader plugins, so I will replace it with the original version of FakeSMC.kext and try to sleep my machine.  I did eliminate the plugin kernel extensions themselves as causes.
  2. AppleRTC.kext– There is a chance that the terminal code that I used to patch AppleRTC.kext is no longer correct for my new Wolfdale 45NM processor.  I will attempt a second, less-used patch and report back.
  3. My processor– Of course, replacing my processor could have caused this technological insomnia, which I hinted at above.  What to do to fix it?  I’m not sure, but I’ll update this post when I figure it out.

I’m running my processor at 3.33GHz (333Mhz FSB  x 10) with RAM running at 1GHz (333MHz FSB x 3).  Temps are around 38°C idle, which is acceptable for now.

EDIT:  I have yet to find the correct “old” FakeSMC.kext to see if it’s the problem.  Until then, I’m just using the SleepEnabler.kext for 10.7.2.