[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How does one control fans?



Koen Vermeer said...
> On Thu, 2005-10-13 at 11:29 +0100, marc wrote:
> > Ah, something else to explore. I installed the cpudyn package and that 
> [...]
> > Which modules and packages are the "best" too use, or to start with?
> 
> The userspace governor is just a kind of man-in-the-middle, allowing
> userspace programs, such as cupfreqd, to set the cpu frequency. In the
> early days, I had that one on my laptop. But then new kernel governors
> appeared, such as 'conservative'. Basically, this governor reduces the
> frequency when the system is not doing much, and increases it when it
> gets busy. You can tune some parameters, such as the thresholds.
> 
> I don't know what's included in your kernel. But what you'll need to do
> is enable CPU frequency scaling, select a default governor (I chose
> 'performance'), and select the governors you want to use (so I added
> 'conservative'). Either include them in the kernel or compile them as
> modules and load them. You can then look
> at /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors for
> a list of governors that are available, and choose one by writing its
> name to /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor. I might
> have missed a step, so if it doesn't work, simply Google around.

I've installed packages: acpi and acpid
and the fan now stops occasionally. Magically, something called, 
KLaptop, has appeared in the KDE system tray, presenting lots of options 
to manage ACPI features.

These packages also installed the modules: thermal, fan, button, 
processor, ac and battery.

I loaded cpufreq_userspace or acpi_cpufreq, but these seem to only 
provide "power profiles" - which I can select in KLaptop - or 
"governors", but I can't find out what they do precisely.

I have a handle on 'governors', including those in the kernel, now. 
However, after I modprobe the kernel governors, nothing appears in 
/sys/devices/system/cpu/cpu0/ until I modprobe acpi_cpufreq.

Is this correct? Is there another way to activate 
/sys/devices/system/cpu/cpu0/cpufreq without loading this module and its 
'performance' governor?

> > > Otherwise, maybe the thermal trip points are too low. Look
> > > at /proc/acpi/thermal_zone/THRM/temperature to determine the temperature
> > > according to the system.
> > I don't have /proc/acpi/thermal_zone/ :-(
> 
> Do you have CONFIG_ACPI_THERMAL set? Your /var/log/messages should show
> something like 'ACPI: Thermal Zone [THRM] (xx C)'.

Yes, CONFIG_ACPI_THERMAL is set to m. There are no references to thermal 
in the ACPI messages :-( The thermal module is loaded.

# acpi -V says, 
No support for device type: thermal
AC adaper: on-line

So, I guess that thermal detection is not possible, unless there is 
something else that needs to be done. Clearly, there is thermal 
detection in operation, and it seems odd that it is not, apparently, 
under the control of ACPI.
 
> > I'm also on a hunt for the speedstep_centrino module, which bombs when I 
> > try to load it. I'm guessing that this requires a kernel rebuild... but 
> > who knows!
> 
> What do you mean by 'it bombs'? I guess you need one of those drivers,
> because otherwise cpufreq probably has no way to change the frequency of
> the processor.

mote:~# modprobe speedstep-centrino
FATAL: Error inserting speedstep_centrino 
(/lib/modules/2.6.13.3marc.13.1.1/kernel/arch/i386/kernel/cpu/cpufreq/sp
eedstep-centrino.ko): No such device

mote:~# locate speedstep-centrino.ko
/lib/modules/2.6.13.3marc.13.1.1/kernel/arch/i386/kernel/cpu/cpufreq/spe
edstep-centrino.ko
/usr/src/linux-2.6.13.3/arch/i386/kernel/cpu/cpufreq/.speedstep-
centrino.ko.cmd
/usr/src/linux-2.6.13.3/arch/i386/kernel/cpu/cpufreq/speedstep-
centrino.ko
mote:/sys/devices/system/cpu/cpu0#

CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m

CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

Note that I didn't compile my kernel specifically for Pentium M, since I 
simply did a make oldconfig.

-- 
Best,
Marc



Reply to: