Difference between revisions of "How to get SpeedStep working on Coppermine-piix4-smi based ThinkPads"

From ThinkWiki
Jump to: navigation, search
(Foreword)
(added categories, adjusted for the page move)
Line 1: Line 1:
=How to get SpeedStep (partialy) working with Coppermine-piix4-smi based thinkpads (x21 and maybe x20 and x22)=
 
 
==Foreword==
 
==Foreword==
 
: APPLYING THIS HOWTO MAY MAKE YOU DUMB, CRASH YOUR CPU, YOUR MOTHERBOARD, MAKE YOUR GIRLFRIEND LEAVE YOU, OR MAYBE WORTH, USE IT AT YOUR OWN RISKS, I'M NOTHING OF A KERNEL HACKER, NEITHER A SMART GUY, THIS IS HOW I TRYED TO GET IT WORK, AND TILL NOW IT IS WORKING, MY PROPOSITION ARE ALMOST GUARANTED TO BE DUMB.
 
: APPLYING THIS HOWTO MAY MAKE YOU DUMB, CRASH YOUR CPU, YOUR MOTHERBOARD, MAKE YOUR GIRLFRIEND LEAVE YOU, OR MAYBE WORTH, USE IT AT YOUR OWN RISKS, I'M NOTHING OF A KERNEL HACKER, NEITHER A SMART GUY, THIS IS HOW I TRYED TO GET IT WORK, AND TILL NOW IT IS WORKING, MY PROPOSITION ARE ALMOST GUARANTED TO BE DUMB.
  
 
: This HowTo is intended for people having trouble getting SpeedStep working vi CpuFreq on their Coppermine CPU with a piix4 mainboard.  
 
: This HowTo is intended for people having trouble getting SpeedStep working vi CpuFreq on their Coppermine CPU with a piix4 mainboard.  
 +
: Thinkpads known to have this configuration are the X20, X21, X22, X23, X24, T20, T21, T22, T23 and possibly A2x models.
 
: These CPUs support (as i could notice) at least 3 different running speed, but it seems that the SpeedStep driver (and maybe the SpeedStep Data Sheet) only allows 2 diffrent running modes.
 
: These CPUs support (as i could notice) at least 3 different running speed, but it seems that the SpeedStep driver (and maybe the SpeedStep Data Sheet) only allows 2 diffrent running modes.
  
Line 51: Line 51:
 
==What's not working==
 
==What's not working==
 
: Obviously, what's not working is the other steps, and the current-speed reconignition.
 
: Obviously, what's not working is the other steps, and the current-speed reconignition.
 +
 +
 +
[[Category:T20]] [[Category:T21]] [[Category:T22]] [[Category:T23]] [[Category:X20]] [[Category:X21]] [[Category:X22]] [[Category:X23]] [[Category:X24]]

Revision as of 01:17, 12 November 2004

Foreword

APPLYING THIS HOWTO MAY MAKE YOU DUMB, CRASH YOUR CPU, YOUR MOTHERBOARD, MAKE YOUR GIRLFRIEND LEAVE YOU, OR MAYBE WORTH, USE IT AT YOUR OWN RISKS, I'M NOTHING OF A KERNEL HACKER, NEITHER A SMART GUY, THIS IS HOW I TRYED TO GET IT WORK, AND TILL NOW IT IS WORKING, MY PROPOSITION ARE ALMOST GUARANTED TO BE DUMB.
This HowTo is intended for people having trouble getting SpeedStep working vi CpuFreq on their Coppermine CPU with a piix4 mainboard.
Thinkpads known to have this configuration are the X20, X21, X22, X23, X24, T20, T21, T22, T23 and possibly A2x models.
These CPUs support (as i could notice) at least 3 different running speed, but it seems that the SpeedStep driver (and maybe the SpeedStep Data Sheet) only allows 2 diffrent running modes.
This Document is Under the GNU/GPL v2+ Licence.

My case

(this part is intended for Google matching of people having the same logs ).
This is what i get:
I have a x21 IBM ThinkPad, and when trying the SpeedStep implementation of 2.6 kernels i got:
[xaiki@gonzo]:~% sudo modprobe speedstep-smi
FATAL: Error inserting speedstep_smi    (/lib/modules/2.6.10-rc1-mm4-xa1/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.ko): No such device
Rebooting with cpufreq.debug=7 ( 1 is for core, 2 is for ??, and 4 is for drivers, 7 = 1 + 2 + 4 ) gave:
[xaiki@gonzo]:~% sudo modprobe speedstep-smi
FATAL: Error inserting speedstep_smi   (/lib/modules/2.6.10-rc1-mm4-xa1/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.ko): No such device
[xaiki@gonzo]:~% sudo tail /var/log/syslog
[...]
Nov 11 19:54:20 localhost kernel: speedstep-lib: x86: 6, model: 8
Nov 11 19:54:20 localhost kernel: speedstep-lib: Coppermine: MSR_IA32_EBL_CR_POWERON is 0x44080020, 0x0
Nov 11 19:54:20 localhost kernel: speedstep-lib: Coppermine: MSR_IA32_PLATFORM ID is 0x0, 0x540000
Nov 11 19:54:20 localhost kernel: speedstep-smi: No supported Intel CPU detected.

How to get it work

Easy =) just disable the speedstep-lib checks
[xaiki@gonzo]:~% sudo modprobe speedstep-lib relaxed_check=1
[xaiki@gonzo]:~% sudo modprobe speedstep-smi
Hurrah !!

How to use it

Using the sys interface

speeds are in Khz.
your max speed is at: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
gonzo:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
700000
your min speed is at: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
gonzo:~# cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
500000
echo to /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed to change the speed
gonzo:/home/xaiki# echo 700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
gonzo:~# cat /proc/cpuinfo  | grep "cpu MHz"
cpu MHz         : 697.252
gonzo:~# echo 900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
gonzo:~# cat /proc/cpuinfo  | grep "cpu MHz"
cpu MHz         : 976.152
don't trust no-one, my cpu is a 200-450-500-750 Speedstep capable... i'd like it to run at 1Ghz ...

TODO

powernowd ? acpi-scripts ?

What's not working

Obviously, what's not working is the other steps, and the current-speed reconignition.