[HTC EVO 3D] coolbho3000:
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:

[youtube]6v_ZK8hR0Pg[/youtube]

Screenshots:

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.