FS#17107 - [kernel26] Error on load speedstep-centrino or acpi-cpufreq on Pentium M (Dothan)
Attached to Project:
Arch Linux
Opened by toorlv (toorlv) - Thursday, 12 November 2009, 15:47 GMT
Last edited by Thomas Bächler (brain0) - Monday, 30 August 2010, 13:37 GMT
Opened by toorlv (toorlv) - Thursday, 12 November 2009, 15:47 GMT
Last edited by Thomas Bächler (brain0) - Monday, 30 August 2010, 13:37 GMT
|
Details
Arch Linux i686, fresh install. 2.6.31 kernel (i also tried
other kernels like ZEN).
Computer: Fujitsu-Siemens AMILO L7300 Problem: When I modprobe p4-clockmod, dmesg says: p4-clockmod: Warning: Pentium M detected. The acpi_cpufreq module offers voltage scaling in addition of frequency scaling. You should use that instead of p4-clockmod, if possible. When using p4-clockmod, my 1.73GHZ will be limited to 600MHz, so instead I try to modprobe acpi-cpufreq, but it gives an error: [root@archijs build]# modprobe acpi-cpufreq FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.31-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko): No such device cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 1.73GHz (Dothan) stepping : 8 cpu MHz : 598.000 cache size : 2048 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est tm2 bogomips : 1197.07 clflush size : 64 power management: /proc/config.gz: # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=m # CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=m CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # CPUFreq processor drivers # CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_POWERNOW_K6=m CONFIG_X86_POWERNOW_K7=m CONFIG_X86_POWERNOW_K7_ACPI=y CONFIG_X86_POWERNOW_K8=m CONFIG_X86_GX_SUSPMOD=m CONFIG_X86_SPEEDSTEP_CENTRINO=m CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y CONFIG_X86_SPEEDSTEP_ICH=m CONFIG_X86_SPEEDSTEP_SMI=m CONFIG_X86_P4_CLOCKMOD=m CONFIG_X86_CPUFREQ_NFORCE2=m CONFIG_X86_LONGRUN=m CONFIG_X86_LONGHAUL=m CONFIG_X86_E_POWERSAVER=m CONFIG_X86_CPUFREQ_EEEPC900=m # # shared options # CONFIG_X86_SPEEDSTEP_LIB=m CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y [root@archijs build]# modprobe speedstep-lib [root@archijs build]# modprobe speedstep-ich FATAL: Error inserting speedstep_ich (/lib/modules/2.6.31-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/speedstep-ich.ko): No such device [root@archijs build]# modprobe speedstep-centrino FATAL: Error inserting speedstep_centrino (/lib/modules/2.6.31-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.ko): No such device [root@archijs build]# ls /sys/devices/system/cpu/cpu0/ cpuidle crash_notes thermal_throttle topology [root@archijs build]# dmesg | grep throttling ACPI: Processor [CPU0] (supports 8 throttling states) [root@archijs build]# dmesg | grep acpi pata_acpi 0000:00:11.1: power state changed by ACPI to D0 pata_acpi 0000:00:11.1: PCI INT A -> Link[LNKA] -> GSI 7 (level, low) -> IRQ 7 pata_acpi 0000:00:11.1: VIA VLink IRQ fixup, from 0 to 7 pata_acpi 0000:00:11.1: PCI INT A disabled [root@archijs build]# dmesg | grep cpu KERNEL supported cpus: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:1 nr_node_ids:1 [<c12ff1aa>] ? identify_cpu+0x377/0x386 [<c1429dc9>] ? identify_boot_cpu+0xa/0x1e cpuidle: using governor ladder cpuidle: using governor menu [root@archijs build]# cat /proc/acpi/processor/CPU1/throttling cat: /proc/acpi/processor/CPU1/throttling: No such file or directory [root@archijs build]# cpufreq-info cpufrequtils 005: cpufreq-info (C) Dominik Brodowski 2004-2006 Report errors and bugs to cpufreq@vger.kernel.org, please. analyzing CPU 0: no or unknown cpufreq driver is active on this CPU On Ubuntu Karmic/Jaunty all works fine. It uses centrino driver (cpufreq-info). BIOS is up to date -- i also checked it's settings (tried 'Restore Defaults'), but didn't found anything that is related to SpeedStep or ACPI Tables.. |
This task depends upon
Closed by Thomas Bächler (brain0)
Monday, 30 August 2010, 13:37 GMT
Reason for closing: Won't fix
Additional comments about closing: Total ignorance of the end-user.
Monday, 30 August 2010, 13:37 GMT
Reason for closing: Won't fix
Additional comments about closing: Total ignorance of the end-user.
$ sudo modprobe acpi-cpufreq
$ lsmod | grep acpi
acpi_cpufreq 8648 0
I added acpi-cpufreq cpufreq_ondemand cpufreq_powersave into MODULES()
throttling (0 KiB)
config.gz (24.9 KiB)
speedstep running on those processors, for example:
http://localhost.ruhr.de/~stefan/acerTM292/patches/cpufreq-speedstep-dothan-3.patch
How can I apply it?
P.S. falling back to Ubuntu
Here is another patched speedstep-centrino.c: http://pastebin.com/m22eb4f5d
thread: https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/132271
Modified speedstep-centrino.c for 2.6.31:
http://rapidshare.com/files/306503098/speedstep-centrino.c
im using a pentium-m 1.73GHz on a fujitsu-siemens Amilo 3438G
please take a fast look for my topic about this issue:
http://bbs.archlinux.org/viewtopic.php?id=87274
also you can check the following topics below:
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/132271
http://bbs.archlinux.org/viewtopic.php?id=32767
http://bbs.archlinux.org/viewtopic.php?id=87274
in the PKGBUILD for the core/kernel26 (from abs) you can just add another line before the first patch
patch -N "${srcdir}/linux-2.6.31/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c" -i ${srcdir}/speedstep-centrino.patch || return $1
and add the speedstep-centrino.patch to the file list (the md5sum is '1cf1d69c83fd6bd5b2c1bd4169391a61').
speedstep-centrino.patch (4.2 KiB)
Patched and recompiled the kernel for the pentium-m (optimize)
use this kernel to avoid this bug
http://aur.archlinux.org/packages.php?ID=33104
I'm not updating it until kernel 2.6.33 has the ZEN patchset stable http://zen-kernel.org/
Tested with 2.6.32.2
But I downloaded the 2.6.33 sources and compared the speedstep-centrino.c files.
They are identic, so I hope it will work with 2.6.33 too.
I'll test it soon...
I changed that ...
There was only one line added to the speedstep-centrino.c file, So just the line numbers changed in the patch.
I recommend this, since kernel packagers does not patch kernel26 (there is only one few exception for auf2)
http://linux.derkeiler.com/Mailing-Lists/Kernel/2008-06/msg01078.html
http://lkml.org/lkml/2008/6/3/220
Ubuntu carries this patch for a relatively long time.
linux (2.6.24-8.14) hardy; urgency=low
[cking]
* Enable speedstep for sonoma processors.
- LP: #132271
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-maverick.git;a=blobdiff;f=arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c;h=ee4e9f8050752923f9671f61ffbea662bc9ad12a;hp=9b1ff37de46ae6a729f48d2d94ad30548806884d;hb=23120eb5ae5a12924565e8af3d946a015e1caaf9;hpb=215cc71ef0b26b9434404f387681d9bd173d2434
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/132271
close the task, please
As was stated earlier, we can not and will not maintain changes to the kernel that are not approved by upstream developers and merged into a future Linux tree. There are many reasons why this might be the case:
1) The patches have never been sent to Linux developers (and if they have been written by Ubuntu people, that is very likely, they would rather fork a project than communicate with it properly).
2) The patches are of poor quality.
3) The patches are incorrect.
4) ...
In any of these cases, we will not just add some random code that works on first glance without understanding it.
In this particular case, the following happend: An unsafe(!) patch was added to the speedstep-centrino driver, which is deprecated. It was recommended by upstream developers that the acpi-cpufreq driver is used instead. The fact that acpi-cpufreq is not working is due to broken ACPI tables. Instead of a) fixing the ACPI tables by upgrading the BIOS or b) trying to improve the Linux ACPI parser to support this particular case, the unsafe patch was considered a permanent solution, although it might or might not set the correct voltage and potentially risks to destroy the CPU. That may be Ubuntu way of doing thing, but not the Arch way of doing things.
Another way of putting it is this: I don't have the broken hardware, you do. So it's your responsibility to communicate with upstream to fix the bug, as you are the only one who CAN do that ("Hello, some guy told me his acpi-cpufreq didn't work, can you please fix it. No, I can't give you any details without asking him first, please wait another week.") - at least in an Arch world. If you are not capable or willing to do that, then you are and have always been using the wrong distribution.