How to control CPU speed of Dell D600?

Using applications, configuring, problems
Post Reply
Message
Author
sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

How to control CPU speed of Dell D600?

#1 Post by sindi »

My DELL D600 uses a power supply and matching module in the computer designed to identify OEM power supplies (and refuse to run at full speed if you have not paid for a DELL power supply). If a wire breaks in either half, the computer is automatically throttled from 1.6GHz to 600MHz and the battery no longer charges. I have fixed the speed problem in XP with Notebook Hardware Control. What can I use to unthrottle CPU speed in Puppy 4.3.1? Supposedly lm-sensors works but a forum search gave no hits. Something to do with ACPI. Can I edit some file in /proc/ to restore full speed? No need to save battery power since the battery does not charge.

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

How to control CPU speed of Dell D600?

#2 Post by Monsie »

sindi,

CPU throttling is handled by the cpufreq package in Puppy Linux. The easiest way to disable cpu throttling in Puppy is to turn off this service that runs at startup. Goto Menu -->System-->BootManager: Manage system services and uncheck the box start_cpu_freq Reboot, and hopefully you should be good to go.

FYI, some distros include the cpufrequtils package which include a set of tools to adjust specific settings for cpu performance such as throttling. Since Puppy does not include this package, the only other way that I can think of to achieve what you want would be to remove the cpufreq package and if necessary to blacklist the module so that it doesn't automatically load at boot-up.

Hope this helps,
Monsie
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpufreq

#3 Post by sindi »

Boot Manager offers a choice of Load SFS file or Load Kernel Modules. Which cpufreq finds nothing.

THere is a /proc/acpi/processor/CPU0, info, limit, power, throttling.
info says throttling: yes
limit : active limit, user limit, and thermal limit P0:T)
throttling has states 0 (00%) through 7 (87%) and it set to T4 (50%).

Can I change one of these settings to stop throttling? I edited 'throttling' but it reset itself.

Is there a cpufreq package for puppy 2.4.31?

Softwaregurl
Posts: 49
Joined: Sun 23 Jan 2011, 20:53
Location: a state of mind

#4 Post by Softwaregurl »

Im camping and on a cel phone so i can't check this or even get the link to the other post. what i have is from a post i made called "cpu speed with no hardware transition latency complaints". I changed the contents of /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq to slow the cpu. I believe scaling_min_freq is there also and a list of valid freqs neer by or in /proc somewhere. I have no idea how this would work with a pupsave file so you should leave it as a last resort if nothing else works.

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

Re: How to control CPU speed of Dell D600?

#5 Post by Monsie »

sindi wrote:What can I use to unthrottle CPU speed in Puppy 4.3.1?
I am confused by your posts. Is this the version of Puppy Linux you are using as indicated in your first post?
Is there a cpufreq package for puppy 2.4.31?
Or are you using a version of Puppy Linux with Kernel 2.4.31 as I think you are indicating in your second post?

A response to a problem is only as good as the information you provide...

At this point, (and I may be wrong here, but I am doing my best to figure out your situation) I am going to assume that your first post included a typo or omission regarding which version of Puppy you are running and that your second post refers to a version of Puppy that uses kernel 2.4.31 version 1.08 maybe? If this is the case, then as far as I know, there is no cpufreq package for your version of Puppy. You might goto /etc/init.d directory and look for a startup script re: cpufreq and delete it if you find anything there. Otherwise, apparently kernel 2.4.30 and greater has support for cpufreq, so the thing to do would be to look for any related modules and blacklist them.

Beyond this, consider upgrading to a newer version of Puppy such as Wary 5.3 which has the cpufreq package and therefore better support for this service.

Monsie
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

D600 and Puppy 4.31

#6 Post by sindi »

puppy 4.31 with kernel 2.6.21.7 (so that hd is not renamed sd)
I never figured out how to use grub, needed to boot puppy 5. Puppy 4 boots with loadlin or lilo. 4.31 is much newer than my laptops.
There is no cpufreq in 4.31. Nothing in /sys/devices/cpu/cpu0. Something is
throttling the cpu speed to minimum all the time. Can I change something to do with acpi?

The computer runs at full speed in XP using Notebook Hardware Control.

Is cpufreq available for adding to 4.31 with retro kernel?

The computer uses Intel Speedstep. Turning it off in BIOS does not help.

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

How to control CPU speed of Dell D600

#7 Post by Monsie »

I am not aware of Puppy Linux 4.31 I know there is a Puppy Linux 4.3.1 as mentioned in this release announcement so that is what version I assume you are running.

That said, normally I run Wary Puppy which is part of the fifth series of Puppy Linux. Puppy 5x has System Services Management, whereas (it turns out) Puppy 4x does not. Therefore my advice in my first post is in error and I apologize for that.

To help you better, I decided to boot up Puppy Linux 4.3.1 which I am using now as I post this... and I will assume that indeed this is what you are running also...

Here is what I found:
  • --there is a CPU Frequency tool in PL4.3.1
    --there is a shell script to start this service in the Startup folder
See the screenshots that I have attached to verify my findings.
Note that my system does not have cpufreq setting capabilities, but if it did, here is what I would try to do:
  • --set the minimum and maximum frequency to the same value in the CPU Frequency Scaling Tool, in otherwords to the maximum speed of your CPU. As well, be sure to choose the correct module for this service,
    --if the above does not work, then either delete the Start_CPU_Freq shell script or move it to a backup folder if you want to save it., then re-boot,
    --further, you could identify the specific module(s) responsible for CPU throttling on your system, then goto BootManager and blacklist them.
Edit: I was not able to upload my second attachment which shows the
the shell script in the Startup folder due to size limitations as per the Forum rules.

I hope this helps,
Monsie
Attachments
CPUFreq.tar.gz
(143.86 KiB) Downloaded 318 times
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpufreq on DELL 600

#8 Post by sindi »

I was able to follow your directions (in the .tar.gz which contained a jpeg - why
not simply a .gz?): Menu, Utility, Cpu Frequency Scaling Tool. Though the computer claims to have Speedstep, none of the three Speedstep choices worked but acpi was accepted. I chose 1600000 for min and max, it edited /root/Startup/start_cpu_frequency for me (specifying acpi and the speeds) and I am about to reboot to see if this worked. Will check /proc and/or /sys to find out what the new speed is . Much much easier than XP, where I had to install .NET framework and Notebook Hardware Control just to change clock speed.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

D600 CPU speed

#9 Post by sindi »

/sys/devices/system/cpu/cpu0/frequency
cpuinfo_min_freq 600
cpuinfo_cur_freq 1600
scaling_min_freq 1600
scaling_cur_freq 1600

Hardware info says the cpu is 1600 too.

I can stop using XP to view Youtube and archive.org on this laptop, after a year of grief. Many thanks and I hope this helps the next person with the same hardware problem.

Dewbie

#10 Post by Dewbie »

Monsie wrote:
I am not aware of Puppy Linux 4.31 I know there is a Puppy Linux 4.3.1
Officially, it's 4.3.1.
But it's also referred to as 4.31 or 431; there's really no rhyme or reason.
(Same applies to other versions.)

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

How to control CPU speed of Dell D600?

#11 Post by Monsie »

Thanks for the clarification, Dewbie

That might be good information to know, although I don't want to make any automatic assumptions here...

While some people might think I was being too picky, I would argue that with software especially, numbers matter... and you saw from this thread how confusing it can be at times... which in turn can make the process of providing help an even greater challenge :?

Monsie
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpu frequency control in other puppies

#12 Post by sindi »

What do I need to add to pulp linux (also 2.6.21.7 kernel) for cpu frequency control? A module? Script? acpi is involved.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpufreq in pulp linux

#13 Post by sindi »

modprobe the acpi_cpufreq and cpufreq_ondemand modules
already present in pulp linux.

Copy over the file
/root/Startup/start_cpu_freq (which echoes 1600000
to various files in /sys/)
I deleted the lines about cpu1, which I do not have.
./start_cpu_freq

No need to reboot, 1.6GHz now.
I can now watch Youtube in Opera at high speed.

40MB memory used for Xvesa, lynx, and one rxvt.
I don't know if ondemand is actually needed
but I cannot remove it - in use.

User avatar
Monsie
Posts: 631
Joined: Thu 01 Dec 2011, 07:37
Location: Kamloops BC Canada

#14 Post by Monsie »

sindi,

In case you want to experiment or do some testing, you can find the CPU Frequency Scaling Tool PET over here. It's likely the same version that is found in Puppy 4.3.1 but since I am back to using Wary Puppy, I cannot confirm this at the moment.

Monsie
My [u]username[/u] is pronounced: "mun-see". Derived from my surname, it was my nickname throughout high school.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpu freq scaling tool

#15 Post by sindi »

That link contains the GUI script which asks you to choose
the correct module (acpi_freq, speedstep modules, etc.) and
the min and max frequencies, and creates the startup script
for choosing mode (default is ondemand) and speeds.
A link in that discussion explained the five modes.
Ondemand changes speed (frequency) as needed, powersave
is what I had to start with (lowest) and performance would
be highest, so I will edit the startup file to echo
performance instead of ondemand since I have no heat problems,
the battery never charges, and I want highest speed full time.
I think cpufreq must override whatever the BIOS is doing that
keeps the speed low when a chip goes bad in either power supply
(I tried two) or laptop, that together tell the laptop it is
using a legal power supply with enough power to both charge the
battery and run the cpu at full speed.

Just echoing performance to the relevant file in /sys may
be adequate, without specifying min speed as 1600000 - I
will experiment when next using puppy. My current linux
kernel (Basiclinux) has no acpi support (which seems to be
the only cpufreq built into the Puppy 4.3.1 kernel since
intel speedstep module won't work). I may try recompiling
to add it eventually. 2.4.31 kernel

Softwaregurl
Posts: 49
Joined: Sun 23 Jan 2011, 20:53
Location: a state of mind

#16 Post by Softwaregurl »

Awesome. makes me wonder if something in /sys or /proc could convince it to charge the battery? I hope to get back to my script some time. By using min_freq instead of max_freq you could still have some scaling. I started writing it because many older processors only work with the performance module. ttyl

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

DELL D600 no longer throttled

#17 Post by sindi »

I do not need the cpufreq_ondemand module to always
run the cpu at maximum frequency, nor do I need
to echo anything to max and min frequency.
/root/Startup/start_cpu_freq

modprobe acpi_cpufreq
echo performance /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

It now runs at 1.6GHz all the time. I have no reason to run it slower
since the laptop does not overheat, or charge the battery. The two
Windows programs that override the BIOS frequency setting do not fix the
charging problem so I doubt cpufreq can help there.

This is immensely easier than in Windows. The module is 7K.

I wonder if my K7 HP does ondemand - it tends to overheat and turn off.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpufreq in wary 5.5

#18 Post by sindi »

Edit /etc/init.d/wcpufreq
Change ondemand to performance.
Or change minimum to match maximum.

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cpufreq not working for me in wary 5.5

#19 Post by sindi »

Depending whether I select performance or acpi-cpufreq,
/etc/initd./wcpufreq tries to modprobe one of two non-existent
modules. cpufreq-acpi-cpufreq or cpufreq-performance.

If I manually try to imitate what works in puppy 4 in start_cpu_freq and
echo 1600000 > /sys/devices/system/cpu/cpu0/cpufreq/cpufreq_min_freq
it remains at 600000. Running the cpufreq wizard ends by telling me that
I have a fixed frequency of 600MHz instead of the desired 160000MHz.

I tried choosing ondemand and selecting 1600000 as min. It keeps reverting to 600MHz. I tried removing cpufreq. That did not help either.

Which means I can use Puppy 4 on this computer but puppy 5 is not very useful. I loaded it to try gtk-youtube-viewer, which works at 600MHz but the sound is out of sync. It would work better at 1.6GHz.

Is this a bug or am I neglecting some step? Did someone putting together wary assume that the frequency at which the computer boots is the maximum available

sindi
Posts: 1087
Joined: Sun 16 Aug 2009, 13:30
Location: Ann Arbor MI USA

cannot change values in scaling_min_freq

#20 Post by sindi »

In puppy 4.1.2 and 4.3.1 and 4.3.2 when I modprobe acpi_cpufreq then manually echo 1600000 > scaling_min_freq or scaling_max_freq (which is what the wizard sets wcpufreq to do) the file contents change from 600000 to 1600000. In wary 5.5 they remain unchanged. These files are writable by root. When i run the cpufreq wizard no matter what I do it ends up telling me I have a fixed frequency of 600.

XP also lets me adjust the speed up to 1600000.

Is there any way around this or should I give up on wary puppy on my D600, which has some messed up hardware and reverts to its lowest cpu speed unless prodded by software to do otherwise? Do precise or racy have this same problem?

Post Reply