How to get SpeedStep working on P4-class-Celeron based ThinkPads

From ThinkWiki
Jump to: navigation, search

If you have a Pentium 4 class Celeron (or Intel Mobile Celeron (4) based ThinkPad (like some of the R32, R40, R40e models) you can use the P4-Clockmod scaling option from 2.6 kernels to set the cpu speed. Use any userspace daemon like powernowd or cpufreqd to get dynamic speedstepping to work.

Kernel config

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_X86_P4_CLOCKMOD=y (for R40e, p4-class celeron, other tp's might need something different here)

make sure to have the sys interface built within your kernel

CONFIG_SYSFS=y

using the sysfs interface

Use the sys-interface to discover and set available frequencies.

Make sure to have sysfs mounted, by adding

none            /sys            sysfs           defaults                0      0

to your /etc/fstab (if not already there).

Get available freqencies with:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
275000 550000 825000 1100000 1375000 1650000 1925000 2200000

Set a frequency:

# echo 825000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed 1

You can use powernowd (easier) or cpufreq (more settings) to have cpuspeed dynamically adjusted.


FOOTNOTES [Δ]
  1. Frequencies below 825000 will make X almost unusable (mouse jumps around, until cpuspeed rises).