Editing Overclocking

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 10: Line 10:
* Overclocking WILL VOID YOUR WARRANTY. Your warranty does not cover running the device beyond the specifications.
* Overclocking WILL VOID YOUR WARRANTY. Your warranty does not cover running the device beyond the specifications.
-
* The lifetime of your device WILL get reduced as a result of [[:wikipedia:Electromigration]]
+
* The lifetime of your device WILL get reduced as a result of [[:wikipedia:Electromigration electromigration]]
* Your device might not perform properly - bizarre bugs and corruption may result from the CPU being physically unable to cope with higher frequencies (see the next point)
* Your device might not perform properly - bizarre bugs and corruption may result from the CPU being physically unable to cope with higher frequencies (see the next point)
* All devices are not made equal - some may be able to handle 1.15GHz daily just fine, while some may be unstable even at 720MHz.
* All devices are not made equal - some may be able to handle 1.15GHz daily just fine, while some may be unstable even at 720MHz.
* You do it at your own responsibility. No whining afterwards. If you're unsure, don't do it.
* You do it at your own responsibility. No whining afterwards. If you're unsure, don't do it.
-
* Nokia's overclocking warning: 500 MHz is the normal frequency. Everything above is not good for your device, even with the stock kernel.
+
* [http://depot.javispedro.com/nit/thewarningtm.jpeg Nokia's overclocking warning]: 500 MHz is the normal frequency. Everything above is not good for your device, even with the stock kernel.
* Igor Stoppa's [http://talk.maemo.org/showpost.php?p=596149&postcount=904 warning] and [http://talk.maemo.org/showpost.php?p=603833&postcount=66 comment]
* Igor Stoppa's [http://talk.maemo.org/showpost.php?p=596149&postcount=904 warning] and [http://talk.maemo.org/showpost.php?p=603833&postcount=66 comment]
* [http://talk.maemo.org/showpost.php?p=596274&postcount=937 chip vendors specs]
* [http://talk.maemo.org/showpost.php?p=596274&postcount=937 chip vendors specs]
Line 36: Line 36:
** In the event you have decided to file a bug report or open a thread about your problem, please add a note to that report, mentioning that you are or previously were in fact running your device overclocked.  Please also provide details about the period and amount of overclocking used.
** In the event you have decided to file a bug report or open a thread about your problem, please add a note to that report, mentioning that you are or previously were in fact running your device overclocked.  Please also provide details about the period and amount of overclocking used.
* The reason for these requirements is that there are many problems pending for developer's attention. It is a huge waste of time to try and trace down an error without knowing all the facts, just to find out in the end that the particular problem was caused by a damaged hardware. If the developers know about it, they can take it into account and won't rule out a 1+1=3 problem on the reporter's device during their analysis.
* The reason for these requirements is that there are many problems pending for developer's attention. It is a huge waste of time to try and trace down an error without knowing all the facts, just to find out in the end that the particular problem was caused by a damaged hardware. If the developers know about it, they can take it into account and won't rule out a 1+1=3 problem on the reporter's device during their analysis.
 +
 +
==Available kernels==
 +
 +
Overclocking requires installation of a custom kernel. There are two types of kernels:
 +
# [[Kernel_Power|kernel-power]], developed by Titan and maintained by Pali '''(highly recommended)'''. They are compatible with [[Maemo 5/PR1.2|PR1.2]] and [[Maemo 5/PR1.3|PR1.3]], contain lots of additional features (IPv6, NAT etc) and bugfixes. In addition, they include a large set of possible frequencies (125 MHz-1.15 GHz) which can be manually set and tested without flashing a new kernel. The defaults are set to the standard 250-600 MHz range.
 +
This guide recommends using kernel-power v50, which at the time of writing is available in the [[extras]] catalog. Newer, more experimental kernels may be available through [[extras-testing]] or [[extras-devel]].
 +
# Modified [[Maemo 5/PR1.1|PR1.1]] kernels by Lehto and others. The only difference from the stock Nokia kernel is the change of the available hardcoded frequencies.
==Additional information and hints==
==Additional information and hints==
-
* The stock Nokia kernel uses the following frequencies: 250, 500, 550 and 600 MHz.
+
# The stock Nokia kernel uses the following frequencies: 250, 500, 550 and 600 MHz.
-
* The CPU does '''NOT IDLE''' at the lowest frequency (250 MHz) but it '''SLEEPS''' at 0 MHz! Thus, reducing the lowest frequency would not reduce power consumption. It is only activated during low workload and may actually consume more power than a higher frequency, as it takes more time to go back to sleep/idle state.
+
# The CPU does '''NOT IDLE''' at the lowest frequency (250 MHz) but it '''SLEEPS''' at 0 MHz! Thus, reducing the lowest frequency would not reduce power consumption. It is only activated during low workload and may actually consume more power than a higher frequency, as it takes more time to go back to sleep/idle state.
-
* Setting the lowest frequency to 125 MHz does NOT improve battery life. In fact, many people noticed worse battery life, instability and worse responsiveness,
+
# Setting the lowest frequency to 125 MHz does NOT improve battery life. In fact, many people noticed worse battery life, instability and worse responsiveness,
-
* The Phone app is closed-source and broken. During a phone call, the device's frequency [http://talk.maemo.org/showpost.php?p=601691&postcount=1823 is locked to 600MHz]. This may be a bug, and it affects all kernels for Fremantle. After a phone call, it sets the maximum to 600 Mhz and the minimum to 250 MHz (or 125 MHz if available) regardless of the frequencies you have set. There are some workarounds present in kernel-power, however the bug may still occasionally manifest.
+
# The Phone app is closed-source and broken. During a phone call, the device's frequency [http://talk.maemo.org/showpost.php?p=601691&postcount=1823 is locked to 600MHz]. This may be a bug, and it affects all kernels for Fremantle. After a phone call, it sets the maximum to 600 Mhz and the minimum to 250 MHz (or 125 MHz if available) regardless of the frequencies you have set. There are some workarounds present in kernel-power, however the bug may still occasionally manifest.
-
* When connected via USB the device locks the minimum frequency to 500 Mhz.
+
# when connected via USB the device locks the minimum frequency to 500 Mhz.
-
* By default the device is configured to use 125 MHz as the lowest frequency but it not enabled in the kernel [https://bugs.maemo.org/show_bug.cgi?id=7116 pmconfig bug]
+
# By default the device is configured to use 125 MHz as the lowest frequency but it not enabled in the kernel [https://bugs.maemo.org/show_bug.cgi?id=7116 pmconfig bug]
-
* The warning <pre>WARNING: at arch/arm/mach-omap2/clock34xx.c:443 omap3_noncore_dpll_set_rate+0x28c/0x2dc()</pre> in the kernel logs (dmesg) only happens if the invalid 800 MHz frequency was selected. Ignore it.
+
# The warning <pre>WARNING: at arch/arm/mach-omap2/clock34xx.c:443 omap3_noncore_dpll_set_rate+0x28c/0x2dc()</pre> in the kernel logs (dmesg) only happens if the invalid 800 MHz frequency was selected. Ignore it.
-
* EvilJazz had photoshopped a [http://talk.maemo.org/showpost.php?p=605523&postcount=90 picture of a device being overclocked 1.7GHz]. It's a '''prank'''!
+
# EvilJazz had photoshopped a [http://talk.maemo.org/showpost.php?p=605523&postcount=90 picture of a device being overclocked 1.7GHz]. It's a '''prank'''!
-
* The internal temperature sensor may be read by using the command "cat /sys/devices/platform/omap34xx_temp/temp1_input"
+
# The internal temperature sensor may be read by using the command "cat /sys/devices/platform/omap34xx_temp/temp1_input"
-
* '''Note''' that the system does not have an on-die temperature sensor, and the actual CPU temperature may be higher or lower than the reading.
+
'''Note that the system does not have an on-die temperature sensor, and the actual CPU temperature may be higher or lower than the reading.'''
==Installing a modified kernel==
==Installing a modified kernel==
-
Overclocking and undervolting require installation of a custom kernel.
 
-
There are two types of kernels:
 
-
 
-
===Kernel-Power (recommended)===
 
-
[[Kernel_Power|kernel-power]], developed by Titan and maintained by Pali.
 
-
They are compatible with [[Maemo 5/PR1.2|PR1.2]] and [[Maemo 5/PR1.3|PR1.3]], contain lots of additional features (IPv6, NAT etc) and bugfixes. In addition, they include a large set of possible frequencies (125 MHz-1.15 GHz) which can be manually set and tested without flashing a new kernel.
 
-
 
-
The defaults are set to the standard 250-600 MHz range.
 
-
 
-
This guide recommends using kernel-power v50, which at the time of writing is available in the [[extras]] catalog. Newer, more experimental kernels may be available through [[extras-testing]] or [[extras-devel]].
 
 +
===Kernel-Power===
====Installing from the repositories====
====Installing from the repositories====
# Open the Application Manager
# Open the Application Manager
Line 68: Line 66:
===Lehto's Kernel and other legacy kernels===
===Lehto's Kernel and other legacy kernels===
-
Modified [[Maemo 5/PR1.1|PR1.1]] kernels by Lehto and others. The only difference from the stock Nokia kernel is the change of the available hardcoded frequencies.
 
====Flashing from X Terminal====
====Flashing from X Terminal====
 +
* do a backup, have a PC nearby and know you are able to flash the N900 with flasher-3.5 - just in case
* do a backup, have a PC nearby and know you are able to flash the N900 with flasher-3.5 - just in case
-
# Launch X Terminal, then type<pre>sudo gainroot</pre>
+
# Launch xterminal app then type sudo gainroot (need rootsh installed)
# Type:<pre>softupd -vv -s --local</pre>(that is a double v)
# Type:<pre>softupd -vv -s --local</pre>(that is a double v)
# Open new terminal
# Open new terminal
Line 130: Line 128:
===Manual Undervolting (Legacy)===
===Manual Undervolting (Legacy)===
 +
 +
====Undervolting and voltage tables====
 +
See: http://talk.maemo.org/showpost.php?p=628839&postcount=81
See: http://talk.maemo.org/showpost.php?p=628839&postcount=81
Line 139: Line 140:
<pre>CPU dynamic power consumption = capacitance * frequency * voltage^2</pre>
<pre>CPU dynamic power consumption = capacitance * frequency * voltage^2</pre>
-
As can be seen from the formula, lower voltage plays greater part in CPU consumption than frequency. By reducing the voltage the damage of overclocking can be reduced and the battery life time extended. Alas, this claim only holds true for architectures not regulating the real voltage and current in special on chip regulators, like OMAP is known to do for almost every gate in their CPU and other SoC function blocks. TI calls this feature SmartReflex™ and lowering the voltage applied to the whole SoC, like suggested here, only reduces the voltage drop across these regulators, thus no positive effect on [[:wikipedia:Electromigration|electromigration damage]] caused by overclocking is to be expected.
+
As can be seen from the formula, lower voltage plays greater part in CPU consumption than frequency. By reducing the voltage the damage of overclocking can be reduced and the battery life time extended. Alas, this claim only holds true for architectures not regulating the real voltage and current in special on chip regulators, like OMAP is known to do for almost every gate in their CPU and other SoC function blocks. TI calls this feature SmartReflex™ and lowering the voltage applied to the whole SoC, like suggested here, only reduces the voltage drop across these regulators, thus no positive effect on electromigration damage ([[:wikipedia:Electromigration]]) caused by overclocking is to be expected.
-
====Calculating Voltages====
+
====Calculating voltages====
-
According to [http://talk.maemo.org/showpost.php?p=606031&postcount=2375 these calculations], the voltage can be varied in steps of 0.0125 V with values 0-72.
+
According to [http://talk.maemo.org/showpost.php?p=606031&postcount=2375 this calculations] the voltage can be varied in steps of 0.0125 V with values 0-72. The formula is (with x being the kernel parameter value):
-
The formula is (with x being the kernel parameter value):
+
 
-
<pre>V = x * 0.0125 + 0.6</pre>
+
<code>V = x * 0.0125 + 0.6</code>
Examples:
Examples:
Line 153: Line 154:
  Random voltage (x = 38):  38 * 0.0125 + 0.6 = 0.475 + 0.6 = 1.075 V
  Random voltage (x = 38):  38 * 0.0125 + 0.6 = 0.475 + 0.6 = 1.075 V
-
====Voltage Table====
+
=====Voltage Step Tables=====
-
* V²/us for frequencies 720 and 805 need to be recalculated.
+
 
-
* Bolded steps indicate the first frequency in the kernel which needs overvoltage. ''All frequencies after it are overvolted''.
+
FREQUENCY  Nokia  LV    ULV  XLV  ideal  starving
-
{|
+
0 MHz      30      30    25    30    30      22
-
! Frequency !! Nokia !! LV !! ULV !! XLV !! ideal !! starving
+
125 MHz    30      30    25    20    30      22
-
|-
+
250 MHz    38      38    25    30    30      28
-
|0 MHz || 30 || 30 || 25 || 30 || 30 || 22
+
500 MHz    48      48    33    33    30      29
-
|-
+
550 MHz    *54*    48    38    38    33      32
-
| || 0.975V, 0.000 V²/us || 0.975V, 0.000 V²/us || 0.912V, 0.000 V²/us || 0.975V, 0.000 V²/us || 0.975V, 0.000 V²/us ||
+
600 MHz    60    *54*  38    38    38      34
-
|-
+
700 MHz            54    45    45    45      41
-
|125 MHz || 30 || 30 || 25 || 20 || 30 || 22
+
750 MHz            54    45    45    45      42
-
|-
+
810 MHz            54    48    48    48      45
-
| || 0.975V, 288.906 V²/us || 0.975V, 118.828 V²/us || 0.912V, 103.968 V²/us || 0.975V, 118.828 V²/us || 0.975V, 118.828 V²/us ||
+
850 MHz            54    48    48    48      46
-
|-
+
900 MHz            54  *54*  *54*  *54*    49
-
|250 MHz || 38 || 38 || 25 || 30 || 30 || 28
+
950 MHz            54    54    54    54      52
-
|-
+
1000 MHz            60    60    60    60      55
-
| || 1.075 V, 118.828 V²/us || 1.075 V, 118.828 V²/us || 0.912V, 207.936 V²/us || 0.975V, 237.656 V²/us || 0.975V, 237.656 V²/us ||
+
1100 MHz            72    72    72    72      63
-
|-
+
1150 MHz            72    72    72    72      69
-
|500 MHz || 48 || 48 || 33 || 33 || 30 || 29
+
 
-
|-
+
Note: Asterisks indicate the first frequency in the kernel which needs overvoltage.
-
| || 1.200 V, 720.000 V²/us || 1.200 V, 720.000 V²/us || 1.012V, 512.072 V²/us || 1.012V, 512.072 V²/us || 0.975V, 475.312 V²/us ||
+
 
-
|-
+
=====Actual Voltage Tables=====
-
|550 MHz || '''54''' || 48 || 38 || 38 || 33 || 32
+
 
-
|-
+
======Nokia's kernel======
-
| || 1.275 V, 894.094 V²/us || 1.200 V, 792.000 V²/us || 1.075V, 635.594 V²/us || 1.075V, 635.594 V²/us || 1.012V, 563.279 V²/us ||
+
 
-
|-
+
VALUE  VOLTAGE  FREQUENCY    DYNAMIC POWER
-
|600 MHz || 60 || '''54''' || 38 || 38 || 38 || 34
+
30    0.975 V  0 MHz        0.000 V²/us
-
|-
+
30    0.975 V  125 MHz      118.828 V²/us
-
| || 1.350 V, 1093.500 V²/us || 1.275 V, 975.375 V²/us || 1.075V, 693.375 V²/us || 1.075V, 693.375 V²/us || 1.075V, 693.375 V²/us ||
+
38    1.075 V  250 MHz      288.906 V²/us
-
|-
+
48    1.200 V  500 MHz      720.000 V²/us
-
|720 MHz || || 54 || 45 || 45 || 45 || 42
+
54    1.275 V  550 MHz      894.094 V²/us
-
|-
+
60    1.350 V  600 MHz       1093.500 V²/us
-
| || || 1.275 V, 1137.938 V²/us || 1.163 V, 1014.427 V²/us || 1.163 V, 1014.427 V²/us || 1.163 V, 1014.427 V²/us ||
+
 
-
|-
+
======kernel-power LV profile======
-
|805 MHz || || 54 || 48 || 48 || 48 || 45
+
 
-
|-
+
VALUE  VOLTAGE  FREQUENCY    DYNAMIC POWER
-
| || || 1.275 V, 1316.756 V²/us || 1.200 V, 1166.400 V²/us || 1.200 V, 1166.400 V²/us || 1.200V, 1166.200 V²/us ||
+
30    0.975V   0 MHz        0.000 V²/us
-
|-
+
30    0.975V   125 MHz      118.828 V²/us
-
|850 MHz || || 54 || 48 || 48 || 48 || 46
+
38    1.075V    250 MHz      288.906 V²/us
-
|-
+
48    1.200V    500 MHz      720.000 V²/us
-
| || || 1.275 V, 1381.781 V²/us || 1.200 V, 1224.000 V²/us || 1.200 V, 1224.000 V²/us || 1.200V, 1224.000 V²/us ||
+
48    1.200V    550 MHz      792.000 V²/us
-
|-
+
54    1.275V    600 MHz      975.375 V²/us
-
|900 MHz || || 54 || '''54''' || '''54''' || '''54''' || 49
+
54    1.275V    700 MHz      1137.938 V²/us
-
|-
+
54    1.275V    750 MHz      1219.219 V²/us
-
| || || 1.275 V, 1463.062 V²/us || 1.275V, 1463.062 V²/us || 1.275V, 1463.062 V²/us || 1.275 V, 1463.062 V²/us ||
+
54    1.275V    810 MHz      1316.756 V²/us
-
|-
+
54    1.275V    850 MHz      1381.781 V²/us
-
|950 MHz || || 54 || 54 || 54 || 54 || 52
+
  54    1.275V    900 MHz      1463.062 V²/us
-
|-
+
54    1.275V    950 MHz      1544.344 V²/us
-
| || || 1.275 V, 1544.344 V²/us || 1.275 V, 1544.344 V²/us || 1.275 V, 1544.344 V²/us || 1.275 V, 1544.344 V²/us ||
+
60    1.350V    1000 MHz      1822.500 V²/us
-
|-
+
72    1.500V    1100 MHz      2475.000 V²/us
-
|1000 MHz || || 60 || 60 || 60 || 60 || 55
+
72    1.500V    1200 MHz      2700.000 V²/us
-
|-
+
 
-
| || || 1.350 V, 1822.500 V²/us || 1.350 V, 1822.500 V²/us || 1.350 V, 1822.500 V²/us || 1.350 V, 1822.500 V²/us ||
+
======kernel-power ULV profile======
-
|-
+
 
-
|1100 MHz || || 72 || 72 || 72 || 72 || 63
+
VALUE  VOLTAGE  FREQUENCY    DYNAMIC POWER
-
|-
+
25    0.912V    0 MHz        0.000 V²/us
-
| || || 1.500 V, 2475.000 V²/us || 1.500 V, 2475.000 V²/us || 1.500 V, 2475.000 V²/us || 1.500 V, 2475.000 V²/us ||
+
25    0.912V    125 MHz      103.968 V²/us
-
|-
+
25    0.912V    250 MHz      207.936 V²/us
-
|1150 MHz || || 72 || 72 || 72 || 72 || 69
+
33    1.012V    500 MHz      512.072 V²/us
-
|-
+
38    1.075V   550 MHz      635.594 V²/us
-
| || || 1.500 V, 2700.000 V²/us || 1.500 V, 2700.000 V²/us || 1.500 V, 2700.000 V²/us || 1.500 V, 2700.000 V²/us ||
+
38    1.075V    600 MHz      693.375 V²/us
-
|}
+
45    1.163V    700 MHz      946.798 V²/us
 +
45    1.163V    750 MHz      1014.427 V²/us
 +
48    1.200V    810 MHz      1166.400 V²/us
 +
48    1.200V    850 MHz      1224.000 V²/us
 +
54    1.275V    900 MHz      1463.062 V²/us
 +
54     1.275V    950 MHz      1544.344 V²/us
 +
60    1.350V    1000 MHz    1822.500 V²/us
 +
72    1.500V    1100 MHz    2475.000 V²/us
 +
72    1.500V    1200 MHz    2700.000 V²/us
 +
 
 +
======kernel-power XLV profile======
 +
 
 +
VALUE  VOLTAGE  FREQUENCY    DYNAMIC POWER
 +
30    0.975V    0 MHz       0.000 V²/us
 +
20    0.850V    125 MHz      90.312 V²/us
 +
30    0.975V    250 MHz      237.656 V²/us
 +
33    1.012V    500 MHz      512.072 V²/us
 +
38    1.075V    550 MHz      635.594 V²/us
 +
38    1.075V    600 MHz      693.375 V²/us
 +
45    1.163V    700 MHz      946.798 V²/us
 +
45    1.163V    750 MHz      1014.427 V²/us
 +
48    1.200V    810 MHz      1166.400 V²/us
 +
48    1.200V   850 MHz      1224.000 V²/us
 +
54     1.275V    900 MHz      1463.062 V²/us
 +
54    1.275V   950 MHz      1544.344 V²/us
 +
60    1.350V    1000 MHz    1822.500 V²/us
 +
72    1.500V    1100 MHz    2475.000 V²/us
 +
72    1.500V    1150 MHz    2587.500 V²/us
 +
 
 +
======kernel-power "ideal" profile======
 +
 
 +
VALUE  VOLTAGE  FREQUENCY    DYNAMIC POWER
 +
30    0.975V    0 MHz        0.000 V²/us
 +
30    0.975V    125 MHz      118.828 V²/us
 +
30    0.975V    250 MHz      237.656 V²/us
 +
30    0.975V    500 MHz      475.312 V²/us
 +
33    1.012V    550 MHz      563.279 V²/us
 +
38    1.075V    600 MHz      693.375 V²/us
 +
45    1.163V    700 MHz      946.798 V²/us
 +
45    1.163V    750 MHz      1014.427 V²/us
 +
48    1.200V    810 MHz      1166.400 V²/us
 +
48    1.200V    850 MHz      1224.000 V²/us
 +
54    1.275V    900 MHz      1463.062 V²/us
 +
54    1.275V    950 MHz      1544.344 V²/us
 +
60    1.350V    1000 MHz    1822.500 V²/us
 +
72    1.500V    1100 MHz    2475.000 V²/us
 +
72    1.500V    1150 MHz    2587.500 V²/us
 +
 
==Useful scripts==
==Useful scripts==

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)