Laptop ACPI fan control

John Hupp lubuntu at
Wed Jun 4 17:25:22 UTC 2014

Further research shows that the use of /proc/acpi/thermal_zone has been 
deprecated for some time.  The new location is /sys/class/thermal.

I have not found any specific reference about the current state of usage 
of /proc/acpi/fan, but from some reading and (below), I think 
it is probably deprecated as well.

But at least on the first point, many important reference pages are 
outdated, such as and 
(at the Intel Open Source Technology Center).

The current kernel-level documentation is at, and that's helpful 
reading to get some idea of what the contents of /sys/class/thermal mean.

But what we need is something current that identifies user-space tools 
and explains how to use them.  Acpitool seems like the first candidate, 
if it properly supports the current implementation. Its homepage is 
given in Synaptic as, but that site no 
longer exists.  Acpitool also installs acpid, and the homepage for that 
is given as, but that 
now redirects to  I had a look at the 
wiki there, but saw nothing that helps for this purpose.

I installed acpitool just to test-drive it.  'acpitool -e' reports 
everything, but it shows Fan and Thermal info as <not available> .  It 
also reports concerning Show_CPU_Info: "could not read 
/proc/acpi/processor/.  Make sure your kernel has ACPI processor support 

So it seems apparent that acpitool has not been properly or fully 
updated for the kernel implementation of acpi in kernel version 2.7 
(actually 2.6-something).


Concerning my Lenovo, booting into Windows I see in Device Manager an 
ACPI Thermal Zone and a number of other ACPI-related devices.

My initial conclusion when I saw that the Lenovo BIOS shows no thermal 
management settings was that Lenovo didn't want people fiddling with 
them and chose not to expose them.  Now I think that thermal management 
via the BIOS and SMM is not their provision. Rather, their provision is 
thermal management via ACPI, governed in the operating system.

On 6/1/2014 1:25 PM, John Hupp wrote:
> 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]
> 4) ACPI
> 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