[Tut] Milestone OC Application [Tut]

Discussion in 'Cyanogenmod' started by Bear in NM, Dec 18, 2010.

  1. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Edit: 01/14/11 to add third methodology. Please see below.
    Edit: 01/17/11 to add info on link for Milestone OC v. 1.4.7

    Synopsis: Thanks to Tiago Sousa (the developer), we now have at our disposal an application that will make the flashing of alternative kernels unnecessary for overclocking and voltage selections to optimize
    the battery life and speed of our original Droid phones. The application is completely compatible with the SetCPU application which many of us have grown to love, and allows for on-the-fly adjustments of speed slots and voltages. Historically, to achieve changes in slots and voltages it was necessary to flash alternate kernels, many times with the end results being unsatisfactory due to uncertainties about voltage, the disruption of other kernel associated features and last but not least the dreaded boot loops. "What or who's the best kernel to run with my phone?" The answer is now the stock CM kernel, where you set the speed slots and voltages to match your desires.

    The complete information about this application can be found at the following link, and should be read:

    milestone-overclock - Project Hosting on Google Code

    This page is the home page to the application, and I will not try and cover the ground in this post. While this application was developed to assist the Milestone phone with overclocking, Mr. Sousa saw fit to create an almost portable version compatible with our droid phones. Almost, as the application may require slight adjustments to suit particular kernels. In the case of our Droid's running CM6.1, 6.11 or 6.1.2, DF member Prime recompiled the application to be compatible with our phones. Prime was instrumental on recompiling the stock CM kernel to repair the non-functioning Compcache settings in CM6.1, and has offered his continued support to maintain functionality of the Milestone program. If member Prime is ever in northern New Mexico the meal and drinks are on me. Currently it is functional on CM 6.1, 6.1.1 and 6.1.2. Perhaps some of you have noted the length of this original compcache thread

    http://www.droidforums.net/forum/koush/76452-comp-cache.html

    this was due to Primes work in fixing compcache and recompiling the Milestone application. There is much valuable information on Milestone in this thread, and thanks to many DF members, Captdroid, Wingdo, Furbearingmammal and many others, we have confirmed functionality and begun to explore values and share results. In a nutshell, if you want to explore minimum voltages to increase battery life then this is your program. If you want to try to push your Droid to 1.3gigs for that
    ultimate Screenshot in Quadrant then this is your program. Or if you are like many of us who want to explore the possibilities of maximizing performance and battery life while keeping heat levels to a minimum, then this is for you. It can be set up with just a few screen strokes, or you can tear into the nuts and bolts of your processor with terminal commands. You choose.

    Note: While the application is available in the android market, the market version is not compatible with CM. Same for the files available for download on Mr. Sousa's wiki page. This should not deter you from perhaps donating to Mr. Sousa. There is a link on his wiki page.

    I have hosted Prime's modified application file. My hosting ablilities are pretty weak, DF member Prime has ok'd additional hosting:

    MilestoneOverclock145.apk - download now for free. File sharing. Software file sharing. Free file hosting. File upload. FileFactory.com MilestoneOverclock145.apk from FileFactory.com

    Edit:01/17/11
    For latest modified MSOC modded apk by member Prime, see post number 146 of this thread for link. Per post:

    New version was available....primed and ready.
    Milestone Overclock 1.4.7 for Cyanogen Mod 6/7: http://db.tt/71f4R3T
    end edit

    I have included the link to the stock CM6.1 kernel for those of you who may be using another's kernel.

    Stock kernel download - CyanogenMod Forum

    To install, move the file to your sd card root. Be sure to enable install from unknown sources (setting/applications check unknown sources)
    Using Astro, Root Explorer or your prefered method, press on the file and install
    Once installed, reboot the phone.

    There are basically three ways to modify your slots and voltages. One being just the application whereby you have default values for lower slots
    with the ability to change the upper slot and voltage. The second is to run a terminal command (or scrpit file) to set all slots and volatges. the third method requires a bit more work whereby you determine specific addresses for your processor to run terminal or batch commands to make adjustments. I will cover the first two methods here. And I will assume you have spent a little time on the wiki page getting a basic understanding of terminology and theory.

    In the program, rate is defined as your slot or khz or speed (125, 250, 400, 550 etc). Vsel is your voltage defined as
    voltage= 0.6v + (vsel value x 0.0125v), with our TI processors rated to 1.6V max. But the program comes with stock vsel values that are safe, so you do not need to worry about making slight changes. The formula is provided for those who want to know.

    Method 1:
    Open the Milestone application.
    You will see a screen with load module, refresh, the slider for settings, apply and autoload on boot.
    1) load module. You should see in the message at the top the module is loaded.
    2) move the slider to the right. As you do you will see the slot mhz reported as well as the vsel. As move to the right you will see your slot increase as well as a changing vsel value. These are all safe to use. When you press apply, you will see a message indicating your clock speed and vsel setting. You have just overclocked your phone, overridding the stock CM top speed, and when you check setcpu you will see the reported values are indeed working. You have just discovered
    the first breakthrough of this application. Your stock CM6.1.2 kernel of 800 tops can be overclocked to 1000 and beyond, with no additional kernel flash.

    If you move the slider all the way to the right, you will see custom in the message field. At this point press your phone menu button, then press settings and you will enter the custom screen. Here you can change the custom rate and vsel value, the first two screens. ignore the mpu_opps_addr and cpufreq_stats_table_addr boxes, as they are not needed. You can change the slot and vsel, effectively changing speed and voltage. Press ok to return to the main screen, then apply.
    Congratulations, you have just set your max speed and corresponding voltage. And here is the beauty. On the main screen, autoload on boot should not be checked. You can run your phone, test whatever you wish (run that Quadrant at 1.3gig), and if your settings create an unstable condition, the phone will reboot with no ill effect. the autoload on boot is used once you have tested your combination of top slot and voltage. Long gone are the days of flashing those top speed kernels, waiting for the dreaded boot loop.

    Method 2:
    Open the Milestone application.
    Load the module

    In your favorite terminal program type:
    echo "60" > /proc/overclock/max_vsel
    echo "1000000" > /proc/overclock/max_rate
    echo "1 125000000 22" > /proc/overclock/mpu_opps
    echo "2 250000000 26" > /proc/overclock/mpu_opps
    echo "3 400000000 32" > /proc/overclock/mpu_opps
    echo "4 550000000 38" > /proc/overclock/mpu_opps
    echo "5 600000000 40" > /proc/overclock/mpu_opps
    echo "6 700000000 46" > /proc/overclock/mpu_opps

    Edit 12/21/10: per advice from DF Member captdroid, below is a list of the CM stock kernel values which
    might provide a more stable beginning script. Insert numbers in above terminal (batch commands):

    700 vsel=62
    600 vsel=62
    550 vsel=56
    400 vsel=50
    250 vsel=39
    125 vsel=39



    Congratulations, you have just set 7 slots of speed, with a corresponding voltage for each slot. The commands I have listed are safe and were pulled from the Milestone wiki page. The first "60" is the vsel value for the 1gig slot, with each of the subsequent slots having the associated vsel value. 550 is a vsel of 38, for example.

    If you pop into Setcpu's info screen you will see time in state for these values, indicating proper functioning. And the sliders/settings in Setcpu do work. Optionally in Terminal you can type:

    cat /proc/overclock/mpu_opps

    to verify the status.
    I have created a script file that I run after boot with the above table. If you set the Milestone OC module to autoload at boot with one of the
    lower settings, you boot the phone, run the script and preserve your slots and voltages.

    Alternately, DF member Wingdo provided a nifty little fix to run these commands at boot. Similar to the old compcache loading methodology.
    create a 99init batch file, and insert in /system/etc/init.d

    edit 12/21/10 99overclock file does not need .sh extension
    From Wingdo:
    (99overclock file)
    #!/system/bin/sh
    sleep 180
    echo "60" > /proc/overclock/max_vsel
    echo "1000000" > /proc/overclock/max_rate
    echo "1 125000000 22" > /proc/overclock/mpu_opps
    echo "2 250000000 26" > /proc/overclock/mpu_opps
    echo "3 400000000 32" > /proc/overclock/mpu_opps
    echo "4 550000000 38" > /proc/overclock/mpu_opps
    echo "5 600000000 40" > /proc/overclock/mpu_opps
    echo "6 700000000 46" > /proc/overclock/mpu_opps

    The 99 overclock file is placed in /system/etc/init.d , where it is run at boot. The sleep 180 tells the script file to sleep for 180 seconds (3 minutes) before finishing. If you have the Milestone module set to auto load at boot, the 3 minutes lets the Milestone application load, then the script file finishes loading your slots and voltages. I have reduced to 90 seconds and it works with my boot. You may need to experiment. Again, you can check with (terminal),
    edit 12/21/10
    and please see post #20 in this thread for additional information on sleep settings:

    cat /proc/overclock/mpu_opps

    to confirm.

    From the Milestone Wiki page:

    The following table lists frequencies/voltages that appear to work well together, albeit with very conservative voltages.
    These are the values available in the app by default (thanks to kabaldan for corrections):
    Frequency (KHz) vsel Voltage (V)
    550000 56 1.3
    600000 62 1.375
    800000 68 1.45
    1000000 74 1.525
    1200000 80 1.6

    max_vsel
    Frequency Stable (>=) Possibly unstable Probably unstable (<=)
    550 56
    800 58 56 .. 54 52
    1000 60 58 .. 56 54
    1100 64 62 .. 60 58
    1200* 76 74 .. 70 68
    1330* 84

    This should be enough to get started. Some of us here have been testing and sharing results using the Setcpu stress test, Quadrant and other apps to test for stability. In the wiki there is mention of the camera and video app being a large stress to your settings, as well as some of the games availabale to us. There is a lot of information in the mentioned Compcache thread here in this forum. I hope that perhaps we can move the discussion of this application to this thread, to isolate this application. I was "voluntered" to put this together, and am in testing mode right now, but we have a handfull of extremely talented folks here who should be able to answer any questions.

    Right now I can run my phone at 1 gig with a vsel of 60, and browse the web with videos and my phone runs at 86 degrees F. Battery life is great for my use. What's not to like?

    Thanks, and for those of you who have been invaluable to me (take a bow captdroid) answering my silly questions needed to start this ball rolling, please make corrections,

    Craig

    Edit: 01/14/11

    For those playing along so far, you have probably discovered the possibility to run the MSOC with scripting, after boot, to load values. In the Compcache thread linked above, Df Member Prime has taken the process to the third level, inserting the modules and slots via a boot script, that will run at boot, and does not need the Milestone OC application to load or run. As a matter of fact, if you have Milestone loaded, you will specifically want to unload or uninstall. The process is similar to the script loading methodology described above, with a change to the actual script used in the init file. member Prime figured the way to manually force the speeds to the proper addresses for the D1 phone's frequency table and values.

    THIS METHOD MAY BE SAFE FOR PHONES OTHER THAN THE D1, BUT YOU WILL NEED TO DETERMINE YOUR FREQUENCY TABLE ADDRESSES. AND THEN TEST.

    As described above, you need to create a 99init batch file, and insert in /system/etc/init.d which will run at boot. You will also need to chmod properly. I will not go into detail here, as this is certainly advanced phone tweaking, and this can be done in several ways. And again you want to first disable MSOC from loading at boot, and/or uninstall.
    The following are the lines that need to be in the new 99init file:

    MODULES_DIR=/system/lib/modules
    MODULE=overclock.ko
    MODPARM="omap2_clk_init_cpufreq_table_addr=0xc003e094 mpu_opps_addr=0xc0530064 cpufreq_stats_table_addr=0xc052208c"
    cd $MODULES_DIR
    insmod $MODULE $MODPARM

    echo "6 200000" > /proc/overclock/freq_table
    echo "1 200000000 28" > /proc/overclock/mpu_opps

    echo "5 400000" > /proc/overclock/freq_table
    echo "2 400000000 32" > /proc/overclock/mpu_opps

    echo "4 500000" > /proc/overclock/freq_table
    echo "3 500000000 38" > /proc/overclock/mpu_opps

    echo "3 600000" > /proc/overclock/freq_table
    echo "4 600000000 48" > /proc/overclock/mpu_opps

    echo "2 700000" > /proc/overclock/freq_table
    echo "5 700000000 54" > /proc/overclock/mpu_opps

    echo "1 800000" > /proc/overclock/freq_table
    echo "6 800000000 58" > /proc/overclock/mpu_opps

    echo "60" > /proc/overclock/max_vsel
    echo "900000" > /proc/overclock/max_rate

    Obviously the lines above need to be used as a template for the slots that you have previously tested, along with your vsel settings. WARNING: once this file is modified and inserted into your init folder, it will run at boot. If you bork this in any way, you could produce an unstable boot situation, which will REQUIRE a backup restore from recovery. There is one other recovery possible using the default phone feature whereby plugging your phone in will default Setcpu to a higher slot than your lowest loaded, but this ability should not be relied upon in lieu of establishing proper slots and vsel settings using MSOC. and would likley only help with a too low vsel setting in your lowest slots.

    The following are notes describing a bit more behind the process, from member Prime:

    Notice the 'mpu_opps_addr=0xc0530064' and 'cpufreq_stats_table_addr=0xc052208c' lines I added to the module parameters (the MODPARM line), this is the reason milestone overclock correctly reports TiS to SetCPU...it feeds this information to the overclock module upon loading.

    To get (or test to see if they are the same) the mpu_opps_addr= and cpufreq_stats_table_addr= values load the module with milestone overclock, run "dmesg | tail" (no quotes) in a terminal and you will see the values listed.

    *edit*
    Saved the above script as 99overclock, placed script in /system/etc/init.d, rebooted, SetCPU TiS (Time in State) reports changes correctly...let me know if there is anything else that needs more work or information and I will do my best to help.

    Here is the above script: Download 99overclock.zip
    Last edited: Jan 17, 2011
  2. virtueoftheabsurd
    Offline

    virtueoftheabsurd New Member

    Joined:
    Jun 21, 2010
    Messages:
    66
    Likes Received:
    0
    Trophy Points:
    0
    Craig, thanks for the writeup. I'm looking forward to playing around with this.

    I really have no sense of what the vsel values correspond to. Do you have any idea what the defaults are for the CM kernel? Or for Chevy's ULV or LV kernels? I just want some reference point. Thanks again!
  3. kevdog
    Offline

    kevdog New Member

    Joined:
    Nov 14, 2009
    Messages:
    722
    Likes Received:
    0
    Trophy Points:
    0
    Wow -- extremely good news here -- and thanks for the great writeup. Just more crap for me to play with!!
  4. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Virtue,

    I'm not sure what CM comes with stock, but the Milestone app defaults are:
    550 56
    600 60
    800 66
    1000 74
    1200 80

    These are safe for our phones. This differs slightly from the table in my post, but either work. The app values were settled upon after scads of testing by the Milestone folks (same processor), as they have been tweaking this since about May of this year, I think.

    As to the other kernels, herein lies our historical "issue" with voltage. Is brand x ulv really a lv when compared to brand y. If you can find reports of the actual voltage from these other kernels, v= 0.6v + (vsel x 0.0125v) will give you their corresponding vsel number. But honestly, I would suggest using the stock values as a starting point, and let heat, speed and battery life tell the tale. If you read through just the last 3 or so pages of the big compcache thread, you will see some screens shots of stunning battery life.

    My phone will run with 1000 at vsel of 60. Doing the math, I am running at 80% of even the suggested low stable stock vsel in the app. And web videos, 86 degrees F max temp. I tried a slew of other kernels over the year, and no one could touch that.

    Craig
  5. virtueoftheabsurd
    Offline

    virtueoftheabsurd New Member

    Joined:
    Jun 21, 2010
    Messages:
    66
    Likes Received:
    0
    Trophy Points:
    0
    Awesome, thanks. I have looked through the Wiki page, do you have suggestions for reasonable voltages for the low slots, like 125 and 250 MHz? Also, has anyone tried going below those frequencies? I have found that I can get a lot of extra battery life out of using those low slots on standby.
  6. captdroid
    Offline

    captdroid New Member

    Joined:
    Jun 30, 2010
    Messages:
    1,797
    Likes Received:
    17
    Trophy Points:
    0
    As always great writeup Bear!

    Concerning defaults on lower end slots. Without running any script to set lower end slots a cat /proc/overclock/mpu_opps shows these default values (these are not my current vsel settings for low end slots, mine are lower, these are just defaults showing with Prime Overclock.ko module loaded):

    Slot 6 - 700 vsel=62
    Slot 5 - 600 vsel=62
    Slot 4 - 550 vsel=56
    Slot 3 - 400 vsel=50
    Slot 2 - 250 vsel=39
    Slot 1 - 125 vsel=39

    I have slot 7 overclocked to 1100 (1.1Ghz) vsel=66 (this is my current setting for top custom slot #7 and may not work on your phone)

    I used these default values for lower end slots as a starting point to bump down the vsel values and then run for each slot setCpu stress test continuous for a period of time, Quadrant, etc to look for any problems with stability and benchmark performance with those settings.

    Getting much better battery life with bumped down vsel settings for low end slots I am currently using then I was with 'out of the box' CM default kernel, system is stable and really fast!!!
    Last edited: Dec 18, 2010
  7. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Virtue,

    These are the values I have been a using a bit. You can see this differ from capt by quite a bit, but that is the whole point. You can test anything, and as long as you do not have the module set to autoload, you will never see a bootloop. And the ol' every phone is unique really shows itself.

    DF member Wingdo posted his testing protocol in the other thread. Condensed, he sets the min and max in setcpu for the slot he is testing, even the 125. Run some tests, setcpu quadrant, your favorite game etc. But bear in mind that most folks use the lowest slots for simple idle, with a gov. bump to your higher speeds once the phone awakens. So the best low vsel test could just be whether the phone wakes properly, or your alarm goes off, messages come in etc.

    echo "60" > /proc/overclock/max_vsel
    echo "1000000" > /proc/overclock/max_rate
    echo "1 125000000 22" > /proc/overclock/mpu_opps
    echo "2 250000000 26" > /proc/overclock/mpu_opps
    echo "3 400000000 32" > /proc/overclock/mpu_opps
    echo "4 550000000 38" > /proc/overclock/mpu_opps
    echo "5 600000000 40" > /proc/overclock/mpu_opps
    echo "6 700000000 46" > /proc/overclock/mpu_opps

    And capt, thanks for stopping in. Without your help I likley would have put off the post.

    Craig
  8. captdroid
    Offline

    captdroid New Member

    Joined:
    Jun 30, 2010
    Messages:
    1,797
    Likes Received:
    17
    Trophy Points:
    0
    No problem Bear, glad you did the writeup!

    I have not posted my current settings for low end slots since each phone is different. The low end settings for vsel I just posted are defaults without running any script.

    Edit: updated my post #6 to clarify :)
    Last edited: Dec 18, 2010
  9. racketier
    Offline

    racketier New Member

    Joined:
    Feb 27, 2010
    Messages:
    112
    Likes Received:
    0
    Trophy Points:
    0
    I opened notepad on my computer, pasted in the default values, and saved as "99overclock.sh" (without quotes). I then used root explorer to drop the file in /system/etc/init.d.


    Now what isn't clear to me is how the Milestone Overclock app needs to be setup for this file to run proprely. Do I need to click load module on the default frequency with autoload on boot checked?


    Edit: I downloaded Gscript lite, and I have no issues using it to change the frequency and vsel values. I'd like it make it automatically load when I reboot my phone though
    Last edited: Dec 20, 2010
  10. johnfoam
    Offline

    johnfoam New Member

    Joined:
    Jul 13, 2010
    Messages:
    24
    Likes Received:
    0
    Trophy Points:
    0
    Thanks for the great write-up. This is great!
  11. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Rack,

    This is the script that you use to manually load your slots on the fly, once the overclock module is loaded:

    echo "60" > /proc/overclock/max_vsel
    echo "1000000" > /proc/overclock/max_rate
    echo "1 125000000 22" > /proc/overclock/mpu_opps
    echo "2 250000000 26" > /proc/overclock/mpu_opps
    echo "3 400000000 32" > /proc/overclock/mpu_opps
    echo "4 550000000 38" > /proc/overclock/mpu_opps
    echo "5 600000000 40" > /proc/overclock/mpu_opps
    echo "6 700000000 46" > /proc/overclock/mpu_opps

    You do not insert this in the init directory at this point. You would load the oc module in the MS program which will return "module loaded". You then run this script above (I too use gscript). This will load the values into your running memory.

    You can use a second script to confirm things are loaded:
    cat /proc/overclock/mpu_opps
    This should return your values from above.

    As to checking off the auto load button in the OC program, your call. Loading the program automatically will load factory safe values. The script above will load your custom values. Steps:

    1: Load OC mudule (manually or check load at boot in program)
    2: Run script above
    3: Using setcpu, test your values at the different speeds by locking setcpu to the slot you are testing as min AND max.
    4: testing, camera, video, setcpu stress test, quadrant, market, browsing, your favorite games, etc.
    5: If things are solid, try reducing the vsel you are testing in the above script by one or two, and rerun the script.
    6: Confirm with cat command the lower vsel is showing
    7: Retest.

    It takes a while to run through all of the slots, but it is the way to get the absolute lowest voltages you phone will work at.

    Then once you have tweaked your script file to the setting you want at each slot, you can then move to loading your script at boot with the mod's to the init file.
    ************
    From the op:
    Alternately, DF member Wingdo provided a nifty little fix to run these commands at boot. Similar to the old compcache loading methodology.
    create a 99init batch file, and insert in /system/etc/init.d

    From Wingdo:
    (99overclock.sh file)
    #!/system/bin/sh
    sleep 180
    echo "60" > /proc/overclock/max_vsel
    echo "1000000" > /proc/overclock/max_rate
    echo "1 125000000 22" > /proc/overclock/mpu_opps
    echo "2 250000000 26" > /proc/overclock/mpu_opps
    echo "3 400000000 32" > /proc/overclock/mpu_opps
    echo "4 550000000 38" > /proc/overclock/mpu_opps
    echo "5 600000000 40" > /proc/overclock/mpu_opps
    echo "6 700000000 46" > /proc/overclock/mpu_opps

    The 99 overclock file is placed in /system/etc/init.d , where it is run at boot. The sleep 180 tells the script file to sleep for 180 seconds (3 minutes) before finishing. If you have the Milestone module set to auto load at boot, the 3 minutes lets the Milestone application load, then the script file finishes loading your slots and voltages. I have reduced to 90 seconds and it works with my boot. You may need to experiment. Again, you can check with (terminal):

    ***************

    Obviously change to your tested values. If this step is giving your problems, let us know.

    Craig
    Last edited: Dec 20, 2010
  12. racketier
    Offline

    racketier New Member

    Joined:
    Feb 27, 2010
    Messages:
    112
    Likes Received:
    0
    Trophy Points:
    0
    Thanks Craig,

    So essentially once that script is run it overrides whatever max frequency you have set in the Milestone OC application? And as such as long the module itself is loaded, it doesn't matter what I have that max frequency "slider" set to.

    Using gscript, I've been able to load my custom values and use cat /proc/overclock/mpu_opps to confirm them.

    I haven't been able to get the values to automatically load, however. This may be because I'm not giving it the full 3 minutes before I check the values...? I guess I ought to experiment with setting the lowest vsel I can at each frequency slot first, then worry about the automation of it later.
  13. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Yes, all correct.
  14. mightybrick
    Offline

    mightybrick New Member

    Joined:
    Nov 14, 2009
    Messages:
    272
    Likes Received:
    6
    Trophy Points:
    0
    Location:
    So. Utah
    I've followed the above steps, and verified through cat /proc/overclock/mpu_opps that the clock speeds and voltages I selected were applied, but setcpu does not reflect the clocks speeds that I chose in the script. Any way to fix this? Here is my script:
    Code:
    echo "65" > /proc/overclock/max_vsel
    echo "1100000" >/proc/overclock/max_rate
    echo "1 125000000 22" >/proc/overclock/mpu_opps
    echo "2 250000000 26" >/proc/overclock/mpu_opps
    echo "3 400000000 32" >/proc/overclock/mpu_opps
    echo "4 550000000 38" >/proc/overclock/mpu_opps
    echo "5 700000000 46" >/proc/overclock/mpu_opps
    echo "6 800000000 57" >/proc/overclock/mpu_opps
    
    Setcpu detects steps of 125, 250, 400, 550, 600, 700, and 1100. I tried telling Setcpu to auto-detect recommended speeds, but no luck. Should I not be trying to set the speeds in each step, but rather only change the voltage of the original steps?
    Last edited: Dec 20, 2010
  15. racketier
    Offline

    racketier New Member

    Joined:
    Feb 27, 2010
    Messages:
    112
    Likes Received:
    0
    Trophy Points:
    0
    I have the same problem. I have my 6th slot set as:
    echo "6 800000000 52" >/proc/overclock/mpu_opp

    In setCPU I set my max and min to 700mhz, and it says the cpu is at a constant rate of 800mhz. So apparently the script is doing it's job, setcpu just doesnt have the right speeds listed in the frequency sliders.
  16. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Mighty,

    In short, my methodology was to load my batch file, move the setcpu slider to min and max for the slot being tested, confirm the time in state on the setcpu info screen then test. I would then edit only the slot being tested in my script, unload the ms module, reload, rerun script, pop into setcpu confirm the min/max was sticking, and retest.

    I have not tried an 1100, and in fact have only tried the slots I posted above. DF member Wingo had mentioned setcpu (time in state) behaving wonky when trying different slot combinations, but I am unsure whether the wonkyness was only reporting graphically and not actual running.

    When I did my slot testing, sometimes I would have to fiddle with starting and stopping setcpu and milestone to get the sliders in setcpu to allow me to set the min/max the same. Also, if you look in the setcpu info screen/page, you will see the time in state fields. These should be what is truely happening with the processor speed. And make sure to test while unplugged from a power supply, as your low end will "stick" at 400.

    Craig

    edit as new post being posted while replying: OK, I will try and load your batch files to test. My guess it is as Wingdo reported that setcpu will have some limitations as to actual slot selections. But even if we are "stuck" with a 1g or 1200 top, with the next bump to 700, given that we can optimize for heat and battery, it really does make the actual mid level speed a little less critical when compared to the old days of being stuck with the kernel maker's defaults.
    Last edited: Dec 21, 2010
  17. captdroid
    Offline

    captdroid New Member

    Joined:
    Jun 30, 2010
    Messages:
    1,797
    Likes Received:
    17
    Trophy Points:
    0
  18. Bear in NM
    Offline

    Bear in NM Active Member

    Joined:
    Nov 12, 2009
    Messages:
    1,389
    Likes Received:
    1
    Trophy Points:
    38
    Just to add,

    I loaded the 11000 with 800 script above and have confirmed that by changing the slot values this does indeed foul the time in state reporting in the setcpu info screen and slider. Is as Windo reported. But if you look at the actual running speed reported in the main screen, then selecting 700 on the slider reports back that it is running at 800. I guess a quadrant will confirm whether it is actually running at 800 or 700.

    Capt, I do recall that Wingdo mention this and concluded the fix would likley have to come as a recopile by prime. I think that is as far as it went. I have not had a chance to try the boot scripting (newest method sans MSOC) but methinks this is just gonna be a limitation, albiet pretty minor, imho.

    But again, whether I have 700 or 800 as an itermediate step, I couldn't give a hoot or a holler. I cannot imagine a real world situation where the phone could tell the difference, especially as the top slot is usually where folks want to pick up their "boost". If you load the original script (slots) and check time in state, you will likely see that no matter which gov. you select, the phone will spend most of the time either in top or bottom. Granted you may want to override this limitation with profiles, but I still am not gonna worry about 700 or 800.

    Craig
  19. captdroid
    Offline

    captdroid New Member

    Joined:
    Jun 30, 2010
    Messages:
    1,797
    Likes Received:
    17
    Trophy Points:
    0
    Bear read what Prime said in his post I quote in post #511 http://www.droidforums.net/forum/koush/76452-comp-cache-52.html#post1105037
  20. wingdo
    Offline

    wingdo New Member

    Joined:
    Feb 17, 2010
    Messages:
    1,035
    Likes Received:
    1
    Trophy Points:
    0
    Location:
    Chicago
    Excellent writeup Craig! Thanks for putting these two writeups into the forums. Hopefully these two will get some scotch tape on them so they don't get lost (hint to admins).

    Two minor notes to make (OK one may not be so minor), the filename for init.d should NOT end in .sh, it should just be 99overclock (or 99something), and while you are correct, 90 seconds should work for most phones, I picked 180 for a couple reasons.

    Firstly, I know the more applications a phone has to load at startup, the longer the whole process takes. With just a couple apps to load 90 seconds is more than enough time for Milestone Overclock to autoload. However, for some phones, there may be a ton of applications which load / sync / have to start. Since we have no direct way of setting in what order things load, I picked 180 seconds to make sure there is enough time for any phone out there to have enough time to make sure milestone overclock loads, as if the script wakes from sleep before milestone overclock loads, the script will be writing to files which don't yet exist and the process will bomb.

    Secondly, as long as people aren't rebooting their phones every 15 minutes, I don't think the extra 90 seconds is much of a big deal in terms of long term usage. 90 seconds works now, but for those who set this up and then forget about it, what happens when 90 seconds isn't enough and people forget to check if the vsel settings took? It's fairly easy for those like yourself who set the top end to 1000, so if SetCPU is no longer showing 1000 as the top slot, well you know something went awry. For those like myself who use 800MHz as the top slot for longer battery life, we're less likely to notice the shell script didn't take.

    Just my two cents.

    Once again thanks for putting thee two write ups together.

    Doug
Search tags for this page
check application at tut
,
cyanogenmod overclock terminal milestone
,
milestone 2 stock vsel
,
milestone oc
,

mpu opps addr