[MOD] EVO 3D Overclocked to 1.8GHz!

Search This thread

coolbho3000

Retired Senior Recognized Developer
Dec 26, 2008
899
784
EVO 3D @ 1.8GHz!
HTC is taking far too long with their promised bootloader unlock! I got my hands on an EVO 3D and wrote a kernel module to overclock it (along with the Sensation, I think) with just temp root. I had no kernel sources or the ability to flash custom kernels, and you don't need to overclock your phone, either. This was all done with a Linux loadable kernel module.

EDIT: This is reported not to be working on the Sensation (or at least some Sensations) just yet. I'm investigating the issue, but don't have a Sensation on hand. It might have to do with the Sensation using an older kernel. I'll try to borrow one from a friend. If any devs are good at this sort of thing and want to take a crack the source of this module is at the bottom of the thread.

At 1782MHz (nearly 1.8GHz), a dual core Android phone is truly a force to be reckoned with. This module also gives you the flexibility to try to go even higher, or specify a lower overclock. See below for instructions and download. SetCPU has also been updated to support the EVO 3D and Sensation better. I'll be doing a technical writeup on how this was accomplished soon, as well as an explanation of the MSM 8x60 clock architecture for future kernel devs.

Disclaimer: Overclocking your phone is always a risk! Please know what you are doing before trying this. The kernel module is licensed under the GNU GPL and comes with no warranty. The relative safety of overclocking similar ARM processors to such speeds and voltages is generally known, but I can't be held responsible if you damage your phone with this hack.

Instructions:
Download the kernel module appropriate for your phone If you're not sure which one to download, check /proc/version and find the version string and then check the part that contains the localversion, which is right after 2.6.35.10 and looks like this: "gb7a86da" or "gcb1cf83"

Download: Latest EVO 3D OTA gcb1cf83: http://setcpu.com/files/8x60_oc.ko
T-Mobile HTC Sensation 4G gb7a86da: http://setcpu.com/files/8x60_oc_gb7a86da.ko
EVO 3D pre-OTA g93c03bf: http://setcpu.com/files/8x60_oc_g93c03bf.ko

Anyone good with a hex editor and your device hasn't been added: Just download the first link above and replace the "gcb1cf83" with whatever your version is - it's hacky, but it works. We can't build a "real" ko anyway, since we don't have kernel source.

(To add support for your EVO 3D/Sensation kernel, send me the kernel version string (cat /proc/version) and I'll upload a kernel with support).

1. Temp root the phone using fre3vo, and install everything you need to run root apps. If you lost temp root due to /system/bin/su becoming unlinked (root apps don't detect root anymore), do it again. Thanks #teamwin!
2. Decide which frequency and voltage you want. Frequencies have to be a multiple of 54MHz. For example, 1512MHz = 54MHz*24. Remember how much you have to multiply 54 by to get the frequency you want. For 1782MHz, as I reached, use 33 (54MHz*33 = 1782MHz).
3. Push the kernel module to your device: adb push 8x60_oc.ko /data/local/tmp/8x60_oc.ko
4. Use SetCPU (you must be 2.2.4 or above for proper MSM 8x60 support!) to set the max frequency to 432MHz and min to 384MHz.
6. Go back to the home screen, press the power button, and count to ten.
7. Load the kernel module with the following command, replacing the scpll_l_val with the value you got above and the vdd_uv with the voltage you want (in microvolts). Here is a valid command for around 1.8GHz: adb shell insmod /data/local/tmp/8x60_oc.ko scpll_l_val=33 vdd_uv=1375000

If you do not specify any parameters, the module defaults to 1512MHz and 1250000 uV! (scpll_l_val=28 vdd_uv=1250000) This should be safe for everybody, since that's the MSM 8x60's native speed (of the higher speed bin anyway ;)).

8. If it crashes right after you insmod the kernel, reboot and try again - the second core was likely still active. This doesn't necessarily mean your overclock settings were unstable.
9. Now go into SetCPU and it will autodetect the new max frequency. Set it and try it out. If your phone crashes at or after this point, the scpll_l_val and vdd_uv combination was not stable enough. Reboot and try another combination.

Note: the maximum scpll_l_val supported currently is 37 (1998MHz, or 2GHz!). Let me know if you actually managed to reach this with a semblance of stability, if you want to push for higher... Also, you can undo this mod just by rebooting.

Video:

Screenshots:
evo3d_oc.png
evo3d_benchmark.png


Enjoy! Of course, this would all have been easier if we were just given an unlocked bootloader. Please bother HTC about it! ;) Yeah, we'll get it without them, but they have to keep their end of the deal.

Follow me on twitter: http://twitter.com/coolbho3k
Sources for the overclock module: http://dl.dropbox.com/u/36553/8x60_oc.tar.gz I'll be uploading it to my github soon. It's messy at the moment.
 
Last edited:

coolbho3000

Retired Senior Recognized Developer
Dec 26, 2008
899
784
Very Nice work. This is really all I ever root my phone for. I am assuming I can use this to underclock as well?

Anyways, thanks for the great work!

The phone generally doesn't drop below 384MHz, and the minimum frequency is 192MHz, so you don't need the LKM to underclock, just SetCPU.

But the fact that su becomes unlinked after a while might prevent you from re-setting frequencies on-the-fly very much. :(
 

pastorbob

Member
May 18, 2010
42
4
Colorado Springs
The phone generally doesn't drop below 384MHz, and the minimum frequency is 192MHz, so you don't need the LKM to underclock, just SetCPU.

But the fact that su becomes unlinked after a while might prevent you from re-setting frequencies on-the-fly very much. :(

AH.... Gotcha. Well, I will be messing around with it. Thanks for the quick response. With my OG droid and g2 I would underclock and leave it basically at minimal speeds unless I was doing some gaming.

A simple reboot will send me back to stock speeds correct? If so, I think I could easily get two full days out of this phone if the low speeds will stick.
 

coolbho3000

Retired Senior Recognized Developer
Dec 26, 2008
899
784
AH.... Gotcha. Well, I will be messing around with it. Thanks for the quick response. With my OG droid and g2 I would underclock and leave it basically at minimal speeds unless I was doing some gaming.

A simple reboot will send me back to stock speeds correct? If so, I think I could easily get two full days out of this phone if the low speeds will stick.

Yes, LKMs are not permanent. A reboot changes everything back.
 

welrope

Senior Member
Mar 3, 2009
476
46
Greensboro
You are the man!! left the values default and wow! what a difference in numbers. Linpack scores are 86 on dual thread, 54 on single thread, and my quadrant scores went from ~1900's to 2300-2400. Very impressive!
 

DomSim

Senior Member
Sep 24, 2008
1,326
208
The phone generally doesn't drop below 384MHz, and the minimum frequency is 192MHz, so you don't need the LKM to underclock, just SetCPU.

But the fact that su becomes unlinked after a while might prevent you from re-setting frequencies on-the-fly very much. :(

does this have to be done with each reboot or will it "stick"?

edit: saw your post.
 
Last edited:

bigxie

Senior Member
Nov 14, 2010
1,374
5,860
Bay Area, CA
www.twitter.com
Sensation, T-Mobile USA
Linux version 2.6.35.10-gb7a86da ([email protected]) (gcc version 4.4.0 (GCC) ) #1 SMP PREEMPT Fri May 20 21:28:40 CST 2011

My T-Mobile Sensation has this exact same kernel as well :)

Code:
# cat /proc/version
cat /proc/version
Linux version 2.6.35.10-gb7a86da ([email protected]) (gcc version 4.4.0 (GCC) )
 #1 SMP PREEMPT Fri May 20 21:28:40 CST 2011



EDIT: I see that you have uploaded the module for Sensation, but there is a typo in the OP, you are missing an 'a' :D

This is the correct URL:

http://setcpu.com/files/8x60_oc_gb7a86da.ko
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 55
    EVO 3D @ 1.8GHz!
    HTC is taking far too long with their promised bootloader unlock! I got my hands on an EVO 3D and wrote a kernel module to overclock it (along with the Sensation, I think) with just temp root. I had no kernel sources or the ability to flash custom kernels, and you don't need to overclock your phone, either. This was all done with a Linux loadable kernel module.

    EDIT: This is reported not to be working on the Sensation (or at least some Sensations) just yet. I'm investigating the issue, but don't have a Sensation on hand. It might have to do with the Sensation using an older kernel. I'll try to borrow one from a friend. If any devs are good at this sort of thing and want to take a crack the source of this module is at the bottom of the thread.

    At 1782MHz (nearly 1.8GHz), a dual core Android phone is truly a force to be reckoned with. This module also gives you the flexibility to try to go even higher, or specify a lower overclock. See below for instructions and download. SetCPU has also been updated to support the EVO 3D and Sensation better. I'll be doing a technical writeup on how this was accomplished soon, as well as an explanation of the MSM 8x60 clock architecture for future kernel devs.

    Disclaimer: Overclocking your phone is always a risk! Please know what you are doing before trying this. The kernel module is licensed under the GNU GPL and comes with no warranty. The relative safety of overclocking similar ARM processors to such speeds and voltages is generally known, but I can't be held responsible if you damage your phone with this hack.

    Instructions:
    Download the kernel module appropriate for your phone If you're not sure which one to download, check /proc/version and find the version string and then check the part that contains the localversion, which is right after 2.6.35.10 and looks like this: "gb7a86da" or "gcb1cf83"

    Download: Latest EVO 3D OTA gcb1cf83: http://setcpu.com/files/8x60_oc.ko
    T-Mobile HTC Sensation 4G gb7a86da: http://setcpu.com/files/8x60_oc_gb7a86da.ko
    EVO 3D pre-OTA g93c03bf: http://setcpu.com/files/8x60_oc_g93c03bf.ko

    Anyone good with a hex editor and your device hasn't been added: Just download the first link above and replace the "gcb1cf83" with whatever your version is - it's hacky, but it works. We can't build a "real" ko anyway, since we don't have kernel source.

    (To add support for your EVO 3D/Sensation kernel, send me the kernel version string (cat /proc/version) and I'll upload a kernel with support).

    1. Temp root the phone using fre3vo, and install everything you need to run root apps. If you lost temp root due to /system/bin/su becoming unlinked (root apps don't detect root anymore), do it again. Thanks #teamwin!
    2. Decide which frequency and voltage you want. Frequencies have to be a multiple of 54MHz. For example, 1512MHz = 54MHz*24. Remember how much you have to multiply 54 by to get the frequency you want. For 1782MHz, as I reached, use 33 (54MHz*33 = 1782MHz).
    3. Push the kernel module to your device: adb push 8x60_oc.ko /data/local/tmp/8x60_oc.ko
    4. Use SetCPU (you must be 2.2.4 or above for proper MSM 8x60 support!) to set the max frequency to 432MHz and min to 384MHz.
    6. Go back to the home screen, press the power button, and count to ten.
    7. Load the kernel module with the following command, replacing the scpll_l_val with the value you got above and the vdd_uv with the voltage you want (in microvolts). Here is a valid command for around 1.8GHz: adb shell insmod /data/local/tmp/8x60_oc.ko scpll_l_val=33 vdd_uv=1375000

    If you do not specify any parameters, the module defaults to 1512MHz and 1250000 uV! (scpll_l_val=28 vdd_uv=1250000) This should be safe for everybody, since that's the MSM 8x60's native speed (of the higher speed bin anyway ;)).

    8. If it crashes right after you insmod the kernel, reboot and try again - the second core was likely still active. This doesn't necessarily mean your overclock settings were unstable.
    9. Now go into SetCPU and it will autodetect the new max frequency. Set it and try it out. If your phone crashes at or after this point, the scpll_l_val and vdd_uv combination was not stable enough. Reboot and try another combination.

    Note: the maximum scpll_l_val supported currently is 37 (1998MHz, or 2GHz!). Let me know if you actually managed to reach this with a semblance of stability, if you want to push for higher... Also, you can undo this mod just by rebooting.

    Video:

    Screenshots:
    evo3d_oc.png
    evo3d_benchmark.png


    Enjoy! Of course, this would all have been easier if we were just given an unlocked bootloader. Please bother HTC about it! ;) Yeah, we'll get it without them, but they have to keep their end of the deal.

    Follow me on twitter: http://twitter.com/coolbho3k
    Sources for the overclock module: http://dl.dropbox.com/u/36553/8x60_oc.tar.gz I'll be uploading it to my github soon. It's messy at the moment.
    2
    So does the performance governor lock both cores into that speed?

    I got 2995 on quadrant, then my phone rebooted...

    Yes.

    Looks like your settings were't stable enough for your particular device - which voltage and scpll_l_val were you using?
    2
    I want to try this on my Sensation; but

    The requested URL /files/8x60_oc_gb786da.ko was not found on this server.

    Please fix this :D

    And thank you coolbho3k!

    Link fixed. Let me know how it works.
    1
    Sensation, T-Mobile USA
    Linux version 2.6.35.10-gb7a86da ([email protected]) (gcc version 4.4.0 (GCC) ) #1 SMP PREEMPT Fri May 20 21:28:40 CST 2011
    1
    Inb4 someone asks for a Quadrant run <.<
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone