Difference between revisions of "How to get SpeedStep working on Coppermine-piix4-smi based ThinkPads"
(→Foreword) |
|||
Line 5: | Line 5: | ||
: 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. | ||
: 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. | ||
+ | |||
+ | : This Document is Under the GNU/GPL v2+ Licence. | ||
+ | |||
==My case== | ==My case== | ||
: (this part is intended for Google matching of people having the same logs ). | : (this part is intended for Google matching of people having the same logs ). |
Revision as of 17:47, 11 November 2004
Contents
How to get SpeedStep (partialy) working with Coppermine-piix4-smi based thinkpads (x21 and maybe x20 and x22)
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.
- 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.