Re: PowerMac7_2_PlatformPlugin.kext remark and questions (work around temperature/power sensor problem)
Re: PowerMac7_2_PlatformPlugin.kext remark and questions (work around temperature/power sensor problem)
- Subject: Re: PowerMac7_2_PlatformPlugin.kext remark and questions (work around temperature/power sensor problem)
- From: Jonas Maebe <email@hidden>
- Date: Mon, 2 Mar 2009 18:36:23 +0100
On 23 Feb 2009, at 00:17, Jonas Maebe wrote:
I'd like to also work around it in Mac OS X. As mentioned earlier,
the PowerMac7_2_PlatformPlugin.kext is not open source, hence I
cannot change that code. This kext however contains an Info.plist
with many tweakable settings. Unfortunately, they do not seem to be
actually taken into account. I've tried setting the output-min key
for all cpu fans in that file to 1600 instead of to 300, but after
rebooting the fans for both cpu A and B still dropped below that
threshold. I've also changed the SensorIDArray of the
PowerMac7_3_CPUCoolingCtrlLoop to reference cpu A's temperature and
power sensors twice (rather than first those of cpu A and then those
of cpu B), and the same with the SensorIDArray in the PM72-CP-ID-
datasets, but that did not change anything either.
Now everything "works". I tried to replace the AppleAD741x kext with
one compiled with logging support using darwinbuild, to see whether I
could intercept the reads from/writes to the sensors for cpu B and
reroute them to cpu A. After deleting Extensions.mkext and rebooting,
my replacement kext did not load for some reason.
So I put back the original one, deleted Extensions.mkext again and
rebooted once more. And now everything suddenly worked fine!
My guess is that Extensions.mkext not only caches the code of kexts,
but also their Info.plist. So when I previously changed the Info.plist
of PowerMac7_2_PlatformPlugin.kext, those changes were not taken into
account simply because the kextcache was not rebuilt (editing that
file does not change the timestamp of /System/Library/Extensions). My
bungling with the replacement AppleHWSensors kext did force a rebuild
however, so now my replacement Info.plist is actually being used.
I noticed that the current version does not have any changes for the
output-min settings of the fans, but it does have the sensors used to
determine the temperature and power usage of cpu B "rewired" to those
of cpu A. And apparently that was enough!
I've also "fixed" the following possible omission (by dupplicating the
entry for cpu A for cpu B), but I don't know if that's relevant:
Now, first a remark about the plist: the CtrlLoopArray key contains
PID datasets for cpu A (item 4 in the array) and cpu B (item 5 in
the array). However, for cpu A the PM72-CPU-PID-datasets property
contains settings for a 1.6GHz(90W), 1.8GHz(100W) and 3 variants of
a 2GHz cpu (90W, 100W, 110W), while for cpu B there are only
settings for the various 2GHz ones. My machine is a dual 1.8GHz, so
I'm wondering whether this may be an omission. Or maybe it's just
another indication that those settings are not used (I guess the
settings are read/used from the eeprom instead?)
Maybe I'll make time to test whether simply adding that entry (and
correcting the sensors again) is enough. It would surprise me though,
since even in 10.3.4 there was no entry for a 1.8 GHz cpu B in that
file.
Anyway, I'm very happy with my silent fans and cooler cpus, and I
would like to thank whoever made the decision to make the used sensors
etc. fully parameterized using the Info.plist file!
Jonas
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden