amilo-forum.com

Everything you need to know about Amilo and Lifebook laptops by Fujitsu

CPU stuck at 600Mhz Topic is solved

Everything around CPU, RAM or cooling of notebook components.

CPU stuck at 600Mhz  Topic is solved

Postby Demi » Sat May 31, 2008 11:16 pm

Hi :!:

I encounter a problem with my Amilo M1425 which begins to drive me crazy.
The computer is 3 years old. I have used it for many years without any problem : I had a dual boot Ubuntu Dapper / WinXP, and the frequency of the CPU was fine (600Mhz when idle and up to 1.70Ghz at full charge).

Last week I decided to replace my old Dapper installation by a Debian Lenny (testing). Everything went fine, but the CPU was never able to go faster than 600Mhz. :(
In the begin I thought it was a problem with Debian, so I searched and I managed to make cpufreq work. With it, I was able to activate the "ondemand" mode, but the range of the frequencies was between 75Mhz and 600Mhz ! (that did work though : when idle my CPU was at 75Mhz, quite surprising because I believed it could never go bellow 600Mhz. Anyway...)
Cpufreq kept on telling me that my CPU wasn't able to support a frequency > 600Mhz.

So then I tried to boot on XP. Although I didn't change anything in Windows configuration (I almost never use XP), the CPU was also stuck at 600Mhz ! :shock:
I can't see how my work with Debian could affect XP, unless Debian messed up with some hardware configuration which was then "hardware-saved".

But here comes the most puzzling : I have a couple a live-CD of different versions of Ubuntu, so I ran some tests.
With Dapper, the CPU is able to go up to 1.7Ghz. :shock:
With Hardy, it is stuck at 600Mhz.

This makes absolutely no sense to me. I can believe there might be a regression with new versions of Debian that aren't able to use correctly my CPU, but in that case why would XP be stuck too ?

I flashed the BIOS (it was already the latest version) but it didn't change anything. Since Dapper works fine, it doesn't seem to be a BIOS issue, right ?

(Bonus question : I tried the tip "press 10s the power button" for hardware reset but I don't know if this makes a clear-cmos with the M1425. Since I flashed the bios, it must have done a clear-cmos, no ? Or should I open the computer to find some jumper...?)

I am sorry for this long message, but I really need your help.
Any suggestions or ideas are more than welcomed, thank you in advance. :wink:
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby aspettl » Sun Jun 01, 2008 12:13 am

Hi

There have been a lot of changes in the period from Dapper to the current Debian testing (or Hardy). First, the switch from the (now deprecated) speedstep-centrino (implements fixed voltage/multiplier tables) to acpi-cpufreq (requires the bios to get them, doesn't work on some faulty ones).

So, first I'd try to find out which module is used (lsmod and/or dmesg). If that's acpi-cpufreq, then you could switch back to speedstep-centrino.

Windows:
Did you use a tool like CPU-Z?
Windows itself often displays a wrong frequency.

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby da.phreak » Sun Jun 01, 2008 10:21 am

In Windows this problem is solved easily using rmclock. You have to manually enter voltages and frequency, they are documented on the intel website.

For Linux, there are three modules that control cpu speed.

If your CPU is going from 75 to 600 MHz, you are using p4-clockmod whichs is the wrong module. It only does throttling and doesn't control voltage settings, there's very little power saving. It's supposed to be used with Centrino M and Pentium 4 processors, not Pentium M.

The other two modules are speedstep-centrino and acpi-cpufreq. If possible, you should use acpi-cpufreq. But, acpi-cpufreq needs BIOS support. For example my Amilo Pro v2030 doesn't have BIOS support, so it doesn't work.

If this is the case, speedstep-centrino is your only way to control speedstepping. However, speedstep-centrino only has built-in tables for Pentium Ms with Banias cores, Dothans are not supported. It is possible to patch the kernel source to include Dothan tables. Here is a patched source file for kernel 2.6.24.

It get's even more complicated. Dothan CPUs don't all have the same voltages. With Dothan CPUs, Intel introduced some kind of power profiles. Depending on the modul you have, it may use only 1.276 V up to 1.340 V at the fastest frequency. The bad news, there's no way to tell which kind of Dothan you have. The only thing you can do is to test if it runs stable at a specific setting. You can select the profile by modifying line 208 in the source. Use mva, mvb, mvc or mvd. a is the highest voltage, d the lowest.

Be warned however, that there is a chance to damage your CPU if running at a not specified voltage. In other words, do this at your own risk. I think though, that running your CPU with only 0.064 V more will very unlikely damage it.
da.phreak
 
Posts: 8
Joined: Sat Mar 25, 2006 3:31 pm

Postby Demi » Sun Jun 01, 2008 11:19 am

Thank you very much for your answers guys.

da.phreak you're absolutely right with the p4-clockmod.
Let me explain :
In the beginning, cpufreq wasn't working at all. During the boot, there was a line :
CPUFreq Utilities: Setting ondemand CPUFreq governor...disabled, governor not available...

When I tried to do a "modprobe" of speedstep-centrino or acpi-cpufreq, I always got the same error : "No such device".
So I tried "modprobe p4-clockmod" and it worked.
Cpufreq was able the control the frequency (ondemand mode) but only between 75Mhz and 600Mhz.

Aaron, about the wrong frequency that might be displayed by windows, I tried RMClock and CPU is really stuck at 600MHz.
In fact there is a simple way to test : I try to watch a flash video on Dailymotion. On Debian or XP the CPU Load rises 100%, the video is jerky (~10fps :? ), and the fan is very quiet.
On Dapper, when CPU Load is high, the fan makes a lot of noise.

I don't know if my laptop has BIOS support, I think no. Anyway this BIOS is a joke, I can hardly customize anything more than the clock or the boot device priority.

Okay, so first it would be nice to get back my 1.7Ghz under XP, is it really that easy da.phreak ?
I don't know a lot about CPU and voltages, which panel in RMClock do I need to modify ? With which value ? I don't want to damage my CPU.

There is also one thing I would like to understand : how did my XP got stuck at 600MHz because of my business with debian ?
Is there some kind of "hardware memory" of the CPU settings ?

Thanks in advance. (please forgive my "noobishness")
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby da.phreak » Sun Jun 01, 2008 1:04 pm

Could you post the output of

Code: Select all
cat /proc/cpuinfo



No, there's no such thing as a hardware memory. Except probably BIOS settings, but they don't just change.
da.phreak
 
Posts: 8
Joined: Sat Mar 25, 2006 3:31 pm

Postby Demi » Sun Jun 01, 2008 1:43 pm

I removed p4-clockmod from the modules loaded on startup. Now cpufreq is "disabled".

Here comes the cpuinfo :

Code: Select all
# cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 6
model      : 13
model name   : Intel(R) Pentium(R) M processor 1.70GHz
stepping   : 6
cpu MHz      : 600.034
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 pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe up bts est tm2
bogomips   : 1201.38
clflush size   : 64


cpu MHz never changes, whereas with the live-CD of Dapper I can see the frequency changing in "real time", up to 1700 MHz.

Here is also the beginning of dmidecode if that could be of any help :

Code: Select all
# dmidecode
# dmidecode 2.9
SMBIOS 2.3 present.
45 structures occupying 1640 bytes.
Table at 0x000F8FF0.

Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
   Vendor: American Megatrends Inc.
   Version: 080010
   Release Date: 12/29/2004
   Address: 0xF0000
   Runtime Size: 64 kB
   ROM Size: 512 kB
   Characteristics:
      ISA is supported
      PCI is supported
      PNP is supported
      APM is supported
      BIOS is upgradeable
      BIOS shadowing is allowed
      ESCD support is available
      Boot from CD is supported
      Selectable boot is supported
      BIOS ROM is socketed
      EDD is supported
      5.25"/1.2 MB floppy services are supported (int 13h)
      3.5"/720 KB floppy services are supported (int 13h)
      3.5"/2.88 MB floppy services are supported (int 13h)
      Print screen service is supported (int 5h)
      8042 keyboard services are supported (int 9h)
      Serial services are supported (int 14h)
      Printer services are supported (int 17h)
      CGA/mono video services are supported (int 10h)
      ACPI is supported
      USB legacy is supported
      AGP is supported
      LS-120 boot is supported
      ATAPI Zip drive boot is supported
      BIOS boot specification is supported
      Function key-initiated network boot is supported

Handle 0x0001, DMI type 1, 25 bytes
System Information
   Manufacturer: FUJITSU SIEMENS
   Product Name: Amilo M1425
   Version: To Be Filled By O.E.M.
   Serial Number: To Be Filled By O.E.M.
   Wake-up Type: Power Switch

Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
   Manufacturer: To be filled by O.E.M.
   Product Name: To be filled by O.E.M.
   Version: To be filled by O.E.M.
   Serial Number: 255ABD34

Handle 0x0003, DMI type 3, 17 bytes
Chassis Information
   Manufacturer: To Be Filled By O.E.M.
   Type: Desktop
   Lock: Not Present
   Version: To Be Filled By O.E.M.
   Serial Number: To Be Filled By O.E.M.
   Asset Tag: To Be Filled By O.E.M.
   Boot-up State: Safe
   Power Supply State: Safe
   Thermal State: Safe
   Security Status: None
   OEM Information: 0x00000000

Handle 0x0004, DMI type 4, 35 bytes
Processor Information
   Socket Designation: CPU 1
   Type: Central Processor
   Family: Pentium M
   Manufacturer: Intel           
   ID: D6 06 00 00 BF FB E9 AF
   Signature: Type 0, Family 6, Model 13, Stepping 6
   Flags:
      FPU (Floating-point unit on-chip)
      VME (Virtual mode extension)
      DE (Debugging extension)
      PSE (Page size extension)
      TSC (Time stamp counter)
      MSR (Model specific registers)
      MCE (Machine check exception)
      CX8 (CMPXCHG8 instruction supported)
      APIC (On-chip APIC hardware supported)
      SEP (Fast system call)
      MTRR (Memory type range registers)
      PGE (Page global enable)
      MCA (Machine check architecture)
      CMOV (Conditional move instruction supported)
      PAT (Page attribute table)
      CLFSH (CLFLUSH instruction supported)
      DS (Debug store)
      ACPI (ACPI supported)
      MMX (MMX technology supported)
      FXSR (Fast floating-point save and restore)
      SSE (Streaming SIMD extensions)
      SSE2 (Streaming SIMD extensions 2)
      SS (Self-snoop)
      TM (Thermal monitor supported)
      PBE (Pending break enabled)
   Version: Intel(R) Pentium(R) M processor 735                 
   Voltage: 3.3 V 2.9 V
   External Clock: 400 MHz
   Max Speed: 1700 MHz
   Current Speed: 600 MHz
   Status: Populated, Enabled
   Upgrade: Socket 423
   L1 Cache Handle: 0x0005
   L2 Cache Handle: 0x0006
   L3 Cache Handle: 0x0007
   Serial Number: To Be Filled By O.E.M.
   Asset Tag: To Be Filled By O.E.M.
   Part Number: To Be Filled By O.E.M.

Handle 0x0005, DMI type 7, 19 bytes
Cache Information
   Socket Designation: L1-Cache
   Configuration: Enabled, Not Socketed, Level 1
   Operational Mode: Varies With Memory Address
   Location: Internal
   Installed Size: 32 KB
   Maximum Size: 32 KB
   Supported SRAM Types:
      Pipeline Burst
   Installed SRAM Type: Pipeline Burst
   Speed: Unknown
   Error Correction Type: Single-bit ECC
   System Type: Data
   Associativity: 4-way Set-associative

Handle 0x0006, DMI type 7, 19 bytes
Cache Information
   Socket Designation: L2-Cache
   Configuration: Enabled, Not Socketed, Level 2
   Operational Mode: Varies With Memory Address
   Location: Internal
   Installed Size: 2048 KB
   Maximum Size: 2048 KB
   Supported SRAM Types:
      Pipeline Burst
   Installed SRAM Type: Pipeline Burst
   Speed: Unknown
   Error Correction Type: Single-bit ECC
   System Type: Unified
   Associativity: 4-way Set-associative

Handle 0x0007, DMI type 7, 19 bytes
Cache Information
   Socket Designation: L3-Cache
   Configuration: Disabled, Not Socketed, Level 3
   Operational Mode: Unknown
   Location: Internal
   Installed Size: 0 KB
   Maximum Size: 0 KB
   Supported SRAM Types:
      Unknown
   Installed SRAM Type: Unknown
   Speed: Unknown
   Error Correction Type: Unknown
   System Type: Unknown
   Associativity: Unknown


Maybe I am wrong but cpufreq didn't seem to be used on Dapper live-CD, how does it handle CPU settings then ?
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby da.phreak » Sun Jun 01, 2008 2:14 pm

You have a Pentium M CPU, CPU family 6, model 13, stepping 6. That means you have a Pentium M Dothan stepping B0 CPU.

That means:

- As I said before, you should not use p4-clockmod
- acpi-cpufreq doesn't work because of missing BIOS support ("No such device" message).
- speedstep-centrino doesn't work because the module doesn't support Dothans. The frequency/voltage tables aren't included for Dothans, the CPU is not recognized.

Your only option is to use a patched kernel with patched-in tables for Dothans. See the file above I linked.
You can either try to get a precompiled patched kernel, or patch and compile the kernel yourself. I don't think Debian offers such a precompiled kernel. Maybe Ubuntu has this patch included by default, and that's the reasone why it works with Ubuntu.

About Windows XP: rmclock doesn't know which frequency/voltages pairs your CPU does support. You have to configure to let rmclock know those pairs. You'll find the necessary information in the attached pdf-file starting at page 22. There are basically three steps to be done:

- configure frequency/voltage pairs
- configure the ondemand-profile
- make the ondemand profile the default profile at startup (there's a checkbox)

Be careful not to set the voltage too high! The correct voltages are in the pdf-file.
Attachments
pentium_m_specifications_dothan.zip
(914.71 KiB) Downloaded 412 times
da.phreak
 
Posts: 8
Joined: Sat Mar 25, 2006 3:31 pm

Postby Demi » Sun Jun 01, 2008 2:38 pm

Thank you so much for your help da.phreak.

I will try to play with RMClock to get an XP fully functional.
Patching the kernel looks quite frightening for me (I have never done it), but I will surely give it a try (not right now though).

Yes maybe Ubuntu 6.06 has a patched kernel, but this is strange that they didn't patch also the kernel of Ubuntu 8.04. I will try to test with 6.10, 7.04 and 7.10 versions. I must have these live-CDs somewhere...

My priority is to get back the 1.70GHz under Windows, which probably won't be so easy with the experience I have. I will try right now.
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby da.phreak » Sun Jun 01, 2008 3:05 pm

Patching the kernel isn't that hard. You'd just have to overwrite the kernel source file with the file I linked.

The hard part is compiling and installing the kernel. There are some tutorials on the net I think, and it is possible although not that easy.

The reason why they removed it from later Ubuntu versions probably is that the speedstep-centriono module is marked as deprecated. The "correct" way to do it is the acpi-cpufreq module which gets it's tables from the BIOS. Of course, if your BIOS has no tables, you're screwed. This seems to be how kernel developers like it: They do it 100% correct, or not at all. If it doesn't work, they tell you to complain to the manufacturer ... who most likely won't care.
da.phreak
 
Posts: 8
Joined: Sat Mar 25, 2006 3:31 pm

Postby Demi » Sun Jun 01, 2008 3:27 pm

Right, I am under XP now.

So i need to fill this ?
Image

I barely understand what this stands for, RMClock just tells me that, right now, FID=6 and VID=0.988.
Which values must I put ? Something like :

Code: Select all
0 Normal 6.0x   0.988
1 Normal 8.0x   1.052
2 Normal 9.0x   1.116
3 Normal 10.0x  1.180
...

:?:
The FID values are the ones of the first column of Pentium M735 (on the top of page 23). Is it this one that I must use ?
I am sorry if my questions sound stupid but I just want to be careful. ;)
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby aspettl » Sun Jun 01, 2008 3:39 pm

Yes, you can override the voltage table that way. But there is still the question: why doesn't it work anymore... this shouldn't be necessary :?

Linux bug report:
http://bugzilla.kernel.org/show_bug.cgi?id=8228

#45 wrote:Ok, I think the mystery is solved. Rather than compiling 2.6.17, I compared
speedstep-centrino.c from Ubuntu's 2.6.17 kernel package, against the upstream
source. Ubuntu have obviously patched it, adding freq/voltage tables for
Pentium M Dothan cores (upstream only supports Banias). They've also done this
in their 2.6.20 package for Feisty.


#46 wrote:There is a later BIOS for my notebook, released about two weeks after the
version I was previously running (dated December 2004). There is nothing in the
release notes about ACPI, but I thought I'd give it a crack anyway.

Wouldn't you know it... acpi-cpufreq loads fine, detects the frequencies
available, and scales the clock speed. Even Windows no longer needs the
Notebook Hardware Control app to scale the clock speed.


So I'd try the new BIOS, given there is one.

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby da.phreak » Sun Jun 01, 2008 3:47 pm

I think this should work:

Code: Select all
6.0x   0.988V
8.0x   1.052V
10.0x  1.116V
12.0x  1.180V
14.0x  1.244V
17.0x  1.340V


You could also try the values from VID#B, VID#C or VID#D and try if they are stable. This could save some power, but first try the listed values.

P.S.: Deactivate/uncheck all other unused lines.
da.phreak
 
Posts: 8
Joined: Sat Mar 25, 2006 3:31 pm

Postby Demi » Sun Jun 01, 2008 4:00 pm

Erf, I already had this latest version of BIOS (1.08c, 12/29 2004) from the beginning. :( I re-flashed again to be sure.

Ok, I will try these values da.phreak. Thanks!
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby Demi » Sun Jun 01, 2008 4:18 pm

Okay, that worked great ! :D
It reached 1.70GHz, and the dailymotion video was smooth.

For the "performance on demand mode" I checked the box "Use P-state transitions" where there were my FID/VID values.
But I didn't check the box "Use throttling (ODCM)", is it important ? I don't know what it does...
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Postby Demi » Sun Jun 01, 2008 5:46 pm

Guys ! My problem is SOLVED ! Both under Debian and XP ! :D :D :D

It was definitely a BIOS issue ! (thanks for the tip Aaron)

This is what I did with the BIOS:
Downgrade 1.08c to 1.06c -> XP stuck @600MHz
Upgrade 1.06c to 1.08c -> XP stuck @600MHz
At that point I was losing hope.
I entered the BIOS setup, I did "Load optimal defaults", "Save and exit", and here we go : 1.70GHz !

I thought that a BIOS upgrade would erase all the settings anyway, but it is not the case. :shock:
So maybe a clear-CMOS would have worked too. And to answer my bonus question of the first thread : no, it doesn't seem that pressing 10s the power button does a clear-CMOS with the M1425.

Now acpi-cpufreq can load : :)
Code: Select all
# cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Veuillez rapportez les erreurs et les bogues à xxx, s'il vous plait.
analyse du CPU 0 :
  pilote : acpi-cpufreq
  CPUs qui doivent changer de fréquences en même temps : 0
  limitation matérielle : 600 MHz - 1.70 GHz
  plage de fréquence : 1.70 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
  régulateurs disponibles : powersave, ondemand, userspace, conservative, performance
  tactique actuelle : la fréquence doit être comprise entre 600 MHz et 1.70 GHz.
                  Le régulateur "ondemand" est libre de choisir la vitesse
                  dans cette plage de fréquences.
  la fréquence actuelle de ce CPU est 600 MHz (vérifié par un appel direct du matériel).


So your theory was right da.phreak : acpi-cpufreq wasn't able to read the tables of my BIOS. I am lucky that my BIOS actually does provide such tables, but I agree with you that it might not be the case with every motherboard. It's a shame that in that case kernel developers don't want to use hacks like the patch in Dapper, but I probably don't have enough knowledge to understand the big picture.

THANK YOU SO MUCH FOR YOUR HELP !
:P
Demi
 
Posts: 8
Joined: Sat May 31, 2008 10:16 pm

Next

Return to CPU, RAM, fan