Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

koudanshi

macrumors newbie
Original poster
Jul 25, 2010
10
0
I have managed to get Coolbook works on macbook pro mid 2009. I think that this workaround will work on all OS X Lion platform. Here is how I made it work:

This method is for advanced users, please be a aware first.

My specs:
- Macbook pro mid 2009
- OS X Lion 10.7.2 beta 11c57 / 11c62 runs on 64 bit kernel.

Kexts detail:
- I thinks these kexts will work on both 32 and 64 bit kernel mode and works on all Lion version up to now.

1. Install latest Coolbook 2.22 version.
2. Grab 2 kexts from attachment and installing to your OS X, this is my manual way to install kexts for Lion:
++ Extracting zip files and copy these kexts into Macintosh HD/System/Library/Extensions folder.
++ Set permission and owner rights:
Code:
sudo chown -R root:wheel /System/Library/Extensions
Code:
sudo chmod -R 755 /System/Library/Extensions
++ Re-cache extensions:
Code:
sudo kextcache -system-prelinked-kernel
Code:
sudo kextcache -system-caches
++ Restart your laptop, done.

I can get my laptop run at 0.9v@1.6ghz and 0.987v@2.8ghz, it's totally cooler than stock Apple Intel CPU kext which fires CPU at 1.12v maxspeed.

P.S: Coolbook will not put CPU voltage below 0.9v for my case, stock Apple kext can put under 0.9v with 800mhz speed but it's hotter than Coolbook solution.
 

Attachments

  • NullCPUPowerManagement.kext.zip
    24.1 KB · Views: 1,455
  • SleepEnabler.kext.10.7.x.zip
    15.6 KB · Views: 1,318
Last edited:
Thanks a lot for this, CoolBook is one of those utilities we Core 2Duos can't live without. If you find a way to allow voltages to be throttled below 0.9V in Lion please update. For those of us who would like to extend battery life under casual usage, reducing CPU voltage to 0.825V and beyond at the lowest frequencies was a great feature in Snow Leopard and gave us around 20% more battery life. Since many of us are now suffering from poor battery life in Lion, at least on the 2010 and earlier models, undervolting would be a real advantage if we could get it to work.
 
I couldn't get it to work. As soon as I open coolbook it says installation failed.
You should copy Coolbook app into Application folder and run it again. The problems seems that it can not write into harddisk.

Thanks a lot for this, CoolBook is one of those utilities we Core 2Duos can't live without. If you find a way to allow voltages to be throttled below 0.9V in Lion please update. For those of us who would like to extend battery life under casual usage, reducing CPU voltage to 0.825V and beyond at the lowest frequencies was a great feature in Snow Leopard and gave us around 20% more battery life. Since many of us are now suffering from poor battery life in Lion, at least on the 2010 and earlier models, undervolting would be a real advantage if we could get it to work.
I'm not a MAC developer to touch on kext, just finding a work around solution to get coolbook to work.

There is an other solution which can make CPU run below 0.9v on Lion, but it will not use Coolbook, it's some kind of Speedstep kext on OSX x86 platform. I do not sure if everyone wants to use these open source kexts and may have problem if we apply new update from Apple.
 
I modified the CoolBook plist (System/Library/LaunchDaemons) to allow setting voltages at 800 MHz below 0.925V. I currently have CoolBook throttling at 0.800V for the 798 MHz frequency, which according to iStat Menu is reducing actual CPU voltage to 0.86V. Can't seem to be able to get it below that, but CoolBook is reporting frequencies and voltages in accordance with my settings above 800 MHz.

Edit: It seems iStat Menu is reading CPU core voltages around 0.6V below their actual values, which means that with CoolBook activated I'm locked in at 0.925V at the lowest frequencies, confirming the OP's analysis. CoolBook will reduce voltages at elevated frequencies but inhibits default low-power management.
 
Last edited:
Manually voltage setup

I modified the CoolBook plist (System/Library/LaunchDaemons) to allow setting voltages at 800 MHz below 0.925V. I currently have CoolBook throttling at 0.800V for the 798 MHz frequency, which according to iStat Menu is reducing actual CPU voltage to 0.86V. Can't seem to be able to get it below that, but CoolBook is reporting frequencies and voltages in accordance with my settings above 800 MHz.

Edit: It seems iStat Menu is reading CPU core voltages around 0.6V below their actual values, which means that with CoolBook activated I'm locked in at 0.925V at the lowest frequencies, confirming the OP's analysis. CoolBook will reduce voltages at elevated frequencies but inhibits default low-power management.

Could you tell me how to change these custom voltages? I have tried before but I do not know how to add lowest clock 800Mhz for Penryn CPU.

Istatmenu seems to work properly for me, when you use original Apple kext, it throttles clock and voltage to 0.77v - 0.79v which seems to be right value.
 
Could you tell me how to change these custom voltages? I have tried before but I do not know how to add lowest clock 800Mhz for Penryn CPU.

Istatmenu seems to work properly for me, when you use original Apple kext, it throttles clock and voltage to 0.77v - 0.79v which seems to be right value.

I got the initial tip from Roaring Apps' Lion compatibility website:

http://roaringapps.com/app:255/p/2

Blacky on 28 August 2011, 18:02
Lol, well, I updated to 11C43 and screwed something up big time. I've downgraded back to Snow Leopard and got proper battery time again… Though it's more like 5+ hours, my bad, but still more than with Lion.

One interesting thing: I noticed how my lowest voltage is still at 0.925, the same behavior I had in Lion, which is too high. I can set all frequencies to 0.925 and it runs stable. I always thought this was a bug due to Lion, but it was the same in SL.

I dug a bit and manually changed the values in /System/Library/LaunchDaemons/se.coolbook.switcher.plist. The pairs are somehow merged:

"34314" is 798 MhZ / 0.8375 V
"34315" is 798 MhZ / 0.8500 V
"34316" is 798 MhZ / 0.8625 V

Lowering the last one / two digits by one lowers the voltage by 0.0125 V. Coolbook's table will show the right values, but the dropdown still doesn't allow the low voltages and you cannot test them. I however noticed that if the frequency changes, the voltage iStatMenus finds matches the settings :) I can only confirm that for SL, but it might be interesting for you guys, if you think your system can survive even lower voltages than what CoolBook allows.
 
Thank you,

It seems that you are using MBA and lowering your voltage in .plist. I already tried add 800Mhz clock but coolbook never trigger this lower lock, something relates to halve bus feature does not support Penry.
 
Hi,

A few days ago I had the same workaround (delete Apple cpu management kexts and install sleepenabler.kext) and coolbook worked fine. The problem was that my battery life decreased a lot on idle (~10h to 6h). This happened because I deleted those kexts (obviously).

Right now, I think I've found a better solution which is to keep apple's kexts and only install sleepenabler.kext.

By doing this, coolbook's cpu monitor won't show the right voltage or frequency on idle, but if you run cputest (from coolbook) you'll notice that it shows the right frequency and voltage.

So, now I got my 10h back on idle.

I ran some tests in cputest and it took 40s for the cpu to reach 80ºC with the fans at 2000rpm. With coolbook, it took 1:10min, and if I decrease the cpu frequency it takes even longer. So, I think undervolt is working.

Could you test this also to see if I'm right?

Notice:

- If sleepenabler is not installed, undervolt won't work.

- If you disable throttling, undervolt won't work.

- Every test I did on cputest was from 50ºC with fans at 2000rpm

- On cputest, I used the following config: big / 10 / 2
 
Hi Socras,

You should install NullCPU kext or Coolbook will not run properly in the same time with Apple Cpu kext. If you use IstatMenu, voltage will be variable depends on CPU usage. On Idle, it will run at minimum voltage but when you force to use 100% CPU, it can use Coolbook one. This way it will keep CPU not be stable.
 
Yes, you're right. But I think I will uninstall coolbook for now and wait for the lion release.

My battery life decreases a lot if I use this workaround, so I have to choose between battery life and cpu temp. Since the cpu is most of times idle on while I'm on battery, I think I'll remove coolbook.

It's a shame but what can I do...
 
But didn't you notice a decrease in your battery life? Or you don't use your battery that often?
 
Manually voltage setup

I often use battery, 5 times per week, this way to keep battery use peak performance.

The battery is the same when I use on SL, that's why I know it works for me.

What's your MB spec? Could you make sure NullCPU kext and Sleepenabler kext are working?
 
I have a macbook air (late 2010) core2duo 1.86GHz, 4GB ram, 128SSD.

I just did a test on my battery life before and after nullcpu and sleepenabler and here's my idle times:

- Before (no nullcpu/sleepenabler): 12h30

- After (nullcpu/sleepenabler): 7h20

So, big decrease in battery life on idle. Is there something else I can do besides what you say on your first post?
 
What's your coolbook setting?

If I remember right, Macbook Air can throttle at 800Mhz on 0.7x or 0.8x voltage. You can search on forums for other one .
 
My settings on battery are these. On AC power I use the 1.86GHz.

[url=http://img443.imageshack.us/img443/5562/coolbook.png]Image[/URL]


Try dropping the 798MHz setting and see if it helps. The 0.925V you have configured for this voltage is too high and the system power management extension does a better job of reducing voltage at this frequency. I've even tried to reduce this voltage setting to 0.75V to no effect. If you have iStat Menu installed you can check CPU voltages, which at idle should read around 0.8V or lower.
 
Hi Socras,

You should try finding more on forum regarding on best voltage for your case.
Ssn637 is right, your voltage is so high. Let's see my coolbook settings.
 

Attachments

  • Screen Shot 2011-10-07 at 1.28.54 PM.png
    Screen Shot 2011-10-07 at 1.28.54 PM.png
    56 KB · Views: 509
Hi,

I have these voltage values because I can't go any lower. If I decrease any of them below 0.925V, coolbook says that the voltage is still 0.925V.

On istat, no matter what voltage I choose, it jumps between 0.89V and 0.92V.

I have looked around and on this model no one could drop the voltages below 0.925V.
 
Hi,

I have these voltage values because I can't go any lower. If I decrease any of them below 0.925V, coolbook says that the voltage is still 0.925V.

On istat, no matter what voltage I choose, it jumps between 0.89V and 0.92V.

I have looked around and on this model no one could drop the voltages below 0.925V.

If you remove the CoolBook setting for 798 MHz altogether (only one voltage and frequency value will remain in your case) and then restart you should find that when idling iStat Menu reports a CPU voltage of around 0.80V, which means that CoolBook is no longer throttling at the lowest frequency.
This should raise your battery endurance under light work while allowing CoolBook to throttle the system voltage at higher loads. This is more or less what happens in 10.6.8 as well, or at least what works best for me. Modifying the CoolBook .plist file to allow for lower voltage settings has no effect at the lowest frequencies.
 

Attachments

  • CoolBook.jpg
    CoolBook.jpg
    53.5 KB · Views: 606
Sorry, correct me if I was wrong. Macbook air supports halve bus features of Coolbook, I did not see both of you use b/2 feature, what's the matter?

Also, it's very strange when hearing your Istatmenu shows CPU voltage can throttle under 0.8v, which means Apple CPU kext is working with Coolbook kext or we can say NullCPU kext did not work properly.

For my case, Istatmenu shows the same like Coolbook voltages which have a minor different 0.01v.
 
Sorry, correct me if I was wrong. Macbook air supports halve bus features of Coolbook, I did not see both of you use b/2 feature, what's the matter?

Also, it's very strange when hearing your Istatmenu shows CPU voltage can throttle under 0.8v, which means Apple CPU kext is working with Coolbook kext or we can say NullCPU kext did not work properly.

For my case, Istatmenu shows the same like Coolbook voltages which have a minor different 0.01v.

Sorry, Koudanshi, I need to clarify a bit for you...

My current stats:

MacBook Pro 13" 2010 2.66 GHz CPU
Snow Leopard 10.6.8 10K549

I've tried upgrading to Lion (10.7.2 GM Build) and installing CoolBook based on your recommendations but couldn't get the 798 MHz voltage to drop below 0.925V (as you have stated). Since my battery life in Lion has suffered dramatically, I've gone back to Snow Leopard, which is also compatible with CoolBook V2.22.

Now, when I open CoolBook and adjust my battery settings, the 798 MHz frequency is not displayed unless I check the b/2 box. If I check that box, the lowest allowable voltage at that frequency is 0.875. That is higher than the Apple IntelCPUPowerManagement default, which reduces voltages to as low as 0.75 as reported in iStat Menu. I've tried to modify the .plist to reduce the voltage setting to 0.725V at this frequency but this seems to have a negative effect on battery life so I've removed it. CoolBook works best for me if I don't mess with the default preferences.

I'm sticking with Snow Leopard for now until a new release of CoolBook is made available. Since I've got my system customized just the way I like it in Snow Leopard (ThemePark, for example, is not Lion compatible and probably never will be) and the only feature I really miss is FileVault 2, I plan on staying with 10.6.8 until forced to purchase a new MacBook Pro in the future.

CoolBook works for you in Lion using your solution, but I don't think it worked for me (perhaps I didn't give it enough of a chance). Thanks for all your effort in this! Much appreciated...
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.