Jump to content

Version 1.4.5 beta out now


mercurysquad
 Share

62 posts in this topic

Recommended Posts

Why dont you and SuperHai work together on a Singel app

 

I have tried, but let me explain:

 

Superhai is free to fork the code and make his additions, and he did. But his version is too different now and strays from my philosophy as well as practicality. My idea is to build a kext which just works and the user doesn't need to configure much. Superhai's kext has a LOT of features and a GUI, BUT he removed many features of my kext (which in my opinion is a step backward - for example you can no longer change settings from the Terminal). Also, my main priority is Pentium M processors, but Superhai's kext doesn't work well on Pentium M (and other CPUs which need clock re-calibration) because the kext makes too many assumptions.

 

You can apply the same logic and say Superhai could work on my kext, but in an open-source community it doesn't really matter. Everyone has their own agenda, for me Pentium M is top priority, for Superhai, support for newer CPUs is higher priority. He seems to consistently ignore Pentium M and the most important reason I made my kext: clock re-calibration. I have suggested bugfixes and changes to Superhai but last I checked, the kext didn't contain those fixes. I don't know about the current version as the kext always crashes on my system.

 

Since my kext is 'good enough' and does the job for me and most people, I only have to fix bugs and add some workarounds instead of adding more and more features. So I decided to keep my project active.

 

In short: mine is a coservative, 'just-does-the-job' version of the original kext, and I prefer to keep control of it.

Link to comment
Share on other sites

I have tried, but let me explain:

 

Superhai is free to fork the code and make his additions, and he did. But his version is too different now and strays from my philosophy as well as practicality. My idea is to build a kext which just works and the user doesn't need to configure much. Superhai's kext has a LOT of features and a GUI, BUT he removed many features of my kext (which in my opinion is a step backward - for example you can no longer change settings from the Terminal). Also, my main priority is Pentium M processors, but Superhai's kext doesn't work well on Pentium M (and other CPUs which need clock re-calibration) because the kext makes too many assumptions.

 

You can apply the same logic and say Superhai could work on my kext, but in an open-source community it doesn't really matter. Everyone has their own agenda, for me Pentium M is top priority, for Superhai, support for newer CPUs is higher priority. He seems to consistently ignore Pentium M and the most important reason I made my kext: clock re-calibration. I have suggested bugfixes and changes to Superhai but last I checked, the kext didn't contain those fixes. I don't know about the current version as the kext always crashes on my system.

 

Since my kext is 'good enough' and does the job for me and most people, I only have to fix bugs and add some workarounds instead of adding more and more features. So I decided to keep my project active.

 

In short: mine is a coservative, 'just-does-the-job' version of the original kext, and I prefer to keep control of it.

Thanks for the explanation well your speedstep workes prefectly on My P-m So i'm happy

Link to comment
Share on other sites

Mercurysquad,

 

from where does this kext get the P-states from ?

 

 

Thanks.

 

Sorry for this question,got the answer myself,its ACPI.Please correct me if I am wrong.

If this kext(1.4.5) does not get it from there,it uses a lookup table right ?

 

Is it possible to use SMC plugin to get the P-states ? Like what Surehai's kext does ?

Also does this kext gather Tjmax for getting the max allowed core CPU temperature ?If this can be done,the

runaway issue can be resolved.I mean with high CPU load, Voltage will be incread up,

freq will also be stepped up but after sometime the temp will rise,if the long pending

task is not completed,the CPU temp will remain high.

So if Temp is monitored,we can use this value to reduce/step down the freq and/or voltage

after sometime

(even though it might slow the processing a bit),but this will prevent CPU from overheating[Tj nearly equal to Tjmax]

Better/safe option would be to have the condition:

Tj < (Tjmax - x),

where x is say tolerance coz at Tjmax the cpu will be automatically shutdown by thermstrip to prevent damage to the die.

 

 

Please let me your concerns.

 

 

Regards

aliasa.

Link to comment
Share on other sites

hi mercurysquad, I have just installed the Speedstep.kext version 1.4.5 with kexthelper and immediately get a kernel panic (10.5.5 iDeneb voodoo kernel running on a pentium m + gma900 based notebook) and the only way to boot the system is to boot in single user mode and delete the kext.

 

in single user mode I can load the kext without any problem, what I can see and think it is wrong are the factoryvolts which are all the same:

bash-3.2# sysctl kern | grep throttle
kern.exec: unknown type returned
kern.cputhrottle_curfreq: 800
kern.cputhrottle_curvolt: 716
kern.cputhrottle_freqs: 800 1067 1333 1733
kern.cputhrottle_factoryvolts: 2796 2796 2796 2796 2796
kern.cputhrottle_ctl: 1537
kern.cputhrottle_auto: 1
kern.cputhrottle_targetload: 30

 

what do you suggest? please help!! :(

 

bye and thanks for your great work!!

 

 

EDIT: last thing, is it normal that in the Info.plist file I can see <key>PStateTableDisabled</key> ?? Why it says it is disabled?

Link to comment
Share on other sites

EHILA'!!!!! I just modified the Info.plist file changing this:

<key>PStateTableDisabled</key>

 

into this:

<key>PStateTable</key>

 

then re-installed the kext with KextHelper and now I don't get the kernel panic anymore!!!! Why is it set to "disable" by default??

 

now it says:

Moly$ sudo dmesg | grep IntelEnh
IntelEnhancedSpeedStep: INFO  Initializing version 1.4.5 (C) Prashant Vaibhav <mercurysquad@yahoo.com>
IntelEnhancedSpeedStep: INFO  Loaded 4 PStates from Info.plist

 

 

...and if I run: sysctl kern | grep throttle

 

bash-3.2# sysctl kern | grep throttle
kern.exec: unknown type returned
kern.cputhrottle_curfreq: 800
kern.cputhrottle_curvolt: 716
kern.cputhrottle_freqs: 800 1067 1333 1733 
kern.cputhrottle_factoryvolts: 716 780 860 1084 
kern.cputhrottle_ctl: 1537
kern.cputhrottle_auto: 1
kern.cputhrottle_targetload: 30

 

....and the cpu scaling seems to work automatically, as if I run some apps and try the sysctl kern | grep throttle again, I can see the "curfreq" value increasing...... so it seems that everything is working now just after changing the PStateTable key!!!!!

 

the only problem is that if I boot the laptop on battery, when I get to the desktop it doesn't work, it is freezed, and touchpad/keyboards don't work.. don't know why, what you think? While if I boot the system connected to the power, then I disconnect it after I get to the desktop, then it works on battery... strange... What changes if I boot with the power cord connected or not? Is the system using different kexts??

 

finally, can you confirm this entry is correct in my Info.plist and must be set to -1?

<key>KernelFeatures</key>
<integer>-1</integer>

 

and can you tell me what does this entry mean/do?

<key>TargetCPULoad</key>
<integer>30</integer>

 

 

thanks!!

Link to comment
Share on other sites

sudo dmesg | grep Intel
Password:
IntelEnhancedSpeedStep: INFO  Initializing version 1.4.5 (C) Prashant Vaibhav <mercurysquad@yahoo.com>
IntelEnhancedSpeedStep: INFO  Loaded 4 PStates from Info.plist

 

sysctl kern | grep throttle
kern.exec: unknown type returned
kern.cputhrottle_curfreq: 1733
kern.cputhrottle_curvolt: 987
kern.cputhrottle_freqs: 800 1067 1333 1733 
kern.cputhrottle_factoryvolts: 725 775 837 1012 
kern.cputhrottle_ctl: 1558
kern.cputhrottle_auto: 1
kern.cputhrottle_targetload: 35

 

I've never seen at 1733, I think there's something wrong, my E8400 frequency are not so low: 800 - 1067 - 1333 - 1733 as the maximum frequency.

 

Is that the CPU frequency?

 

Maybe is because I did the same edit of moly82 on Info.plist

						<key>[b]PStateTable[/b]</key>
					<array>
							<array>
									<integer>1733</integer>
									<integer>1084</integer>
							</array>
							<array>
									<integer>1333</integer>
									<integer>860</integer>
							</array>
							<array>
									<integer>1067</integer>
									<integer>780</integer>
							</array>
							<array>
									<integer>800</integer>
									<integer>716</integer>
							</array>
					</array>

 

I removed the disabled on Table!

Should I set the CPU frequency manually?

Link to comment
Share on other sites

I've never seen at 1733, I think there's something wrong, my E8400 frequency are not so low: 800 - 1067 - 1333 - 1733 as the maximum frequency.

 

Is that the CPU frequency?

 

Maybe is because I did the same edit of moly82 on Info.plist

 

I removed the disabled on Table!

Should I set the CPU frequency manually?

 

that table is perfect for me as I have a pentium m 1.73 GHz but probably you need different values.... why you did modify the files as I did? were you getting kernel panics? by the way yes the first value in the table is the frequency, and the second value is the relevant voltage for the that frequency value..

 

bye!

Link to comment
Share on other sites

My lower speedstep frequency I think it's 2 GHz and it gets higher with the multiplyer 333x6=2 Ghz 333x7=2,3 GHZ 333x8=2,6 GHz 333x9=3 GHz

 

So is that konsole info false? I think, yes...

 

If I leave the TableDisabled osx won't boot.

 

yes in your case I think they are not real, but in mine I think (hope :) ) they are true..

I hope mercurysquad will come back soon so he can clarify..... :D

Link to comment
Share on other sites

hello,

 

this is what i get from terminal:

 

sysctl kern | grep throttle

kern.exec: unknown type returned

kern.cputhrottle_curfreq: 1067

kern.cputhrottle_curvolt: 1068

kern.cputhrottle_freqs: 800 1067 1333 1733

kern.cputhrottle_factoryvolts: 716 780 860 1084

kern.cputhrottle_ctl: 1559

kern.cputhrottle_auto: 1

kern.cputhrottle_targetload: 30

 

even though it says that my cpu can be set to 800, it never gets there. is there any way to force the cpu to be set to 800?? would this require setting custom values in the PStateTable??

 

thx

Link to comment
Share on other sites

Hi MercurySquad, thanks very much for all the great work

I just come to delete the intelenhancedspeedstep.kext and i'm surpised to see the autothrottle still working as if the kext was still loaded (i've repaired permissions and rebooted, and verified the kext is trully not loaded). Idon't have neither genericpuetc... from Superhai. Note that the speedstep app is still working.

I also noticed that when the kext was loaded, the CPUthrottle i could see in sysctl -a | grep throttle

was not the same as in plist from kext...

 

Here is the sysctl -a | grep throttle when the kext is not loaded (it is the same when the kext is loaded) :

 

HAL:~ boombeng$ sysctl -a | grep throttle
kern.exec: unknown type returned
kern.cputhrottle_curfreq: 1000
kern.cputhrottle_curvolt: 1004
kern.cputhrottle_freqs: 1000 1333 1667 2000 
kern.cputhrottle_factoryvolts: 1004 1132 1260 1388 
kern.cputhrottle_ctl: 1555
HAL:~ boombeng$

 

Is it because i patched the dsdt ? Does this mean i don't need any kext like intelenhancedetc... or GenericCPUetc... ? ;)

 

Thx,

Jim

Link to comment
Share on other sites

Hi MercurySquad, thanks very much for all the great work

I just come to delete the intelenhancedspeedstep.kext and i'm surpised to see the autothrottle still working as if the kext was still loaded (i've repaired permissions and rebooted, and verified the kext is trully not loaded). Idon't have neither genericpuetc... from Superhai. Note that the speedstep app is still working.

I also noticed that when the kext was loaded, the CPUthrottle i could see in sysctl -a | grep throttle

was not the same as in plist from kext...

 

Here is the sysctl -a | grep throttle when the kext is not loaded (it is the same when the kext is loaded) :

 

HAL:~ boombeng$ sysctl -a | grep throttle
kern.exec: unknown type returned
kern.cputhrottle_curfreq: 1000
kern.cputhrottle_curvolt: 1004
kern.cputhrottle_freqs: 1000 1333 1667 2000 
kern.cputhrottle_factoryvolts: 1004 1132 1260 1388 
kern.cputhrottle_ctl: 1555
HAL:~ boombeng$

 

Is it because i patched the dsdt ? Does this mean i don't need any kext like intelenhancedetc... or GenericCPUetc... ? ;)

 

Thx,

Jim

 

 

did you remove the extensions cache? a part from looking in the extensions folder, did you check if the kext is really not loaded with kexstat? kexstat | grep Intel from the terminal..

 

bye

Link to comment
Share on other sites

Yes i did, but i found also, following your post Moly, that the Pstate were "disabled" in the plist, so when i insert

<key>PStateTable</key>

,

I now can see the plist value in speedstep monitor and in sysctl kern | grep throttle, no more problems :lol:

So I have to find the good values to insert in plist now because the lowest one doesn't seem to work

(even in custom clock)... or to keep the default one without the kext loaded...

Is there a data base where we can find good Pstats with CPU ref ?

 

[Edit] i have a C2duo T5750 2Ghz FSB667

 

Thx bye

Link to comment
Share on other sites

The PStateTableDisabled is disabled because it contains settings for Pentium M 740 (1.73 GHz) and it is not applicable to other CPUs. So before renaming it, make sure you put YOUR cpu's pstate table.

 

Also, it is NOT POSSIBLE to get the sysctl output if the kext is not loaded. The kext must be loaded from the Extensions.mkext, from /Extra or from other places (like /Library/Startup/SpeedStep in iATKOS 5i).

Link to comment
Share on other sites

I am using Speedstep on a Dell Inspiron 6000 with a single core Pentium M, running Leo 10.5.2. I physically overclocked the cpu when I first bought it by inserting a jumper in the cpu socket, which upped the FSB from 400 MHz to 533 MHz. This upped the cpu from 1.6 GHz to 2.13 GHz. By doing this, I have always had to be conscious of temperatures.

 

The Speedstep 1.4.5 kext has worked perfectly, along with the Speedstep app running in the start bar. When I first installed leo, the cpu ran constantly at 2.13 GHz and the fan also ran constantly at its highest speed. Temperatures ran at about 45-48 C when idling. Since installing Speedstep 1.4.5, my cpu is running at 1067 GHz when idle, and the temp is about 35-38C. That is as good as when I run Vista with the native Intel drivers.

 

Thank you, thank you, thank you.

Link to comment
Share on other sites

  • 2 weeks later...

1.4.5 crashes reading pstates from ACPI on startup

 

1.4.0 loads pstates without issue and has been rock solid stable

 

running C2D T7400 'Merom' 2.16ghz

 

i will soon test undervolting on 1.4.0 with custom table. i tried earlier but got crashes because i didn't step the voltage in 4mv increments.

Link to comment
Share on other sites

hi mercurysquad, one question.

 

my specs are in the signature.. I am using your kext 1.4.5 and everything is working after modifing the plist file in order the enable the PState table... when I am using the laptop connected to the power.... the CPU scales and so on, but when I am on battery the laptop does not start... it freezes at boot without errors... what could it be? if I unload the speedstep kext then I can boot the laptop on battery but speedstep does not work..

 

thanks in advancve.. bye!

Link to comment
Share on other sites

I couldn't find the p-states for my processor Intel Core 2 Duo T8100 either, i've searched on intel datasheets but couldn't make a thing out of it http://download.intel.com/design/mobile/da...ts/31674505.pdf, only that it's core voltage is from 1.000V to 1.250V

I CPU-Z i found ONLY 3 values of speed: 1197 ( multiplier x6.0), 1596 (x8.0) and 2094 (x10.5). Couldn't find the voltages for each state, core VID says 1.038, stepping=6, Bus Speed=199.5

Should I try these 3 values as p-states, what should i write for voltage?

I also found CPU-X from Netkas, an app very similar to CPU-z

 

later i've found and tried this values for voltage http://www.cpu-world.com/sspec/SL/SLAUU.html, i've used the middle values... didn't seem to get cooler or less noisier

 

Edit: it works but only with 2 values, 1194 mhz and 1596mhz, doesn't go higher even in full load

Link to comment
Share on other sites

 Share

×
×
  • Create New...