Jump to content

New version 1.1 of GenericCPUPowerManagement


Superhai
 Share

625 posts in this topic

Recommended Posts

I have a T7300 too. When running with the kext and the app set to displaying freq I see it jump back and forth between 600 and 1000 quite a lot. For instans just by typing this message in safari it switches all the time. When I in a former version got 800-1200-1600-2000 it was very stable in 800 except when doing something heavy.

 

You can set the threshold for when it will switch the p-states in Info.plist in the kext.

Link to comment
Share on other sites

Your kext works very well now for me, also detection of energy source (AC or battery) works with Chun Nan (Now named Eureka) ACPIBattery kext....!!!!!

 

Thanks, now my hack is almost complete... (Next step is sleep, perhaps with pc_efi 9 !)

Link to comment
Share on other sites

I have chmoded it and all but when loaded

 

FavleX:~ ema$ sudo kextload /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext 
kextload: extension /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext is not authentic (check ownership and permissions; run with -t for details)

 

??

Link to comment
Share on other sites

I have chmoded it and all but when loaded

FavleX:~ ema$ sudo kextload /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext 
kextload: extension /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext is not authentic (check ownership and permissions; run with -t for details)

??

1. recursive owner/group needed : sudo chown -R root:wheel /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext

2. also do recursive : sudo chmod -R 755 /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext

This may needed after DL or if you change something in the .plist

Link to comment
Share on other sites

1. recursive owner/group needed : sudo chown -R root:wheel /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext

2. also do recursive : sudo chmod -R 755 /Users/ema/Desktop/superhai/GenericCPUPowerManagement.kext

This may needed after DL or if you change something in the .plist

Thanks.

Just did it before but no way ;)

[Edit] My fault.I'm dumb.Mistake on typing :P

 

Then , the kext is loaded correctly , the app is working but when using it on manual the cpu freq doesn't change at all

5704923-2eb.png

Link to comment
Share on other sites

It is stuck at 798MHz.

 

"CPU Status" = {"Auto Throttle"=Yes,"Load"=0xc8,"Temperature"=0x25,"Current profile"=0x0,"High jump"=0x12c,"Voltage"=0x4ee,"Timer"=0x64,"Low jump"=0x96,"Frequency"=0x31e,"Kext Timer"=0x2e7e,"Kext Online"=Yes,"Current state"=0x3,"Voltage ID"=0x2c,"Frequency ID"=0x6}

"CPU Init" = {"CTL max"=0xd2c,"FSB frequency min"=0x214,"Signature"=0x6e8,"FSB frequency max"=0x214,"CTL min"=0x62c,"Kext unlock"=No,"Kext version"=0x10011,"Brand string"="Genuine Intel® CPU T2250 @ 1.73GHz","Voltage max"=0x4ee,"Frequency min"=0x31e,"Frequency max"=0x6c1,"Voltage min"=0x4ee}

Link to comment
Share on other sites

Tried last version on Msi Wind

 

emanueles-u-183:SuperHai emanuele$ ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "CPU "
  "CPU Status" = {"Auto Throttle"=No,"Load"=0x6e,"Temperature"=0x1f,"Current profile"=0x1,"High jump"=0xfa,"Voltage"=0x384,"Timer"=0xfa,"Low jump"=0x96,"Frequency"=0xc7e,"Kext Timer"=0x2a8,"Kext Online"=Yes,"Current state"=0x3,"Voltage ID"=0xf,"Frequency ID"=0x6}
  "CPU Init" = {"CTL max"=0xc23,"FSB frequency min"=0x854,"Signature"=0x106c2,"FSB frequency max"=0x854,"CTL min"=0x60f,"Kext unlock"=No,"Kext version"=0x10011,"Brand string"="Intel(R) Atom(TM) CPU N270   @ 1.60GHz","Voltage max"=0x47e,"Frequency min"=0xc7e,"Frequency max"=0x835,"Voltage min"=0x384}
emanueles-u-183:SuperHai emanuele$

 

The Frequency cursor doesn't move on the GUI interface

5713540-516.png

 

 

You have a gigabyte board right?

 

Yes a DS4 and the Wind indeed.

 

Now I must remember how to change FSB as u mentioned before..

Link to comment
Share on other sites

I overclocked my Q9550 to 3.4Ghz and the frequency is no longer recognized correctly:

 

Daxs-Apple-Mizuki:~ dax$ ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "CPU "

"CPU Status" = {"Auto Throttle"=Yes,"Load"=0x0,"Temperature"=0x15,"Current profile"=0x0,"High jump"=0x12c,"Voltage"=0x3db,"Timer"=0xfa,"Low jump"=0x96,"Frequency"=0x96,"Kext Timer"=0xb56,"Kext Online"=Yes,"Current state"=0x3,"Voltage ID"=0x16,"Frequency ID"=0x6}

"CPU Init" = {"CTL max"=0x481d,"FSB frequency min"=0x64,"Signature"=0x1067a,"FSB frequency max"=0x64,"CTL min"=0x616,"Kext unlock"=No,"Kext version"=0x10010,"Brand string"="Intel® Core™2 Quad CPU Q9550 @ 2.83GHz","Voltage max"=0x433,"Frequency min"=0x96,"Frequency max"=0xd4,"Voltage min"=0x3db}

 

It shows up as:

 

picture2bb0.png

 

Did I miss something basic? :lol:

 

Edit: Hmm, it seems like sysctl isn't recognizing my CPU speed very well. It also says 150mhz.

Link to comment
Share on other sites

Tried last version on Msi Wind

 

The Frequency cursor doesn't move on the GUI interface

Likewise, looks like it's because the CPU is detected as having a minimum frequency greater than the maximum Here's the dmesg output when using the debug build:

 

GenericCPUPowerManagement:	31:0(XE)
GenericCPUPowerManagement: 32-37:24(MVID) 38:0 39:0
GenericCPUPowerManagement: 40-44:0C(MFID) 45:0 46:0(N2) 47:0
GenericCPUPowerManagement: 48-53:0F(XVID) 54:0 55:0
GenericCPUPowerManagement: 56-60:06(XFID) 61:0 62:0(N2) 63:0(DFSB)
GenericCPUPowerManagement: -- MSR_IA32_PERF_CTL MSR		00000C24 00000000
GenericCPUPowerManagement: 00-05:24(TVID) 06:0 07:0
GenericCPUPowerManagement: 08-12:0C(TFID) 13:0 14:0(N2) 15:0(DFSB)
GenericCPUPowerManagement: 16-31:0000
GenericCPUPowerManagement:	32:0(IDA-D)
GenericCPUPowerManagement: -- MSR_IA32_THERM_INTERRUPT MSR 00000000 00000000
GenericCPUPowerManagement: -- MSR_IA32_THERM_STATUS MSR	88330000 00000000
GenericCPUPowerManagement: 16-22:33(DREAD)
GenericCPUPowerManagement: 27-30:1(RES)
GenericCPUPowerManagement:	31:1(VALID)
GenericCPUPowerManagement: Probe result: mVID = 24 mFID = 0C
GenericCPUPowerManagement: [Debug] ACPI suggested states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug]  Our suggested states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug]		 Actual states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug] Thermal Junction Max is 90 C current temperature is 37 C
GenericCPUPowerManagement: [Debug] CPU low 712 mV step 12 mV mobile 1
GenericCPUPowerManagement: [Debug] CPU bus frequency is 533 MHz
GenericCPUPowerManagement: [Debug] CPU Max frequency 2101 MHz MSR ratio 12.0 voltage 1162 mV
GenericCPUPowerManagement: [Debug] CPU Min frequency 3198 MHz MSR ratio 6.0 voltage 900 mV
GenericCPUPowerManagement: [Debug] ---
GenericCPUPowerManagement: Generic CPU Power Management Driver 1.0 <snip long line>
GenericCPUPowerManagement: For internal use only. <snip long line>
GenericCPUPowerManagement: [Debug] ---
GenericCPUPowerManagement: [Debug] P-state 0 -> fid 12 (2101032704), vid 24 (1162)
GenericCPUPowerManagement: [Debug] P-state 1 -> fid 134 (1599000000), vid 1d (1075)
GenericCPUPowerManagement: [Debug] P-state 2 -> fid 8 (4264000000), vid 16 (987)
GenericCPUPowerManagement: [Debug] P-state 3 -> fid 6 (3198000000), vid f (900)
GenericCPUPowerManagement: [Debug] EIST Enabled and Locked
GenericCPUPowerManagement: [Debug] Clock rate: CPU 2101 MHz - Bus 2132 MHz - Dec 1000 MHz
GenericCPUPowerManagement: [Debug] Bus clock rate 100000000 - den 1
GenericCPUPowerManagement: [Debug] Bus/CPU rate 12 - den 2
GenericCPUPowerManagement: [Debug] Bus/dec rate 1 - den 0
GenericCPUPowerManagement: [Debug] Timebase frequency 1000000000 hz
GenericCPUPowerManagement: [Debug] CPU min/max (3198 MHz - 2101 MHz)
GenericCPUPowerManagement: [Debug] Bus min/max (2132 MHz - 2132 MHz)
GenericCPUPowerManagement: [Debug] Auto timeout 250, high 300, low 150
GenericCPUPowerManagement: [Debug] Requested new p-state 0C24
GenericCPUPowerManagement: [Debug] Requested new p-state 060F
GenericCPUPowerManagement: [Debug] We are on A/C
GenericCPUPowerManagement: [Debug] Current p-state 3 with fid 6 p-state fid 6 pos 1
GenericCPUPowerManagement: [Debug] We have loaded completely and ready for action

Chip in the MSI Wind is the Intel Atom N270, normal speedstep range is 900MHz to 1600MHz (ignoring overclock settings). Let me know if you need any extra info. :(

Link to comment
Share on other sites

Likewise, looks like it's because the CPU is detected as having a minimum frequency greater than the maximum Here's the dmesg output when using the debug build:

 

GenericCPUPowerManagement:	31:0(XE)
GenericCPUPowerManagement: 32-37:24(MVID) 38:0 39:0
GenericCPUPowerManagement: 40-44:0C(MFID) 45:0 46:0(N2) 47:0
GenericCPUPowerManagement: 48-53:0F(XVID) 54:0 55:0
GenericCPUPowerManagement: 56-60:06(XFID) 61:0 62:0(N2) 63:0(DFSB)
GenericCPUPowerManagement: -- MSR_IA32_PERF_CTL MSR		00000C24 00000000
GenericCPUPowerManagement: 00-05:24(TVID) 06:0 07:0
GenericCPUPowerManagement: 08-12:0C(TFID) 13:0 14:0(N2) 15:0(DFSB)
GenericCPUPowerManagement: 16-31:0000
GenericCPUPowerManagement:	32:0(IDA-D)
GenericCPUPowerManagement: -- MSR_IA32_THERM_INTERRUPT MSR 00000000 00000000
GenericCPUPowerManagement: -- MSR_IA32_THERM_STATUS MSR	88330000 00000000
GenericCPUPowerManagement: 16-22:33(DREAD)
GenericCPUPowerManagement: 27-30:1(RES)
GenericCPUPowerManagement:	31:1(VALID)
GenericCPUPowerManagement: Probe result: mVID = 24 mFID = 0C
GenericCPUPowerManagement: [Debug] ACPI suggested states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug]  Our suggested states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug]		 Actual states Max-Min FID 0C-06 VID 24-0F
GenericCPUPowerManagement: [Debug] Thermal Junction Max is 90 C current temperature is 37 C
GenericCPUPowerManagement: [Debug] CPU low 712 mV step 12 mV mobile 1
GenericCPUPowerManagement: [Debug] CPU bus frequency is 533 MHz
GenericCPUPowerManagement: [Debug] CPU Max frequency 2101 MHz MSR ratio 12.0 voltage 1162 mV
GenericCPUPowerManagement: [Debug] CPU Min frequency 3198 MHz MSR ratio 6.0 voltage 900 mV
GenericCPUPowerManagement: [Debug] ---
GenericCPUPowerManagement: Generic CPU Power Management Driver 1.0 <snip long line>
GenericCPUPowerManagement: For internal use only. <snip long line>
GenericCPUPowerManagement: [Debug] ---
GenericCPUPowerManagement: [Debug] P-state 0 -> fid 12 (2101032704), vid 24 (1162)
GenericCPUPowerManagement: [Debug] P-state 1 -> fid 134 (1599000000), vid 1d (1075)
GenericCPUPowerManagement: [Debug] P-state 2 -> fid 8 (4264000000), vid 16 (987)
GenericCPUPowerManagement: [Debug] P-state 3 -> fid 6 (3198000000), vid f (900)
GenericCPUPowerManagement: [Debug] EIST Enabled and Locked
GenericCPUPowerManagement: [Debug] Clock rate: CPU 2101 MHz - Bus 2132 MHz - Dec 1000 MHz
GenericCPUPowerManagement: [Debug] Bus clock rate 100000000 - den 1
GenericCPUPowerManagement: [Debug] Bus/CPU rate 12 - den 2
GenericCPUPowerManagement: [Debug] Bus/dec rate 1 - den 0
GenericCPUPowerManagement: [Debug] Timebase frequency 1000000000 hz
GenericCPUPowerManagement: [Debug] CPU min/max (3198 MHz - 2101 MHz)
GenericCPUPowerManagement: [Debug] Bus min/max (2132 MHz - 2132 MHz)
GenericCPUPowerManagement: [Debug] Auto timeout 250, high 300, low 150
GenericCPUPowerManagement: [Debug] Requested new p-state 0C24
GenericCPUPowerManagement: [Debug] Requested new p-state 060F
GenericCPUPowerManagement: [Debug] We are on A/C
GenericCPUPowerManagement: [Debug] Current p-state 3 with fid 6 p-state fid 6 pos 1
GenericCPUPowerManagement: [Debug] We have loaded completely and ready for action

Chip in the MSI Wind is the Intel Atom N270, normal speedstep range is 900MHz to 1600MHz (ignoring overclock settings). Let me know if you need any extra info. :D

Ok.It's supposed to be 800Mhz to 1600Mhz.

 

So In ur opinion what can I do for having it correctly recognised ?

 

I got it tested with vanilla and voodoo_beta2 kernels as well.

 

Just to say...

With modified dsdt, that kext and Apple's intelcpupm i've won one hour of battery !

 

What ? ;) could you be a bit more detailed please ? Very interested !

Link to comment
Share on other sites

any way to add fan control to this too?

 

PS, I'm using a lenovo s10, it is an atom 270, my frequency shows 300-600, but it's a 1.6 ghz chip, probably the same issue the MSI wind poster had, same chip & chipset

 

 

Before loading kext, about this mac shows 1.6 ghz

 

after loading kext it shows 600mhz

 

 

and the control gui only lets me go up to 600 mhz

 

hw.busfrequency shows the same before and after loading the kext

Link to comment
Share on other sites

Hardware Overview:

 

Model Name: Mac

Model Identifier: Lenovo

Processor Name: Intel® Atom CPU N270 @

Processor Speed: 1.6 GHz

Number Of Processors: 1

Total Number Of Cores: 1

CPU Features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON DSCPL EST TM2 SSSE3 TPR PDCM

Memory: 2.5 GB

Bus Speed: 200 MHz

L2 Cache: 256 KB

 

 

 

 

after kextload

 

Model Name: Mac

Model Identifier: Lenovo

Processor Name: Intel® Atom CPU N270 @

Processor Speed: 600 MHz

Number Of Processors: 1

Total Number Of Cores: 1

CPU Features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM SSE3 MON DSCPL EST TM2 SSSE3 TPR PDCM

Memory: 2.5 GB

Bus Speed: 200 MHz

L2 Cache: 256 KB

 

 

lenovo:downloads mega$ ioreg -lwxo -r -c GenericCPUPowerManagement | grep "CPU"

+-o GenericCPUPowerManagement <class GenericCPUPowerManagement, registered, matched, active, busy 0, retain 4>

"CFBundleIdentifier" = "com.superhai.driver.GenericCPUPowerManagement"

"IOMatchCategory" = "GenericCPUPowerManagement"

"CPU Status" = {"Auto Throttle"=Yes,"Load"=40,"Temperature"=39,"Current profile"=0,"High jump"=300,"Voltage"=900,"Timer"=250,"Low jump"=150,"Frequency"=300,"Kext Timer"=147,"Kext Online"=Yes,"Current state"=3,"Voltage ID"=15,"Frequency ID"=6}

"IOClass" = "GenericCPUPowerManagement"

"CPU Init" = {"CTL max"=3105,"FSB frequency min"=200,"Signature"=67266,"FSB frequency max"=200,"CTL min"=1551,"Kext unlock"=No,"Kext version"=65553,"Brand string"="Intel® Atom CPU N270 @ 1.60GHz","Voltage max"=1125,"Frequency min"=300,"Frequency max"=600,"Voltage min"=900}

lenovo:downloads mega$

Link to comment
Share on other sites

Before loading kext, about this mac shows 1.6 ghz

 

after loading kext it shows 600mhz

 

 

and the control gui only lets me go up to 600 mhz

 

hw.busfrequency shows the same before and after loading the kext

 

Weird.IN my case ,tried on battery , the cpu and freq changed

 

5715600-97c.png

Link to comment
Share on other sites

any way to add fan control to this too?

 

No, that is out if this scope... unless you have a fan inside your cpu :)

 

PS, I'm using a lenovo s10, it is an atom 270, my frequency shows 300-600, but it's a 1.6 ghz chip, probably the same issue the MSI wind poster had, same chip & chipset

Before loading kext, about this mac shows 1.6 ghz

 

after loading kext it shows 600mhz

and the control gui only lets me go up to 600 mhz

 

hw.busfrequency shows the same before and after loading the kext

 

You have wrong fsb as well. The Atom CPU should show around 533 MHz. Fix that.

 

GenericCPUPowerManagement: [Debug] CPU bus frequency is 533 MHz

Chip in the MSI Wind is the Intel Atom N270, normal speedstep range is 900MHz to 1600MHz (ignoring overclock settings). Let me know if you need any extra info. :)

 

If you had correct fsb reported from OSX it would have showed 133 MHz not 533. Tell me if you use pc_efi, what smbios etc.

 

Mh it's working now, but it still displays the wrong frequency. I also get a KP when the voltage is too far down. I don't think it happens on auto mode, but I tried manual mode on 925 mV and the computer crashed.

 

Post the output of ioreg -lxw0 -r -c GenericCPUPowerManagement | grep "CPU "

If you undervolt with high frequencies the cpu becomes unstable. Therefore you get a kp.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...