<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.148.113.44</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.148.113.44"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/84.148.113.44"/>
	<updated>2026-09-23T11:40:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=9752</id>
		<title>How to make use of Dynamic Frequency Scaling</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_use_of_Dynamic_Frequency_Scaling&amp;diff=9752"/>
		<updated>2005-08-23T23:18:45Z</updated>

		<summary type="html">&lt;p&gt;84.148.113.44: /* Using Frequency Scaling Governors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Linux supports Dynamic Frequency Scaling for ThinkPads with mobile Pentium III, Pentium 4 and Pentium M processors.&lt;br /&gt;
&lt;br /&gt;
==Debian notes==&lt;br /&gt;
&lt;br /&gt;
Instead of compiling your own kernel, you can use the Debian &amp;quot;stock&amp;quot; kernel. In Unstable/SID the 2.6.12 kernel image with an /etc/modules that include:&lt;br /&gt;
&lt;br /&gt;
 battery&lt;br /&gt;
 ac&lt;br /&gt;
 thermal&lt;br /&gt;
 processor&lt;br /&gt;
 acpi-cpufreq&lt;br /&gt;
 cpufreq-userspace&lt;br /&gt;
&lt;br /&gt;
With the powernowd package and you should be setup.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Kernel===&lt;br /&gt;
====2.4 Kernels====&lt;br /&gt;
There were various frequency scaling implementations in the 2.4 series of kernels. They all were preliminary and a standard was rised with the introduction of the sysfs filesystem in 2.6 kernels. It is recommended to use a 2.6 kernel, if possible.&lt;br /&gt;
&lt;br /&gt;
====2.6 Kernels====&lt;br /&gt;
You need to enable the cpu frequency scaling for your kernel (usually your distros kernel will have this enabled):&lt;br /&gt;
 CONFIG_CPU_FREQ=y&lt;br /&gt;
&lt;br /&gt;
You need to enable governors, if not already done in your distros default kernel:&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_USERSPACE=y&lt;br /&gt;
&lt;br /&gt;
Since 2.6.10 there is the ondemand governor that does cpu frequency scaling in kernel so you dont need userspace programs like powernowd etc.&lt;br /&gt;
It can be enabled with:&lt;br /&gt;
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y&lt;br /&gt;
&lt;br /&gt;
==Using the Sys Interface==&lt;br /&gt;
&lt;br /&gt;
The files in {{path|/sys/devices/system/cpu/cpu0/cpufreq/}} provide information and a means of controlling the frequency scaling subsystem.&lt;br /&gt;
Seed values are given in Khz. You need to be root to access the /sys filesystem.&lt;br /&gt;
&lt;br /&gt;
Your max speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}&lt;br /&gt;
:{{cmdresult|700000}}&lt;br /&gt;
Your min speed is at {{path|/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}.&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq}}&lt;br /&gt;
:{{cmdresult|500000}}&lt;br /&gt;
If you are using the userspace governor, you can write to {{path|/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}} to change the current speed.&lt;br /&gt;
:{{cmdroot|echo 700000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 697.252}}&lt;br /&gt;
:{{cmdroot|echo 900000 &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed}}&lt;br /&gt;
:{{cmdroot|cat /proc/cpuinfo  | grep &amp;quot;cpu MHz&amp;quot;}}&lt;br /&gt;
:{{cmdresult|cpu MHz         : 976.152}}&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Governors==&lt;br /&gt;
You can compile the scaling governors into your kernel or compile it as module. You'll find the governors with 'make menuconfig' here:&lt;br /&gt;
: &amp;lt;code&amp;gt;Power managemant options (ACPI, APM)   ---&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;CPU Frequency scaling  ---&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After booting the new kernel you can get a list of available governors with (as root):&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors}}&lt;br /&gt;
:{{cmdresult|conservative ondemand powersave userspace performance}}&lt;br /&gt;
&lt;br /&gt;
A Short Overview over the available governors:&lt;br /&gt;
:;ondemand&lt;br /&gt;
::This driver is a dynamic cpufreq policy governor. It changes frequency based on the processor load.&lt;br /&gt;
:;conservative&lt;br /&gt;
::New since 2.6.12. Similar to ''ondemand''. Optimized for battery powered environments and AMD64.&lt;br /&gt;
:;powersave&lt;br /&gt;
::Like the name says, your battery would choose this one ;). It sets the Frequency always to the lowest available.&lt;br /&gt;
:;userspace&lt;br /&gt;
::You have to choose this one, if a [[#Using Frequency Scaling Daemons|frequency scaling daemon]] should manage your CPU frequency or you want to do it manually.&lt;br /&gt;
:;performance&lt;br /&gt;
::This governor sets your Frequency always to the highest available.&lt;br /&gt;
&lt;br /&gt;
Now we set our governor:&lt;br /&gt;
What is our current governor?&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|userspace}}&lt;br /&gt;
Set new governor and watch if it has changed&lt;br /&gt;
:{{cmdroot|echo conservative &amp;gt; /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdroot|cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor}}&lt;br /&gt;
:{{cmdresult|conservative}}&lt;br /&gt;
&lt;br /&gt;
Congrats! Your governor is active.&lt;br /&gt;
&lt;br /&gt;
You may set the governor in your rc.local, to make it used on every boot.&lt;br /&gt;
&lt;br /&gt;
Debian has no rc.local, so read [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-custombootscripts this] and [http://www.debian.org/doc/FAQ/ch-customizing.en.html#s-booting this]&lt;br /&gt;
&lt;br /&gt;
==Using Frequency Scaling Daemons==&lt;br /&gt;
{{NOTE|It is recommended to use the ondemand frequency scaling governor, available in kernels from 2.6.10. See [[#Using Frequency Scaling Governors|above]].  If you do this you do not need a frequency scaling daemon}}&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable the userspace governor to have a userspace daemon do the frequency scaling. If it is built as module, load it as &amp;lt;tt&amp;gt;cpufreq-userspace&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There are plenty of userspace frequency scaling daemons available:&lt;br /&gt;
&lt;br /&gt;
*[[How to configure cpufreqd | cpufreqd]]&lt;br /&gt;
*[[How to configure cpudynd | cpudynd]]&lt;br /&gt;
*[[How to configure speedfreqd | speedfreqd]]&lt;br /&gt;
*[[How to configure powersaved | powersaved]]&lt;br /&gt;
*[[How to configure powernowd | powernowd]]&lt;br /&gt;
*[[How to use cpufrequtils | cpufrequtils]]&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
*If you have a Coppermine-piix-smi based Thinkpads like from the A2x, X2x and T2x series you need to enable the &amp;lt;tt&amp;gt;speedstep-ich&amp;lt;/tt&amp;gt; driver in the kernel and load it if it's built as module. You might want to look at [[How to get SpeedStep working on Coppermine-piix4-smi based Thinkpads | this page]].&lt;br /&gt;
&lt;br /&gt;
*If you have a p4-class celeron based Thinkpad like the R40e you might want to look at [[How to get SpeedStep working on P4-class-Celeron based Thinkpads | this page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:600X]] [[Category:A20m]] [[Category:A20p]] [[Category:A21e]] [[Category:A21m]] [[Category:A21p]] [[Category:A22e]] [[Category:A22m]] [[Category:A22p]] [[Category:i1200]] [[Category:i1300]] [[Category:i1620]] [[Category:G40]] [[Category:G41]] [[Category:R30]] [[Category:R31]] [[Category:R32]] [[Category:R40]] [[Category:R40e]] [[Category:R50]] [[Category:R50e]] [[Category:R50p]] [[Category:R51]] [[Category:R52]] [[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:T30]] [[Category:T40]] [[Category:T40p]] [[Category:T41]] [[Category:T41p]] [[Category:T42]] [[Category:T42p]] [[Category:T43]] [[Category:T43p]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]] [[Category:X30]] [[Category:X31]] [[Category:X32]] [[Category:X40]] [[Category:X41]] [[Category:X41 Tablet]] [[Category:TransNote]]&lt;/div&gt;</summary>
		<author><name>84.148.113.44</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=How_to_make_APM_work&amp;diff=8501</id>
		<title>How to make APM work</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=How_to_make_APM_work&amp;diff=8501"/>
		<updated>2005-08-23T23:05:40Z</updated>

		<summary type="html">&lt;p&gt;84.148.113.44: /* ThinkPads that using APM on is recommended */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
You need to enable the APM Power Management support in the kernel and install the [[apmd]] to handle the events triggered by the kernel driver.&lt;br /&gt;
The configuration for what to do at the different events is done in the proxy script which is usually found in {{path|/etc/apmd_proxy}}.&lt;br /&gt;
See {{cmd|man apmd}} for further information on this.&lt;br /&gt;
&lt;br /&gt;
If both ACPI and APM are enabled in your kernel, ACPI will override APM on boot if an ACPI capable BIOS is detected. To keep it from doing so add {{bootparm|acpi|off}} to your [[kernel parameters]].&lt;br /&gt;
&lt;br /&gt;
Beware that different kernels and distributions will provide different results.  Mandrake has been better than Redhat, Fedora, and Debian generally with e.g. T20, 600X and 240X in providing sleep but no blank or hibernation with 2.4 and 2.6 kernels.  Debian Sarge with 2.4 kernels also.  On a RH9 distribution you can be successful using a MDK kernel.&lt;br /&gt;
&lt;br /&gt;
==Screen blanking (Standby)==&lt;br /&gt;
A {{cmdroot|apm -S}} will standby the machine. {{key|Fn}}{{key|F3}} should result in the same thing.&lt;br /&gt;
&lt;br /&gt;
==Suspend to RAM (Sleep)==&lt;br /&gt;
A {{cmdroot|apm -s}} will suspend the machine. {{key|Fn}}{{key|F4}} should do the same thing.&lt;br /&gt;
&lt;br /&gt;
==Suspend to disk (Hibernate)==&lt;br /&gt;
The Phoenix BIOS allows you three ways to hibernate with APM:&lt;br /&gt;
*using a special partition&lt;br /&gt;
*using a hibernation file on a dos type partition&lt;br /&gt;
*using [http://developer.berlios.de/projects/softwaresuspend/ SoftwareSuspend2]&lt;br /&gt;
&lt;br /&gt;
===using a hibernation partition===&lt;br /&gt;
The partition to be used for hibernation must be a primary partition that is at least as big as your laptop's memory including its video ram. First set the partition type of this partition to a0 (IBM Thinkpad hibernation) with fdisk, and then use [[tphdisk]] to write a hibernation file directly to this partition.&lt;br /&gt;
&lt;br /&gt;
Only follow these instructions, if you understand them. You will overwrite a partition on your hard disk and might lose valuable data - consider yourself warned. For example, assume that {{path|/dev/hda2}} is the partition that is to be converted to a hibernation partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
#Become root and type {{cmdroot|/sbin/fdisk /dev/hda}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
#At the fdisk prompt type {{key|t}} to change the partition type, then type {{key|2}} (or the number of the partition that's supposed to be the hibernation partition) to indicate that you want to change the type of partition 2, and then enter the partition type: a0.&amp;lt;br /&amp;gt;&lt;br /&gt;
#Now type {{key|w}} to write the partition table back to disk and exit.&amp;lt;br /&amp;gt;&lt;br /&gt;
#After that use [[tphdisk]] to initialize the hibernation partition. First estimate the size of your laptop's memory (main and video). For the sake of this example, let us assume that the main memory is 1024 MB and the video card has 128 MB of memory. Then the command {{cmdroot|tphdisk 1152 &amp;gt; /dev/hda2}} will properly initialize the hibernation partition. Note that this will only work if the partition is big enough.&amp;lt;br /&amp;gt;&lt;br /&gt;
#After a reboot, {{key|Fn}}{{key|F12}} will work as expected. &lt;br /&gt;
&lt;br /&gt;
I have successfully used this method on a T41 (2373GEU) that runs Fedora Core 3.&lt;br /&gt;
&lt;br /&gt;
In case you have a floppy drive you can also use the [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4PESMK IBMs Standalone Hibernation Utility Diskette II] to create the hibernation partition.&amp;lt;br /&amp;gt;&lt;br /&gt;
Or you can use [http://www-public.tu-bs.de:8080/~y0015821/hibernation-util-boot.iso this bootable CD image] if you don't.&lt;br /&gt;
&lt;br /&gt;
===using a hibernation file on a dos partition===&lt;br /&gt;
The partition to put the file on must be a dos or vfat partition. Fat32 formatted partitions have been reported successful as well as Fat16 formatted ones. The file is either created with phdisk.exe, if you happen to have a floppy drive and a bootable dos floppy disk that you can start it from.&lt;br /&gt;
Under Linux [[tphdisk]] will do this job for you.&lt;br /&gt;
&lt;br /&gt;
If you have 512MB or more of RAM installed, you will need to use a FAT32 partition, due to file-size limits in FAT16.&lt;br /&gt;
&lt;br /&gt;
There have been varying reports of success or lack thereof using [[tphdisk]]; see [[APM setup on a type 2379 Thinkpad T40]] for workarounds and notes on required BIOS version, if [[tphdisk]] doesn't do the trick.&lt;br /&gt;
&lt;br /&gt;
===using SoftwareSuspend2===&lt;br /&gt;
ToDo...&lt;br /&gt;
&lt;br /&gt;
==External Sources==&lt;br /&gt;
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4PESMK IBMs Standalone Hibernation Utility Diskette II]&lt;br /&gt;
&lt;br /&gt;
==ThinkPads on which using APM is recommended==&lt;br /&gt;
*ThinkPad {{220}}, {{230}}, {{235}}, {{240}}, {{240X}}&lt;br /&gt;
*ThinkPad {{300}}, {{300C}}&lt;br /&gt;
*ThinkPad {{310}}, {{310D}}, {{310E}}, {{310ED}}&lt;br /&gt;
*ThinkPad {{340}}, {{340CSE}}&lt;br /&gt;
*ThinkPad {{345C}}, {{345CS}}&lt;br /&gt;
*ThinkPad {{350}}, {{350C}}&lt;br /&gt;
*ThinkPad {{355}}, {{355C}}, {{355Cs}}&lt;br /&gt;
*ThinkPad {{360}}, {{360C}}, {{360CE}}, {{360CSE}}, {{360Cs}}, {{360P}}, {{360PE}}&lt;br /&gt;
*ThinkPad {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}&lt;br /&gt;
*ThinkPad {{370C}}&lt;br /&gt;
*ThinkPad {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}&lt;br /&gt;
*ThinkPad {{385D}}, {{385ED}}, {{385XD}}&lt;br /&gt;
*ThinkPad {{390}}, {{390E}}, {{390X}}&lt;br /&gt;
*ThinkPad {{500}}, {{510Cs}}&lt;br /&gt;
*ThinkPad {{560}}, {{560E}}, {{560X}}, {{560Z}}&lt;br /&gt;
*ThinkPad {{570}}, {{570E}}&lt;br /&gt;
*ThinkPad {{600}}, {{600D}}, {{600E}}, {{600X}}&lt;br /&gt;
*ThinkPad {{700}}, {{700C}}, {{700T}}, {{701C}}, {{701CS}}&lt;br /&gt;
*ThinkPad {{710T}}&lt;br /&gt;
*ThinkPad {{720}}, {{720C}}&lt;br /&gt;
*ThinkPad {{730T}}, {{730TE}}&lt;br /&gt;
*ThinkPad {{750}}, {{750C}}, {{750Cs}}, {{750P}}&lt;br /&gt;
*ThinkPad {{755C}}, {{755CD}}, {{755CDV}}, {{755CE}}, {{755CSE}}, {{755CV}}, {{755CX}}, {{755Cs}}&lt;br /&gt;
*ThinkPad {{760C}}, {{760CD}}, {{760E}}, {{760ED}}, {{760EL}}, {{760ELD}}, {{760L}}, {{760LD}}, {{760XD}}, {{760XL}}&lt;br /&gt;
*ThinkPad {{765D}}, {{765L}}&lt;br /&gt;
*ThinkPad {{770}}, {{770D}}, {{770E}}, {{770ED}}&lt;/div&gt;</summary>
		<author><name>84.148.113.44</name></author>
		
	</entry>
</feed>