# [solved] speedstep-centrino: error with gentoo-2.6.11-r9

## glr

This is on a Toshiba Tecra M2, pentium M 1.5GHz.  

CPU Frequency scaling was working fine with a gentoo-2.6.11-r6 kernel and cpufreqd.  After a system board replacement, which changed the system board but not the CPU  and required that I rebuild the system, I'm getting the error

```
speedstep-centrino: couldn't enable Enhanced SpeedStep
```

on boot, and cpufreqd complains that CPUFreq support isn't built into the kernel.  This is with the same configuration options as before, viz.,

```
CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_STAT=y

CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y

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_TABLE=y

CONFIG_X86_ACPI_CPUFREQ=y

CONFIG_X86_SPEEDSTEP_CENTRINO=y

CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y

CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
```

cat /proc/cpuinfo says

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model            : 9

model name      : Intel(R) Pentium(R) M processor 1500MHz

stepping         : 5

cpu MHz         : 598.630

cache size      : 1024 KB

physical id      : 0

siblings          : 1

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 mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2

bogomips        : 1179.64
```

The 2.6.11-r6 source isn't in the portage tree at this point, so I can't go back and recompile that (though I have the old configuration).  I tried just using the old kernel and it gave the same speedstep error.  I've also tried a kernel with CONFIG_X86_ACPI_CPUFREQ=y and leaving out the SPEEDSTEP-CENTRINO options, which got rid of the speedstep error but cpufreqd still complained that the kernel doesn't have CPU Frequency scaling enabled.

Any advice would, of course, be welcome.

Thanks,

glrLast edited by glr on Wed Jun 08, 2005 11:54 am; edited 1 time in total

----------

## Donpasquale

you should use the acpi speedstep module. that works fine on the new centrino processors

----------

## glr

 *Donpasquale wrote:*   

> you should use the acpi speedstep module. that works fine on the new centrino processors

 

Isn't that CONFIG_X86_ACPI_CPUFREQ=y?  I tried that:

 *glr wrote:*   

> I've also tried a kernel with CONFIG_X86_ACPI_CPUFREQ=y and leaving out the SPEEDSTEP-CENTRINO options, which got rid of the speedstep error but cpufreqd still complained that the kernel doesn't have CPU Frequency scaling enabled.

 

Any other ideas?

Thanks,

glr

----------

## adi-beg

```
emerge cpufrequtils
```

then as root run

```
cpufreq-info
```

adi-beg

----------

## glr

In that the kernel doesn't understand that the cpu should be frequency managed, cpufreq-info doesn't know what to make of it: 

```
# cpufreq-info

cpufrequtils 0.2: cpufreq-info (C) Dominik Brodowski 2004

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

analyzing CPU 0:

  no or unknown cpufreq driver is active on this CPU

```

Thanks,

glr

 *adi-beg wrote:*   

> 
> 
> ```
> emerge cpufrequtils
> ```
> ...

 

----------

## adi-beg

Have you tried to compile speedstep-centrino as module

```
CONFIG_X86_SPEEDSTEP_CENTRINO=m
```

and add module in /etc/modules.autoload.d/kernel-2.6?

----------

## r3pek

you just need:

CONFIG_CPU_FREQ

CONFIG_X86_SPEEDSTEP_CENTRINO

and some governators compiled too:

CONFIG_CPU_FREQ_GOV_CONSERVATIVE

CONFIG_CPU_FREQ_GOV_ONDEMAND

CONFIG_CPU_FREQ_GOV_USERSPACE

CONFIG_CPU_FREQ_GOV_POWERSAVE

This is all under:

Power management options (ACPI, APM)  --->  CPU Frequency scaling

ah, and you don't need cpufreqd.

----------

## glr

Thanks.  I've got those (plus a few others).  So did the shop hose my hardware when they replaced the system board?  I'm beginning to think that it's actually a hardware problem, but in that the actual CPU is the same as before (or so I'm told) I can't think where the problem would be.  I checked the BIOS settings to see if I could find anything, but there doesn't seem to be anything there that is amiss.

Thanks,

glr

 *r3pek wrote:*   

> you just need:
> 
> CONFIG_CPU_FREQ
> 
> CONFIG_X86_SPEEDSTEP_CENTRINO
> ...

 

----------

## loci

exactly the same problem here on my toshiba m40-129 (2.6.11-gentoo-r9 too).

btw: i needed to add 'pci=routeirq' as a kernel argument to get acpi and my networkdevices working.

----------

## dgaffuri

Seem that we have the same problem. I've posted another thread yesterday night.

https://forums.gentoo.org/viewtopic-t-345344.html

Look at the frequency in /proc/cpuinfo, it's 600Mhz in both cases.

This is mine:

```

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Pentium(R) M processor 2.00GHz

stepping        : 6

cpu MHz         : 598.654

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 mce cx8 apic sep mtrr pge mca cmov patclflush dts acpi mmx fxsr sse sse2 ss tm pbe est tm2

bogomips        : 1183.74

```

and yours:

```

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model            : 9

model name      : Intel(R) Pentium(R) M processor 1500MHz

stepping         : 5

cpu MHz         : 598.630

cache size      : 1024 KB

physical id      : 0

siblings          : 1

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 mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe est tm2

bogomips        : 1179.64

```

Different processors, same result...

I've enabled CONFIG_CPU_FREQ_DEBUG=y in kernel, passing cpufreq.debug=3 in kernel command line. The output is in my post. At first look it seems that ACPI doesn't report correctly the available frequencies.

Hope that someone out there may help, 'cause I really don't know how to get rid of this  :Sad: .

Thanks in advance for any hint.

----------

## brodo

 *glr wrote:*   

> This is on a Toshiba Tecra M2, pentium M 1.5GHz.  
> 
> CPU Frequency scaling was working fine with a gentoo-2.6.11-r6 kernel and cpufreqd.  After a system board replacement, which changed the system board but not the CPU  and required that I rebuild the system, I'm getting the error
> 
> ```
> ...

 

Wow. AFAIK you're the first one to report such an error. It means that SpeedStep could not be enabled on this system, even though it is supported:

```

        /* Check to see if Enhanced SpeedStep is enabled, and try to

           enable it if not. */

        rdmsr(MSR_IA32_MISC_ENABLE, l, h);

        if (!(l & (1<<16))) {

                l |= (1<<16);

                dprintk("trying to enable Enhanced SpeedStep (%x)\n", l);

                wrmsr(MSR_IA32_MISC_ENABLE, l, h);

                /* check to see if it stuck */

                rdmsr(MSR_IA32_MISC_ENABLE, l, h);

                if (!(l & (1<<16))) {

                        printk(KERN_INFO PFX "couldn't enable Enhanced SpeedStep

\n");

                        return -ENODEV;

                }

        }

```

So... any chance for a BIOS update?

----------

## dgaffuri

You're right, it's BIOS problem. Take a look at this:

http://www.tabletpcbuzz.com/forum/topic.asp?TOPIC_ID=14562

No way to move from 600 Mhz neither in Windows, speedstep is not even mentioned in BIOS setup. I did a stupid thing  :Sad: , upgrading BIOS as soon as I received the machine and now I can't find no more the original one (it was version 1.0, if I remember well). I think the 1.40 version available on Toshiba site is for machines with older CPU (mine is 755, Dothan B1).

I've not tried the utility mentioned in the forum because I wish to investigate further.

Thanks to all, anyway

----------

## glr

 *dgaffuri wrote:*   

> You're right, it's BIOS problem. Take a look at this:
> 
> I've not tried the utility mentioned in the forum because I wish to investigate further.
> 
> 

 

For what it's worth, I upgraded the BIOS on my machine (Tecra M2; BIOS 1.1 to 1.4) and it has not solved the problem.

glr

----------

## dgaffuri

Great  :Very Happy: 

downloaded the utility from

http://www.bob-cat.me.uk/pom200t1-V1.5.zip

made a diskette on the home PC, burned a bootable CD, choose 2 in first menu, 1 in second and PC rebooted in Windows at 2GHz.

Will try this evening with gentoo.

I can't reach now the forum where i found the directions, but they're great.

Thank you very much to everyone (except to Toshiba  :Sad: , no mention of this by their side, maybe next laptop will be a Fujitsu)

----------

## glr

dgaffuri's solution is right on.  In case anyone else is interested, following is my executive summary of the problem and solution.  Most of this is from http://www.tabletpcbuzz.com/forum/topic.asp?TOPIC_ID=14562, but is shorter than the 25 pages there.  

The upshot is that after replacing a CPU or system board, or in some cases for new systems, Toshiba notebooks have (or have a tendency to have) a BIOS problem that prevents the system from recognizing the speedstepping capabilities of the CPU.  I think this has to do with getting wrong or incomplete CPU frequency tables in BIOS.  The result is that the CPU locks into the lowest possible speed.  Checking in the BIOS on the notebook computer shows nothing to do with the dynamic frequency scaling.  The utility 

 *dgaffuri wrote:*   

> http://www.bob-cat.me.uk/pom200t1-V1.5.zip

 

corrects the frequency table, after which the system runs normally.  In addition, at that point checking the BIOS ([Esc][F1]) shows a dynamic frequency scaling option for the CPU that was not present before.

I'll also echo dgaffuri's frustration with Toshiba's technical support.  I honestly don't think I've yet got a technician on the line who knows more about my notebook than do I.

----------

