You are not logged in.

#1 2009-12-22 12:47:45

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Hi there.

Actually I am using the arch's default kernel (2.6.31) from the core repo and I am using a pentium-m processor.
I cannot load the speedstep-centrino module or even acpi-cpufreq module.

~ $ sudo modprobe speedstep-centrino
FATAL: Module speedstep_centrino not found.

~ $ sudo 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

$ uname -a
Linux supernova 2.6.31-ARCH #1 SMP PREEMPT Tue Nov 10 19:48:17 CET 2009 i686 Intel(R) Pentium(R) M processor 1.73GHz GenuineIntel GNU/Linux

So what I am using in the pentium-m is the driver (module) p4-clockmod, but I cannot get more processor speed than 600MHz (its a 1.73GHz) - I did the configs and even forced cpufreq to a given clock frequency but it does not work for more than 600MHz.

translating cpufreq-info output to english (using googles translator) this is the output

~ $ cpufreq-info
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: p4-clockmod
  CPUs that run at the same frequency hardware: 0
  CPUs need to have their frequencies coordinated by software: 0
  larger transition latency: 10.00 ms.
  hardware limits: 75.0 MHz - 600 MHz
  frequency levels available: 75.0 MHz, 150 MHz, 225 MHz, 300 MHz, 375 MHz, 450 MHz, 525 MHz, 600 MHz
  regulators available cpufreq: userspace, powersave, ondemand, performance
  policy current frequency should be between 75.0 MHz and 600 MHz
                  The governor "performance" must decide which speed to use
                  within that limit.
  current CPU frequency is 600 MHz

also

~ $ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.73GHz
stepping        : 8
cpu MHz         : 600.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 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est tm2
bogomips        : 1600.50
clflush size    : 64
power management:

there is a bug report about this topic here: http://bugs.archlinux.org/task/17107

I'm trying to recompile the kernel with some options related to the cpu scaling capability.

also I have patched the file '/linux-2.6.31/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c' (from the kernel package)
with a more recent speedstep-centrino.c which can be found as an attachment in one of the latest replies in the bugtracker

..

Last edited by quarkup (2010-04-12 22:48:01)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#2 2009-12-22 22:40:43

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

edit: successfully recompiled the kernel with the new speedstep-centrino.c
also, there is a need to 'include' the intel's speedstep which has been deprecated.

im actually going to create a kernel26-pentium-m anyway, for those interested.


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#3 2009-12-23 16:05:53

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

this package is optimized for pentium-m centrino and will correctly load the cpufreq module (if not, tell it here, and in the AUR page !!)

http://aur.archlinux.org/packages.php?ID=33104

Last edited by quarkup (2010-04-12 22:49:16)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#4 2010-03-05 18:05:48

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

I looked at the speedstep-centrino patch and found nothing about my CPU

pentium-m 715 1,5GHz (dothan)

Is it supported without the patch?

Offline

#5 2010-03-05 18:20:39

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

you should just check with the arch kernel (the one in pacman's repositories)

use simply the modprobe tool as root:

# modprobe speedstep-centrino


then to check your cpufreq, use an alias for cpu for example
alias cpu='watch -n 0,1 cpufreq-info'

then just run 'cpu'.. it will show you what is actually going on with your cpu. open a big file or play a movie for example to check if your cpu performance is increased..


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#6 2010-03-05 18:31:52

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

hm, in the arch-stock kernels config speedstep-centrino is disabled.

I'm just compiling a kernel with speedstep-centrino enabled, when it's finished I will test.

If I understand the patch right, you hardcode freq_tables in speedstep-centrino.c, right?
So, if the unpatched module does not work I would like to try the patched, but in the patch I don't see the 715 freqs.
Where can I find the freqs for the 715 and how could I add them to the patch?


p.s.
with acpi_cpufreq freq-scaling works, but it regognizes wrong available freqs.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
1600000 1400000 1200000 800000 600000

but it's a 715 with max freq 1,5GHz
I think cause my bios / DSDT is buggy. I tried a "fixed" DSDT but had no luck and there is no BIOS update available.
So I have to use 1400000 as max freq, cause with 1600000 the CPU gets to high temperatures.
I hoped using speedstep-centrino solves this and I can use 1,5GHz as max freq. wink

Last edited by SiD (2010-03-05 18:34:06)

Offline

#7 2010-03-05 19:03:15

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

No I have not hardcoded the patch.

The patch itself has been posted by an arch member.
You should check the bug tracker here: http://bugs.archlinux.org/task/17107


When I was looking about the error (the speedstep-centrino module was not being loaded correctly) i found some topics about this issue in bugtrackers of gentoo and the ubuntu's launchpad.
I had access to various kernel archives about it and the user "toorlv" told about the patch.



You probably are confusing the model of the processor (the 715) with the number of frequencies.
http://en.wikipedia.org/wiki/List_of_In … processors
http://en.wikipedia.org/wiki/Pentium_M

for example, I am using a Pentium M 740 1.73 GHz
the "cpufreq-info" tells me that actually the supported frequencies are "798 MHz, 1.06 GHz, 1.33 GHz, 1.73 GHz" (notice the max is of 1.73GHz)

and

 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
798000 1064000 1330000 1729000

and I am not using the default arch kernel (in the repos)
as you can see my kernel is the one i built.

 $ uname -a
Linux supernova 2.6.32-pentium-m #1 ZEN SMP PREEMPT Sat Jan 23 18:08:45 WET 2010 i686 Intel(R) Pentium(R) M processor 1.73GHz GenuineIntel GNU/Linux

notice that the kernel26-pentium-m "includes the module" into the kernel so its not loadable with modprobe. it just works without modprobe.

Last edited by quarkup (2010-03-05 19:05:30)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#8 2010-03-05 19:42:11

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

quarkup wrote:

No I have not hardcoded the patch.

with hardcoded I meant the freq_tables are "defined in the module" and not read from ACPI or something. wink

quarkup wrote:

You probably are confusing the model of the processor (the 715) with the number of frequencies.

No, the 715 is a 1,5GHz CPU, so the max. available freq should be 1500000 and not 1600000.
That's my problem. Cause of a buggy bios / ACPI acpi_cpufreq reports wrong available freqs. wink

On linux-foundation.org I found a speedstep-centrino.c which contains the freq tables.
https://lists.linux-foundation.org/pipe … 15229.html
smile

If the speedstep-centrino modul from stock-kernel does not work I'll try that file.


P.S.
Maybe it works for you,  too ...

...and thanks for your help. smile

I'll report if it works for me...

Last edited by SiD (2010-03-05 19:43:20)

Offline

#9 2010-03-05 23:10:13

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

hey thanks.

you should check the cpufreq with the "conservative" driver too check in real time wether your cpu is being used or not (and the cpufreq will then change the frequencies).

I compiled different builds of the kernel and checked both differences and as far as I can remember, the cpufreq was not working for my processor without the patch.
the patched has more cpu  frequency tables for these processors, so i just apply the patch.

thanks again


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#10 2010-03-06 00:31:34

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

I've figured out the problem. It's not the acpi_cpufreq modul. The DSDT of my Laptop contains the wrong freqs!!!
I think if I compile the DSDT with the correct freqs for my cpu acpi_cpufreq should work for me.

for german readers:
https://forum.archlinux.de/?id=20;page= … hread=8366

p.s.
Problem is not that freq changing does not work. It uses the wrong freqs from the buggy DSDT.
Before I figured that out, I thought using speedstep-centrino instead of acpi_cpufreq could solve it maybe. wink

Last edited by SiD (2010-03-06 00:35:20)

Offline

#11 2010-03-06 20:27:15

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

I solved my Problem.

I added th table for the 715 Pentium-M to the speedstep-centrino.c patch and now it works!

Using a fixed DSDT with correct freqs works too, but I prefer the patched speedstep-centrino cause it seems to work "better" (CPU-Fan is more quiet).

and I am now able to undervolt via the freq-table in speedstep-centrino.c  big_smile
(linux-phc and setting VCore in DSDT does not work)

Here is the patch with the added 715 freq-table.
http://pastebin.com/mK0t0q7M

Last edited by SiD (2010-03-07 00:38:45)

Offline

#12 2010-04-01 12:46:51

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Hi,

I've got the same problem. Tried to make frequency scaling work since Ubuntu 8.04 and I'm tired of it… This is at the moment the only reason I'm booting under Windows and not Arch.

I can see you've both found a way to make it work but could you please give (or point to) instuctions on how to do that? I've already tried the pentium-m kernel from AUR to no avail. However my processor is a Pentium-M 725 and isn't included in the speedstep-centrino patch, so this might be the reason.

I'm rather confortable with adding my processor (with tweaked voltages smile) to the speedstep-centrino source code, but I'm not sure about how to rebuild a standard Arch kernel with that modification in. Also can't speedstep-centrino simply be built and used as a module? Building the pentium-m kernel from AUR took 4 hours…

(At this point I don't want to use that kernel because it looks like it causes the whole system to freeze in case of an out of memory… at least it happened once with Audacious eating ram like crazy here, and not with the normal kernel.)

Thanks.

Offline

#13 2010-04-01 13:07:31

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

@stqn

all I can do is really next time i update the kernel version put the speedstep-centrino as a module (and not built-into the kernel)

You should really compile gcc first before compiling a custom kernel because it will be faster.
Compiling a custom kernel with another custom kernel may be faster (this is the case because the kernel configs are optimized and it will even run faster than the stock kernel)

notice that gcc needs about 1G space to compile, but its way faster than the kernel to compile (about 30 minutes) and gives you a lot of performance speed when compiling another things.


Notice: also, you should use the ccache option on the /etc/makepkg.conf (and install the ccache from 'extra' repository)
this will boost much (really) your compiling time.

Before I had gcc compiled/custom kernel/ccache i would took between 4hours to 6 hours to compile the kernel.
Now I take less than 2 hours.


edit:
also you should check this articles on using patch/diff  to create patches or get the main speedstep-centrino.c patched as you need.

http://stephenjungels.com/jungels.net/a … nutes.html
http://linux.byexamples.com/archives/16 … -and-diff/

Last edited by quarkup (2010-04-01 13:09:35)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#14 2010-04-02 19:13:35

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Thanks for the information quarkup, I'll certainly try this next time I want to build the kernel…

Offline

#15 2010-04-02 19:44:13

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

stqn wrote:

Thanks for the information quarkup, I'll certainly try this next time I want to build the kernel…

updated the kernel to version 2.6.33.2 -zen1

also added the speedstep_centrino as a module. This should be better for everyone.

Last edited by quarkup (2010-04-09 09:57:47)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#16 2010-04-12 22:08:34

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Hi Quarkup,

With your help I managed to make it work, at long last! It's a miracle.

I booted under the previous version of kernel26-pentium-m, installed ccache, edited /etc/makepkg.conf to enable ccache and change CFLAGS to "-march=pentium-m -O3 -fomit-frame-pointer", installed abs (IIRC), installed gcc-ada which is needed to build gcc-ada which is part of the gcc package… (sigh), built gcc (took me a long time to figure out all those steps, and gcc took 2 hours and 15 minutes to build.)

Then I spent some time merging your speedstep-centrino patch with the one here : https://bugzilla.kernel.org/show_bug.cgi?id=7463 . That patch does include my model of Pentium-M and I think all other Dothan B0 models.

Then I changed the new kernel26-pentium-m AUR package to include my speedstep-centrino patch, and launched the build (took less time than the previous time: only 2 hours!)

After a reboot into the new kernel, a modprobe speedstep-centrino finally worked smile.

I think I see a few error messages during boot that aren't there with the Arch kernel, but everything seems to work so I'll take care about them another time.

Now I want first to recompile speedstep-centrino to use my own tweaked voltage values and add frequencies too (900 MHz, 1100 MHz, 1300 MHz and 1500 MHz are missing at the moment), and document the whole process and make the full patch available. Hopefully it will keep a few other people from going insane like I almost did.

Last edited by stqn (2010-04-12 22:13:17)

Offline

#17 2010-04-12 22:42:40

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Okay

Good luck then..


If you want to release a patch for the speedstep-centrino.c file ::
  -> patch first the original and 'buggy' speedstep-centrino.c with the patch included in the kernel26-pentium-m package;
  -> apply your patch or edit the file (adding only your table)  don't overclock/underclock the cpu tables !!
  -> finally, create a .patch file that shows the difference between the original speedstep-centrino.c and the patched one (using diff)

  -> post it here so it is easier to reach it.. I may then add the patch ..

Last edited by quarkup (2010-04-14 10:19:01)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#18 2010-04-28 22:18:30

stqn
Member
Registered: 2010-03-19
Posts: 1,191
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Ah, for some reason when I read your message I stopped at the "good luck" line...

I have since successfully patched speedstep-centrino.c for my own CPU, with all frequencies and lowered voltages (and I've done the math too: about 45% reduction in power consumption!). I have also switched back to the official Arch kernel because I kept getting crashes (in Firefox this time) with kernel26-pentium-m 2.6.33.2-1.

I have almost finished writing my little howto (in French for now) and wanted to clean up the patch a bit before releasing it, but since it's working as-is anyway, here it is: speedstep-centrino.c patch for Banias, Dothan B0 and Dothan C0 (Sonoma) Pentium-M to make cpufreq work. (Just to be clear, this is not the patch I'm talking about in the previous paragraph. This one uses official voltages as far as I know.)

Offline

#19 2010-05-01 00:30:26

keerthi
Member
Registered: 2007-11-18
Posts: 95

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Thanks very much for this package. This helped me overcome this nasty bug http://bugs.archlinux.org/task/18901

One suggestion though. Could you include CONCURRENCY_LEVEL to the PKGBUILD?
http://blogs.koolwal.net/2009/04/20/tip … -machines/

Also, Any idea why centrino/pentium-m processors stopped scaling on recent kernels? My CPU doesn't scale even in Ubuntu 10.04.

Offline

#20 2010-05-01 11:40:27

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

its a deprecated "module", i just enabled it.. and patched the cpufreq 'speedstep-centrino' module (besides i have optimized also for the pentium-m)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#21 2010-08-04 14:26:52

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

From now on, I'm just updating this kernel when there are new ZEN-patchset updates (to avoid problems, errors and weird stuff)

* Downgraded the package to the latest *ZEN-compliant* kernel version big_smile

The link to the kernel26-pentium-m package is :: http://aur.archlinux.org/packages.php?ID=33104
The link for binaries is http://web.ist.utl.pt/~nuno.j.aniceto/kernel/

Last edited by quarkup (2010-09-05 10:50:39)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#22 2010-12-23 20:15:06

Behemot
Member
Registered: 2010-12-10
Posts: 96

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

I've somehow successfully built my kernell based on the AUR Pentium-M package. Now when I try to load the module, I get error No such device. I expect it's because I actually need to patch the module with the speedstep-centrino patch.

Well I am new to this, can you give me a hint? What exactly I have to patch, the speedstep-centrino.ko file at /lib/modules/2.6.36-pentium-m/kernel/arch/x86/kernel/cpu/cpufreq/ ?

I am looking forward to have it done finally, not sure on what voltage the processor runs at, but if it's the same as in the patch file, it is some 0.3 V than my Pentium M is capable of. No matter it sucked whole primary battery after an hour in bus when Thunar was somehow stucked (I noticed when I've seen 40 % total battery, it means the primary one was already gone).

Last edited by Behemot (2010-12-23 20:18:55)

Offline

#23 2010-12-24 11:09:49

quarkup
Member
From: Portugal
Registered: 2008-09-07
Posts: 497
Website

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

you cannot patch a compiled module/application
you need to patch the source-code of the module first, as you find in the starting lines of the build() function (in my PKGBUILD)

so, you'll need to recompiled the package

hint: install and use the ccache (check the wiki)


If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Simplicity is the ultimate sophistication.

Offline

#24 2010-12-24 12:01:18

Behemot
Member
Registered: 2010-12-10
Posts: 96

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

I actually have ccache so I hope it'll be little faster this time. Anyway, I'd better change the voltage values right now before I'll apply the patch…

And when I am actually dealing with that…why is there only seven steps? Pentium M 745 is capable of doing only 100 MHz steps, thats thirteen actually (or twelve, 700 MHz is not used, don't know why).

OK here come the dificulties. I guess number of steps is defined here:

.index = (((mhz)/100) << 8) | ((mva - 700) / 16)

I changed it to << 12 but still the patch fails around line 190.

Last edited by Behemot (2010-12-24 13:09:24)

Offline

#25 2010-12-29 14:43:08

dr3x
Member
Registered: 2010-07-12
Posts: 2

Re: cpufreq drivers error on a pentium-m 1.73GHz (dothan)

Hi,
I have an Amilo M3438G too (with Pentium M 1,73GHz) and yesterday, after updating 386 packages (includes also upgrade from 2.6.35 to 2.6.36) everything seemed to be fine. But today when I booted Arch (it was the second boot after the updates)  acpi-cpufreq failed:

FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.36-ARCH/kernel/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko): No such device

The processor runs currently at 800MHz and when I load p4-clockmod.ko  it runs at 600MHz. I have always used acpi-cpufreq since I use Arch and have never had any problems with it so I don't know why you already had the same problem one year ago. Is there a way to get cpu frequency scaling running without getting rid of the standart kernel or compiling one?

BIOS version: 1.10C

dmesg:
http://pastebin.com/8chc4yRf

cat /proc/cpuinfo
http://pastebin.com/Zs4nGJ90


//Edit:  Ok, fixed it. Seems like my CMOS battery life is right on its edge...I have to go through the bios settings & load optimal defaults everytime I connect my NB to a power source until I get a new battery.

Last edited by dr3x (2010-12-29 17:27:17)

Offline

Board footer

Powered by FluxBB