Laptop ACPI fan control

John Hupp lubuntu at
Sun Jun 1 17:25:23 UTC 2014

I posted some of this material in the thread "Lubuntu: acerhdf.conf," 
but am starting a new thread that better reflects what I'm trying to 
work out.

According to my current understanding, fans may be controlled by:
2) Bus signalling to PWM controllers governing fans [the lm-sensors 
package does this]
3) System Management Mode (SMM) [the i8kutils package does this for many 
Dell laptops]

The above is undoubtedly only a rough description that lacks precision, 
but AFAIK it describes well enough the avenues to solutions.

BIOS/UEFI - For this purpose I am working with a Lenovo 3000 C200 laptop 
flashed to the latest available version.  Its BIOS exposes no 
power/thermal management settings.  I have heard of Windows programs 
that allow reading and even editing of BIOS settings, and I thought it 
would be useful to at least know what the hidden BIOS thermal management 
settings were.  Even better if I could edit them via Linux.  I found 
dmidecode, biosdecode and the smbios-utils suite, but none of them could 
report, much less edit, the thermal management settings.  The project is a BIOS-replacement project, but support is 
motherboard specific, the list is short, and my model is not on the 
list.  There are also some vendor-specific Linux BIOS tools, but these 
all seem to be just for flashing the BIOS.  So unless I have missed 
something, it seems like that avenue comes to a dead end.

lm-sensors - It discovers a sensor for the CPU, loads the coretemp 
module, and reports that temperature.  But pwmconfig reports "There are 
no pwm-capable sensor modules installed."  And the lm-sensors 
documentation notes in a couple places that it won't work on most 
laptops because they lack PWM controllers, and "you have to use acpi 
instead."  So that's also a dead end.

i8kutils - Many or most Dell laptops are reported to lack not only PWM 
controllers but also support for ACPI fan control, so i8kutils uses a 
different method, SMM, to control the fans.  But the package aims to 
support only Dell laptops, and seems to rely on knowledge of specific 
motherboard architectures.  Another dead end for my purposes.

ACPI - has the following:
*Fan Issues *****

These usually relate to the fan spinning too often or too fast. Another 
indication may be that the temperature remains high even when the fans 
are spinning.

 1. Determine if the system has ACPI-based fan control

        if */proc/acpi/fan* is empty and
        */proc/acpi/thermal_zone/*/trip_points* has no active trip
        points (those starting with "AC") then there is no ACPI-based
        fan control on your system

 2. If the system does have an ACPI-based fan control try booting with
    kernel parameter options listed above

On this laptop, neither /proc/acpi/fan nor 
/proc/acpi/thermal_zone/*/trip_points even exist.

But /sys/class/thermal/thermal_zone0 has cdev0_trip_point, 
cdev1_trip_point, trip_point_0_temp, trip_point_1_temp, 
trip_point_0_type, trip_point_1_type all exist.

Dmidecode or biosdecode reported that the laptop supports ACPI, so the 
question may be whether it supports ACPI fan control in particular.

I don't my Linux fundamentals regarding the purposes of /proc and /sys, 
but have I just confirmed that this laptop has no ACPI fan control 
support, or could it be that trip_points are supported from more than 
one location?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Lubuntu-users mailing list