drimzy Posted February 26, 2007 Share Posted February 26, 2007 no, for me.. Link to comment Share on other sites More sharing options...
naldo Posted February 27, 2007 Share Posted February 27, 2007 If you guys can get sleep working ... I would be forever in your debt (you can have my first born if you want it). Link to comment Share on other sites More sharing options...
ppan76 Posted February 27, 2007 Share Posted February 27, 2007 If you guys can get sleep working ... I would be forever in your debt (you can have my first born if you want it). you guys can have my right and left nut. Peanuts...that is. Link to comment Share on other sites More sharing options...
mifki Posted February 27, 2007 Share Posted February 27, 2007 Damn, i was getting evil plans of attaching them to a pidgeon. (your nuts) Work is still being done Link to comment Share on other sites More sharing options...
offall Posted February 28, 2007 Share Posted February 28, 2007 Damn, i was getting evil plans of attaching them to a pidgeon. (your nuts) Work is still being done Thanks in advance Okik, I really wish the new verison of cpu throttle will work not only on core duo or c2D but also on my pentiumD (it supports EIST as well but never works in either yours or Paulicat's pervious verions, always says load cpu failed) Link to comment Share on other sites More sharing options...
mifki Posted February 28, 2007 Share Posted February 28, 2007 yeah, i dont have that many cpu's to test on, but what i can i will test Link to comment Share on other sites More sharing options...
Siegfried Posted March 1, 2007 Share Posted March 1, 2007 I tried this on a Toshiba M400 with an Intel T2400 chip, the speedstep doesn't seem to work. There is one bogus value for P3. P0 though P2 are correct, however. Here is the log: ACPICPUThrottle: Adding CPU0 Feb 28 22:47:04 computer kernel[0]: ---> P0, 1830Mhz, 31000mW, 10us, 10us (ctrl=0xb2c, status=0xb2c) Feb 28 22:47:04 computer kernel[0]: ---> P1, 1330Mhz, 20000mW, 10us, 10us (ctrl=0x81d, status=0x81d) Feb 28 22:47:04 computer kernel[0]: ---> P2, 1000Mhz, 13000mW, 10us, 10us (ctrl=0x613, status=0x613) Feb 28 22:47:04 computer kernel[0]: ---> P3, 65535Mhz, 4294967295mW, 255us, 255us (ctrl=0xffff, status=0xffff) Feb 28 22:47:04 computer kernel[0]: ACPICPUThrottle: Using direct drive of Intel throttling Feb 28 22:47:04 computer kernel[0]: ACPICPUThrottle: Throttle failed with cur_status=0xb2c, want_status=0x0! Feb 28 22:47:04 computer kernel[0]: ACPICPUThrottle: Adding CPU1 Feb 28 22:47:04 computer kernel[0]: ACPICPUThrottle: No valid CPUs returned by ACPI! It's possible your BIOS does not think your system should be throttled and therefore did not return any available power states, or maybe your CPU only supports one other power state than maximum which is below 1Ghz! Link to comment Share on other sites More sharing options...
offall Posted March 1, 2007 Share Posted March 1, 2007 (edited) yeah, i dont have that many cpu's to test on, but what i can i will test Hi, Kiko, After played with my bios setting, I finally get the cpu throttle worked (kind of ), wow! its now 4AM but I am so excited. But it seems still something not quite right. I was wondering can you show me some cues. I am confused with two things now 1. there are so many failure report in my system log, what does it mean? 2. in windows, my cpu can run EIST on following frequency: 2.4G(PID12) 2.6G(PID13) 2.8G(PID14) 3.0G(PID15) 3.2G(PID16) 3.4G(PIO17) but now it seems the cputhrottle.kext only detect the minimum and maxnium, (in cpu throttle 2 app, it also only reports two states) any idea to enable rest of states? here is my log : ACPI CPU Throttle loaded : ACPICPUThrottle: Adding CPU0 : ACPICPUThrottle: type=82, datalen=12, _ASI=7f, _RBW=40, _RBO=0, _ADR=199 : ACPICPUThrottle: ACPI returns no ACPI throttling available : ACPICPUThrottle: type=82, datalen=12, _ASI=7f, _RBW=10, _RBO=0, _ADR=198 : ACPICPUThrottle: ACPI returns no ACPI throttling available : ---> P0, 3400Mhz, 89000mW, 10us, 10us (ctrl=0x1125, status=0x1125) : ---> P1, 2400Mhz, 68000mW, 10us, 10us (ctrl=0xc20, status=0xc20) : ACPICPUThrottle: Intel processor detected, family=f, model=6 : ACPICPUThrottle: Using direct drive of Intel throttling : ACPICPUThrottle: Setting CPU0 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Throttle failed with cur_status=0xc22, want_status=0x0! : ACPICPUThrottle: Adding CPU1 : ACPICPUThrottle: type=82, datalen=12, _ASI=1, _RBW=10, _RBO=0, _ADR=8f0 : ACPICPUThrottle: PCR=0x8f0 width 0 : ACPICPUThrottle: type=82, datalen=12, _ASI=1, _RBW=10, _RBO=0, _ADR=8f2 : ACPICPUThrottle: PSR=0x8f2 width 0 : ---> P0, 3400Mhz, 89000mW, 160us, 10us (ctrl=0x1125, status=0x1125) : ---> P1, 2400Mhz, 68000mW, 160us, 10us (ctrl=0xc20, status=0xc20) : ACPICPUThrottle: Using ACPI BIOS to throttle CPU : ACPICPUThrottle: Setting CPU1 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Writing 0xc20 width 16 to 0x8f0 : ACPICPUThrottle: Throttle succeeded! : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Adding CPU2 : ACPICPUThrottle: Failed with code -536870212 : ACPICPUThrottle: Adding CPU3 : ACPICPUThrottle: Failed with code -536870212 : ACPICPUThrottle: No valid CPUs returned by ACPI! It's possible your BIOS does not think your system should be throttled and therefore did not return any available power states, or maybe your CPU only supports one other power state than maximum which is below 1Ghz! ACPICPUThrottle: Setting CPU0 to powerstate 0 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 : ACPICPUThrottle: Throttle failed with cur_status=0xc23, want_status=0x0! : ACPICPUThrottle: Setting CPU0 to powerstate 0 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 : ACPICPUThrottle: Throttle succeeded with cur_status=0x1125, want_status=0x0! : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 : ACPICPUThrottle: Setting CPU1 to powerstate 0 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 : ACPICPUThrottle: Writing 0x1125 width 16 to 0x8f0 : ACPICPUThrottle: Throttle succeeded! : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 : -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. : -.-.-.-.-. : -.-.-.-.-.ACPICPUThrottle: Setting CPU0 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Throttle failed with cur_status=0xc22, want_status=0x0! : ACPICPUThrottle: Setting CPU0 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Throttle failed with cur_status=0xc21, want_status=0x0! : ACPICPUThrottle: Setting CPU0 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Throttle succeeded with cur_status=0xc20, want_status=0x0! : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Setting CPU1 to powerstate 1 : ACPICPUThrottle: rtc_cycle_count=170000000, newcount=120000000, cutoff=50000000 : ACPICPUThrottle: Writing 0xc20 width 16 to 0x8f0 : ACPICPUThrottle: Throttle succeeded! : ACPICPUThrottle: rtc Edited March 1, 2007 by offall Link to comment Share on other sites More sharing options...
mifki Posted March 1, 2007 Share Posted March 1, 2007 Wow you P3 is crazy, if only it ran that fast. Good on you Offal, what did u enable in Bios, EIST? also, throttle fails sometimes becuase it tries to do it to fast, changing the value seems to break it on core 2 duo's i dotn know why it would, but its maybe just me. Testing some more tonight Link to comment Share on other sites More sharing options...
mbaran Posted March 1, 2007 Share Posted March 1, 2007 Speed step works great here.. been working with Kiko on irc and it works well. Sleep is still a bust for me.. Link to comment Share on other sites More sharing options...
blinksilver Posted March 2, 2007 Share Posted March 2, 2007 I was wondering why no work had been done to port this to SSE2? Also is there a source patch of the kernel tree anyone can download, you know to tool around with? Link to comment Share on other sites More sharing options...
mifki Posted March 2, 2007 Share Posted March 2, 2007 well we cant do sse2 yet, as we have no sse2 source, semthex will do that later this/next week hopefully Link to comment Share on other sites More sharing options...
offall Posted March 2, 2007 Share Posted March 2, 2007 (edited) Wow you P3 is crazy, if only it ran that fast. Good on you Offal, what did u enable in Bios, EIST? also, throttle fails sometimes becuase it tries to do it to fast, changing the value seems to break it on core 2 duo's i dotn know why it would, but its maybe just me. Testing some more tonight Thanks Kiko for explainning the failure problem, that makes great sense! and I am not worrying now Great job on the previous kext, I really appreciate that ! I found a option in Bios says whether I want to enalbe speedstep function on all processors then suddenly the CPUThrottle start to working. but, I am not sure what do you mean P3, and why you say it crazy fast I get a Pentium D 945 which is essentially dual core pentium 4 running on 3.4G with EIST T2M. I want more than just two frequency (the min and max) but more "steps" when it adjust speed. do you think it is possible? Edited March 2, 2007 by offall Link to comment Share on other sites More sharing options...
mifki Posted March 2, 2007 Share Posted March 2, 2007 Hmm, i dunno, but i doubt it. If your cpu only supports two states then thats all you'll get i guess. You have to enable EST in the bios for it to work, imho. I'll look into it some more tonight Link to comment Share on other sites More sharing options...
blinksilver Posted March 2, 2007 Share Posted March 2, 2007 (edited) thanks kiko, I thought that this had been integrated with the SSE3 semthex kernel, and for some reason was not being done this for the SSE2 kernel, that is obviously not the case. Also what about a source tree for the new throttling kext? I know the one that is currently used was based off the original Neils one for 8.4.1, but a recent one would not be bad. I really want to try my hand at maybe modifying it a bit to allows for defining states based on aribitrary Vcore/multipler pairs like RMClock does in windows. Finally, and i don't know if this will help with sleep, but i had an insane time with sleep in linux on my laptop. A very similar problem happened, i would sleep, but i woke up, it either did not return the display state, or would crash instantly. So i did something rather simple, I dump the videocard state on sleep, and reloaded on wake, that way i ensured that everything was reinitialized properly, maybe this might help. here is the script (no credit here, i did not write it) # discover video card's ID ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'` # securely create a temporary file TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX` trap 'rm -f $TMP_FILE' 0 1 15 # switch to virtual terminal 1 to avoid graphics # corruption in X chvt 1 # write all unwritten data (just in case) sync # dump current data from the video card to the # temporary file cat /proc/bus/pci/$ID > $TMP_FILE # suspend echo -n mem > /sys/power/state # restore video card data from the temporary file # on resume cat $TMP_FILE > /proc/bus/pci/$ID /etc/init.d/networking restart # switch back to virtual terminal 7 (running X) chvt 9 sleep 4 # remove temporary file rm -f $TMP_FILE Edited March 2, 2007 by blinksilver Link to comment Share on other sites More sharing options...
mifki Posted March 2, 2007 Share Posted March 2, 2007 thanks, i dont know what the issue is with sleep yet, as it works fine for me. But that may help people (if it can be ported to os x) Link to comment Share on other sites More sharing options...
munky Posted March 2, 2007 Share Posted March 2, 2007 I would be interested to know, as my machine appears to sleep and wake correctly, except the display never comes back. The machine is fully active - responsive to ping, SSH, and I can access its drives over the network etc. I can connect with a VNC client, but while the window appears (indicating it connected successfully), it remains black. I guess the key is this line: # restore video card data from the temporary file # on resume cat $TMP_FILE > /proc/bus/pci/$ID But I suspect that we dont have a /proc on Mac OS X, but rather we need to poke around the IO tree. Anyone got any ideas where I can prod the machine to try to resurrect the gfx? Link to comment Share on other sites More sharing options...
ricren Posted March 2, 2007 Share Posted March 2, 2007 My two desktop machines do exactly the same thing as Munky's. They seem to wake up succesfully but I only get blank video. Definitely there's something to investigate down that line. Ric Link to comment Share on other sites More sharing options...
blinksilver Posted March 2, 2007 Share Posted March 2, 2007 (edited) often, so does my laptop, that is what this is really for, the videostate is not being reinitalized by hardware, i think they expect "windows" to do it, but alas nothing. So it was the fix. As for the no /proc, i was reading about it here http://www.kernelthread.com/mac/apme/procfs/, someone tried to port procfs over but with no luck, that does however mean that indeed all the data is there, we just need to get our hands on it. happy hacking : ) (my 10.4.8 SSE2 ISO just finished, so i am going to try to be more helpful now) I am really just getting to the point where i can really code stuff that matter (just finshed my second year). Edited March 2, 2007 by blinksilver Link to comment Share on other sites More sharing options...
offall Posted March 2, 2007 Share Posted March 2, 2007 (edited) Hmm, i dunno, but i doubt it. If your cpu only supports two states then thats all you'll get i guess. You have to enable EST in the bios for it to work, imho. I'll look into it some more tonight Thanks for explaination again, Kiko It seems to me that cputhrottle can set desire FID to control the frequency. in the log the ACPICPUThrottle: rtc_cycle_count=170000000, newcount=170000000, cutoff=50000000 (from what I can see, the rtc_cycle_count may be the part it send FID to cpu and the cutoff it the "step size"???) Since it only read the min and max FID from bios so it only sending 2 FID in order to control the cpu frequency I think one way may slove this question is to MANUALLY set all availble FIDs into cputhrottle (just my wild guess, forgive me if it is silly, may be modify the kext to make the cutoff=1000000 instead of 50000000 ? to enable all the FIDs as in windows using rightmark utility shown in following screenshot) , then wec an force it to use more FIDs (more steps) instead of just 2 Actually I think this is not only me, now the new CD or C2D have mutliple FIDs avaible (and mutilple VIDs, I don't know if cputhrottle can controll that), but from what I read in this thread, ppl only get max of 3-4 states lisited in cputhrottle kext , which is way less than the avaible ones, if you can manually add all the other aviablet PIDs to cputhrottle.kext , it will help to dynamiclly adjust the cpu speed. Edited March 2, 2007 by offall Link to comment Share on other sites More sharing options...
mifki Posted March 3, 2007 Share Posted March 3, 2007 Offal: It is possible to define your own steps in the source, this is what was done with the original speedstep kexts, so you could choose from a full range of FID/VID pairs. Im writing a kext to test, so once i get it working at home, i'll post a beta here Blinksilver: THe source tree for my kexts is basically nial's kext, just recompiled, with the fsb setting commented out (where it sets the fsb to 100mhz) and states lower than 1ghz enabled, im currently working on a new kext that will be easier for me to understand (as i would have coded it), and should allow full control and cpu state and that will read the available states from the acpi table or by defining them the source P.S: The kext will take some time, im pretty tied up at the moment P.P.S: The CPU Throttler App included in my pkg, isnt mine, i do not have source for it so i cant change it. Maybe once this kext is done, i'll write a app to control it Link to comment Share on other sites More sharing options...
offall Posted March 5, 2007 Share Posted March 5, 2007 (edited) Offal: It is possible to define your own steps in the source, this is what was done with the original speedstep kexts, so you could choose from a full range of FID/VID pairs. Im writing a kext to test, so once i get it working at home, i'll post a beta here Blinksilver: THe source tree for my kexts is basically nial's kext, just recompiled, with the fsb setting commented out (where it sets the fsb to 100mhz) and states lower than 1ghz enabled, im currently working on a new kext that will be easier for me to understand (as i would have coded it), and should allow full control and cpu state and that will read the available states from the acpi table or by defining them the source P.S: The kext will take some time, im pretty tied up at the moment P.P.S: The CPU Throttler App included in my pkg, isnt mine, i do not have source for it so i cant change it. Maybe once this kext is done, i'll write a app to control it Great to hear back from you Kiko, concentrate on your own stuff first, we will wait for your good news! Edited March 5, 2007 by offall Link to comment Share on other sites More sharing options...
mifki Posted March 5, 2007 Share Posted March 5, 2007 Heh, it seems i rushed to much to make my own kext. I think you can just add your own values into the source of the current kext. I'll also play around with the switching time. i'll up it from 10 to 15 to see if it makes a diffeernce Link to comment Share on other sites More sharing options...
casamac Posted March 5, 2007 Share Posted March 5, 2007 i dont know if the paulicat package to fix the speedstep to improve the battery life work on my Pentium M 1.73. sorry if tha was posted. but i have a poor english. XD Link to comment Share on other sites More sharing options...
SaberSHO Posted March 5, 2007 Share Posted March 5, 2007 Wow, I step away fore a few weeks and you guys fixed it thats awesome. I had continued work to CPUThrottler2, but had quit when i found out it wouldnt work in 10.4.8. However, i have a much improved version nearly completed and after my midterm tommorow, I will get seriously back to work on it. Kiko, i just recieved your PM asking for the source for CPUTHrottler. Let me finish up what I have started and clean up the code and then I will be willing to share it with you. Link to comment Share on other sites More sharing options...
Recommended Posts