# [SOLVED] Intel Centrino 1.4GHz speedstep problem.. another

## kamracik

sometime age i have working cpufreq but i dont used it but now i need it and when i want turn it on its just dont work. I dont have modules like speedstep-* cpufreq-* cose i have everything compiled into kernel:

```
CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

# CONFIG_CPU_FREQ_DEBUG is not set

CONFIG_CPU_FREQ_STAT=y

# CONFIG_CPU_FREQ_STAT_DETAILS is not set

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y

# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set

CONFIG_CPU_FREQ_GOV_PERFORMANCE=y

CONFIG_CPU_FREQ_GOV_POWERSAVE=y

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_ONDEMAND=y

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
```

and when i try `/etc/init.d/cpufrequtils start` i get this:

```
 * Service cpufrequtils starting                                                 

[ !! ]unknown or unhandled CPU?

 * ERROR:  cpufrequtils failed to start

```

running cpufreq-info or -set gives me this:

```
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU
```

my /sys/devices/system/cpu/cpu0/ is empty. My /proc/cpuinfo

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Celeron(R) M processor         1.40GHz

stepping        : 8

cpu MHz         : 1400.286

cache size      : 1024 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 pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx

bogomips        : 2802.12
```

i have everything about my cpu in /proc/acpi/processor but its dont gives me anything. I read about throtling/scalling etc here and on google but didnt find any solution for me.

x86info:

```
x86info v1.20.  Dave Jones 2001-2006

Feedback to <davej@redhat.com>.

Found 1 CPU

--------------------------------------------------------------------------

Family: 6 Model: 13 Stepping: 8 Type: 0 Brand: 2

CPU Model: Pentium M (Dothan) [C-0] Original OEM

Feature flags:

 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflsh ds acpi mmx fxsr sse sse2 ss tm pbe

Extended feature flags:

 xd

Cache info

 L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.

 L1 Data cache: 32KB, 8-way associative. 64 byte line size.

 L3 unified cache: 1MB, sectored, 8-way associative. 64 byte line size.

TLB info

 Instruction TLB: 4K pages, 4-way associative, 128 entries.

 Instruction TLB: 4MB pages, fully associative, 2 entries

 Data TLB: 4K pages, 4-way associative, 128 entries.

 Data TLB: 4MB pages, 4-way associative, 8 entries

 64 byte prefetching.

1.30GHz processor (estimate).
```

 gives me nothing same as uname -a:

   Linux SynDroM 2.6.18-gentoo #1 Tue Oct 3 17:22:09 CEST 2006 i686 Intel(R) Celeron(R) M processor         1.40GHz GenuineIntel GNU/Linux

i dont have any other ideas what can be wrong  :Sad: Last edited by kamracik on Sat Oct 14, 2006 5:15 pm; edited 1 time in total

----------

## Sachankara

Celeron M doesn't have SpeedStep support. You'll have to use "Intel Pentium 4 clock modulation" and the userspace governor with a software CPU daemon, like powernowd.

```
1. Compile the kernel with support for "Intel Pentium 4 clock modulation" and the userspace governor.

2. emerge powernowd

3. /etc/init.d/powernowd start

4. rc-update add powernowd default
```

----------

## kamracik

are you sure?? cose now i have checked my old kernel and with it everything just work fine using onlu cpufrequtils. i easly can change speed from 175MHz to 1,4GHz in 8 steps.

i'm wondering isn't that a bug in 2.6.18 kernel.. cose if with my previous kernel it works and i dont change config so here it should work too.. isn't it??

----------

## Sachankara

Well, if the CPU is truely a Intel Celeron M, then I'm sure. I have one myself, and I've read through the CPU specs from Intel which clearly states that Celeron M does not have SpeedStep support.

----------

## kamracik

so maybe my is choosen  :Wink: 

```
cat /proc/acpi/processor/C000/throttling 

state count:             8

active state:            T0

states:

   *T0:                  00%

    T1:                  12%

    T2:                  25%

    T3:                  37%

    T4:                  50%

    T5:                  62%

    T6:                  75%

    T7:                  87%
```

```
cat /proc/acpi/processor/C000/info 

processor id:            0

acpi id:                 1

bus mastering control:   yes

power management:        yes

throttling control:      yes

limit interface:         yes
```

this tells me too that my processor allows for throtling :]

----------

## Sachankara

Well, ACPI throttling is not the same thing as SpeedStep, trust me.

Here's my "stuff" for example:

```
$ cat /proc/cpuinfo

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Celeron(R) M processor         1.50GHz

stepping        : 8

cpu MHz         : 187.500

cache size      : 1024 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 mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx

bogomips        : 3000.11
```

```
$ cat /proc/acpi/processor/C000/throttling

state count:             8

active state:            T0

states:

   *T0:                  00%

    T1:                  12%

    T2:                  25%

    T3:                  37%

    T4:                  50%

    T5:                  62%

    T6:                  75%

    T7:                  87%
```

```
$ cat /proc/acpi/processor/C000/info

processor id:            0

acpi id:                 1

bus mastering control:   yes

power management:        yes

throttling control:      yes

limit interface:         yes
```

You'll unfortunatly have to do as I wrote - run a software CPU scaler (and yes, cpufreqd is also a software scaler, it just doesn't work as reliable as powernowd).

----------

## kamracik

ok i'll try powernowd  :Wink: 

but thought that cpufreq-set and -info uses speedstep :]

----------

## kamracik

however powernowd dont work too :/ it wants to access /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq but i dont have that file in afect of kernel. Its just dont want use it..

----------

## Sachankara

Have you compiled your kernel with p4-clockmod and the userspace scaling governor?

----------

## kamracik

yes with all of them. i tell you that i use the same config as for 2.6.17 kernel but and in there everything works fine but when i compile 2.6.18 it fails and not only i have got that problem as i see in another topic

----------

## Sachankara

Hmm... Well, perhaps you should stick with 2.6.17 until they fix your issue then?

----------

## kamracik

unfortunately i dont have another way. thx for help :]

----------

## roderick

 *kamracik wrote:*   

> unfortunately i dont have another way. thx for help :]

 

Did you "modprobe p4-clockmod"

----------

## kamracik

no i have compiled it into kernel :]

----------

## roderick

 *kamracik wrote:*   

> no i have compiled it into kernel :]

 

Strange, I have it as a module and can modprobe it and I get the correct files/directories under /proc and /sys

I'm using 2.6.18 gentoo-sources.

----------

## kamracik

strange.. i will try compile it as module and will see

----------

## kamracik

now i see the problem  :Wink: 

```
FATAL: Error inserting p4_clockmod (/lib/modules/2.6.18-gentoo/kernel/arch/i386/kernel/cpu/cpufreq/p4-clockmod.ko): Device or resource busy
```

and here is the solution  :Wink: 

http://lkml.org/lkml/2006/7/31/43

thx guys for that clue :]

----------

## roderick

 *kamracik wrote:*   

> now i see the problem 
> 
> ```
> FATAL: Error inserting p4_clockmod (/lib/modules/2.6.18-gentoo/kernel/arch/i386/kernel/cpu/cpufreq/p4-clockmod.ko): Device or resource busy
> ```
> ...

 

THat's why I compile things like this as modules. Kernel will generally load what's correct and you can get better error messages.

After, you can always compile direct into kernel once you know it's the thing you want.

Cheers

----------

## robak

hello all!

so, with the kernel-config from http://lkml.org/lkml/2006/7/31/43 you can change the frequency of your celeron ?

are you sure? because celeron cpus have a fixed multiplier, so the only way to change the frequency is by changing the FSB. and there is no utility for linux to do this, as far as i know.

so please check your frequency with /proc/cpuinfo and /sys/devices/system/cpu/CPU0/cpufreq/scaling_cur_frequency .

could please post this two files here again, after you changed your cpu-freq ?

----------

## kamracik

before:

```
# cat /proc/cpuinfo 

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Celeron(R) M processor         1.40GHz

stepping        : 8

cpu MHz         : 1400.000

cache size      : 1024 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 pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe

bogomips        : 2802.18
```

```
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 

140000
```

after changing frequency:

```
# cat /proc/cpuinfo 

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Celeron(R) M processor         1.40GHz

stepping        : 8

cpu MHz         : 175.000

cache size      : 1024 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 pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe

bogomips        : 2802.18
```

```
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 

175000
```

----------

## robak

this confuses me a little bit.

but it seems to work correctly

----------

## kamracik

yeah :] i know that  :Wink:  but the stangest thing is that i cant disable cpufreq :/ i saw that when i even skip everything about freq in kernel it still uses scaling by automatic ondemand governor :] and that is really confusing

----------

