[MOD] 1.8GHz+ overclock module for AT&T/Rogers HTC One X/ (One XL)/One S!

Search This thread

Tiffany84

Inactive Recognized Themer
Jul 27, 2010
6,280
3,323
What does the big number say when you set the max and min to 1.8?

Hey, thanks for responding. I checked that a little bit ago and it went to 1.8 and there was a big difference in my benchmark scores so I'd say that there is an issue with CPU Spy. Also, bought the latest version of Set CPU and love everything you've done with it.

Sent from my HTC One X using Xparent ICS Blue Tapatalk 2
 

JSLEnterprises

Senior Member
Apr 26, 2011
1,349
1,360
Buenos Aires
Even though you may get a successful overclock... the thermal throttling is still enabled
persist.thermal.monitor=true

You may be running up to 1.8GHz (OnDemand governor), but the termal monitor is probably clocking you back down regardless. Also take into consideration that our device's do not have the best thermal dissipation (as shown when playing a mildly demanding game for less than 5 minutes). Going on this premise, you didn't change the thermal threshold for the cpu at 1.5/1.8, its still 50 deg. However, you did increase the thermal threshold at lower freq's. You increased 1.2GHz and lower, max thermal thresholds by 10 degree's...
Original
Code:
thresholds       50  65  75  80  99 (more irrelevent values for our purpose after this)
thresholds_clr   40  62  72  77  96
Yours
Code:
thresholds       50  75  85  90  99
thresholds_clr   40  72  82  87  96

so I will say again you may reach 1.8, but you're most likely being clocked down to 1.2 quite quickly ;)

Also, experience any crashes jumping in frequency from 1.2 to 1.8 that quickly and repedatively?
 
Last edited:

Zarboz

Known Scammer
Mar 5, 2009
145
9,339
Denver
looking forward to a flashable .zip with boot.img .. might figure out this kernel part of android soon enough to make my own

thanks coolbho!
 

coolbho3000

Retired Senior Recognized Developer
Dec 26, 2008
897
785
Excuse me, may I ask if it can also be applied in HTC One S that running also MSM8960?

Sent from my HTC One S using xda premium

Yep, as I said in the main thread. Try it out on the One S, if it doesn't work, give me a dump of /proc/version and a file from the /system/lib/modules folder and I'll adapt it. It also ought to work on the EVO 4G LTE. I don't have a One S so I can't test it myself.

@coolbho3000

Just fyi, /data/local is no longer writable as of 1.85.
Is it possible to copy those files directly from the sdcard?

@JSLEnterprises, there should be no crashes jumping from 1.2 or 1.8, even very frequently. Also, the throttling should only kick in only at 75 degrees for both sensor 0 and sensor 3 with my modified file (look at the logcat messages that thermald prints after some heavy benchmarking). With MSM8960, I've only experienced crashing/instability with too high of an overclock or too low of a voltage. At stock voltages and clocks with stock themald, I still saw throttling under heavy loads, so I don't think it's too much of a concern.
 
Last edited:

blacklistedcard

Senior Member
Dec 30, 2010
885
174
I'm getting this after upgrading to 1.85. I also tried to bring cpu0 offline. Any suggestions?

sh-3.2# echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu1/online
sh: echo: write error: Device or resource busy
 

freeza

Recognized Developer
May 28, 2006
5,416
14,188
Pasadena, CA
www.freeza-inc.com
OnePlus 10 Pro
Doesn't work with the EVO LTE, Error message:

adb shell
sh-3.2# insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
insmod: init_module '/data/local/krait_oc.ko' failed (Exec format error)

Kernel info:
adb shell cat /proc/version
Linux version 3.0.8-01360-g3fd0422 (root@ABM032) (gcc version 4.4.3 (GCC) ) #1 S
MP PREEMPT Sat Apr 28 05:10:07 CST 2012
 

Attachments

  • msm-buspm-dev.zip
    48.9 KB · Views: 24
  • Like
Reactions: jamieg71

blacklistedcard

Senior Member
Dec 30, 2010
885
174
Doesn't work with the EVO LTE, Error message:

adb shell
sh-3.2# insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
insmod: init_module '/data/local/krait_oc.ko' failed (Exec format error)

Kernel info:
adb shell cat /proc/version
Linux version 3.0.8-01360-g3fd0422 (root@ABM032) (gcc version 4.4.3 (GCC) ) #1 S
MP PREEMPT Sat Apr 28 05:10:07 CST 2012

Try insmod krait_oc.ko on its own without the extra parameters. I got the same error on my one X device. The module defaults with those values anyway.

Sent from my HTC One X using XDA
 

blacklistedcard

Senior Member
Dec 30, 2010
885
174
Does anyone know why I getting resource busy when I try to write 0 to the second CPU?


Sent from my HTC One X using XDA
 

Top Liked Posts

  • There are no posts matching your filters.
  • 19
    One XL/AT&T/Rogers One X/One S 1.8GHz overclock module

    Please let me know about the module's compatibility with your phone. It has been reported to work on the latest AT&T version kernel, and I have a Rogers device myself.

    Hey guys! I've created a kernel module that overclocks the MSM8960 Qualcomm Krait to over 1.8GHz. It also allows you to specify a custom voltage and frequency instead of 1.8GHz. This method works on ANY MSM8960-based rooted HTC One X, even on locked bootloader devices. This allows AT&T users to overclock, and others to overclock without necessarily needing to unlock the bootloader. This overclock makes the already tremendously fast MSM8960 about 20% faster.

    Note that this mod is ONLY for the Qualcomm MSM8960-based Krait HTC One X and HTC One XL. This includes the AT&T HTC One X, Rogers HTC One X, and any phone branded as the HTC One XL. It has also been confirmed to work on the One S (see this thread: http://xdaforums.com/showthread.php?t=1670904) and MIGHT work on the EVO 4G LTE.

    The module is loaded using this command: insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000

    The pll_l_val parameter determines how high the overclock is. Multiply this number by 27 to get the final clock speed in MHz. For example, 67*27 is 1809000, which is what the module defaults to.

    The vdd_uv parameter determines the voltage used at the overclocked speed, in microvolts. The default for 1.5GHz is 1200000, and I was able to get a stable overclock at 1300000 at 1.8GHz. Raise the vdd_uv parameter if the overclock is unstable. The current maximum for this field is 1300000, so don't go higher than this. If your system crashes or is unstable at this frequency/voltage, lower the pll_l_val one by one until you reach stability. You can run rmmod krait_oc and then insmod krait_oc.ko with different parameters without having to reboot.

    You'll also need a custom, tweaked thermald.conf. This thermald.conf raises thermal tolerances slightly (I've found that they're a little too strict, even at stock clocks and voltages). I've included this in the package, and instructions for installing it are below.

    Video, demonstrating the overclock on a Rogers HTC One X:

    Screenshots
    one_x_oc_1%20.png
    one_x_oc_2.png


    Source code is included in the package. If anyone has an HTC One S, this method will work on that, too. Please post below a dump of /system/lib/modules and I should be able to add support for any MSM8960-based HTC device with just that.

    Instructions
    First, determine which kernel module to use. Do an adb shell cat /proc/version and choose a ko file that matches your version number (these instructions assume you've renamed it to krait_oc.ko). 21/05/2012: If you don't see your kernel version here, try loading the module anyway. If it fails to load, please post a file from /system/lib/modules (any file) here and I will add support.

    Install the overclock (only once):
    1. Push the kernel module to your device:
    Code:
    adb push krait_oc.ko /data/local
    2. Install the new thermald.conf, making sure to back up the old one, and reboot. The thermald.conf is included in the download. If you want to target a frequency other than 1809000 KHz, you should edit the thermald.conf and replace "1809000" to whatever frequency you want to target.
    Code:
    adb push thermald.conf /data/local
    adb shell
    su
    mount -o rw,remount /system
    cp /system/etc/thermald.conf /system/etc/thermald.conf.bak
    rm -r /system/etc/thermald.conf
    cp /data/local/thermald.conf /system/etc
    reboot

    Load the overclock (every time you reboot):
    1. Load the kernel module (replace pll_l_val and vdd_uv with your desired voltages and L value as explained above. It defaults to 67 and 1300000 if you don't give it any parameters):
    Code:
    adb shell
    su
    insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
    2. Bring core 1 temporarily offline so it gets updated with the new max frequency:
    Code:
    echo 0 > /sys/devices/system/cpu/cpu1/online
    3. You'll now have an additional CPU frequency! SetCPU can configure your maximum frequency up to this speed. You can also choose to keep running at 1.5GHz at any time - this method doesn't eliminate any available frequencies. Set the max at 1.8GHz to verify it's stable here.
    4. Restart thermald by running "ps". Look for "thermald" in the list, and find thermald's pid (it's usually a number in the low hundreds, higher up in the list). Run "kill [thermald's PID]" in adb shell. The kernel does not currently have kernel-level temperature throttling turned on, so thermald is important for now.

    Remove the overclock by restoring your backup of thermald.conf:
    Code:
    adb shell
    su
    mount -o rw,remount /system
    rm -r /system/etc/thermald.conf
    cp /system/etc/thermald.conf.bak /system/etc/thermald.conf
    rm -r /system/etc/thermald.conf.bak
    reboot
    Rebooting clears any kernel modules that are loaded, so you're now clean. You can then delete anything left over in /data/local, but it doesn't matter.

    If the module loads but the overclock doesn't seem to have any effect, even after putting max and min at 1.8GHz, your device might use a different SoC bin than the "nominal," and the kernel module is looking at the wrong place. Please reboot your device and post an adb shell dmesg right after the reboot so I can look at it.

    Download current pack of modules:
    http://www.setcpu.com/files/krait_oc_v2.zip (current)
    http://www.setcpu.com/files/krait_oc.zip (old)

    Finally, it'd be great if we as a community tried to work harder to encourage HTC to hurry up and 1. Release kernel source on time, all the time and 2. NOT cave into carrier pressure and stick to their written bootloader policy! S-OFF would be nice, too. ;)
    1
    Sorry for being a noob but I don't understand how to do step 4 for restarting the thermald?

    As it currently stands the OC works but as soon as I restart the phone, the overclock goes away.
    1
    Didn't work on my Rogers XL unfortunately. I noticed my directory structure is a little different than in the instructions. Your adb instructions say:
    Code:
    echo 0 > /sys/devices/system/cpu/cpu1/cpufreq/online
    Following that path with a file explorer I discovered my device has no cpufreq directory. The file "online" is in the cpu1 folder itself.

    SetCPU shows 1809 MHz as selectable but does not show any changes in clock speed when selected as both min and max. Can't see any difference in speed.

    Dmesg log is attached. Help would be appreciated! Thanks!
    Yeah, I made a mistake in regards to the directory structure. My mistake - I edited the post to reflect the correct directory that online is in.

    Your attached log seems to be taken too late in the boot up process. You have to take it immediately after boot up or else it won't catch the crucial line :( solidus175 too. The line should look similar to:

    [ACPU] select_freq_plan: ACPU PVS: Nominal

    Where Nominal can be Nominal, Fast, or Slow.

    EDIT: You know what, I can just change all three tables. That shouldn't hurt anything. Will release an updated version of the module.
    1
    Is there anyway to have the module load automatically when the device boots? Like a modules.conf

    You can write a script and set it to run on boot with scriptmanager.

    I'll do another test when I get home from work to verify the temperature. Not enough battery left right now.
    1
    Doesn't work with the EVO LTE, Error message:

    adb shell
    sh-3.2# insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
    insmod /data/local/krait_oc.ko pll_l_val=67 vdd_uv=1300000
    insmod: init_module '/data/local/krait_oc.ko' failed (Exec format error)

    Kernel info:
    adb shell cat /proc/version
    Linux version 3.0.8-01360-g3fd0422 (root@ABM032) (gcc version 4.4.3 (GCC) ) #1 S
    MP PREEMPT Sat Apr 28 05:10:07 CST 2012