Stuck at 600MHz

During this week I work on my Dell D400 laptop. It uses Pentium-M 1.6GHz processor which has few work frequencies available due to acpi-cpufreq kernel driver. The lowest one is 600MHz and normally this machine spends most of time with that speed but goes up when there is some work to do (due to ondemand governor which I mostly use).

But since yesterday it is not so nice… During boot CPU is often detected as 600MHz one:

[    0.693310] Detected 598.133 MHz processor.

instead of nominal speed:

[    0.693310] Detected 1594.845 MHz processor.

I tried rebooting but even if there was boot at nominal speed it sooner or later got stuck at lowest:

root@maluch:/var/log# cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 600 MHz - 1.60 GHz
  available frequency steps: 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz, 600 MHz
  available cpufreq governors: powersave, userspace, conservative, ondemand, performance
  current policy: frequency should be within 600 MHz and 600 MHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 600 MHz (asserted by call to hardware).

Weird it is… And this is not overheating because 44°C is nothing strange for this machine. Maybe CPU fan require replacing… but this also means splitting laptop into small parts to get access to it :(

dell laptop