Laptop ACPI fan control

John Hupp lubuntu at prpcompany.com
Wed Jun 4 21:54:20 UTC 2014


With no current tools yet identified, I thought I'd see if I could 
manually change a trip point temp and type.

 From /sys/class/thermal/thermal_zone0 I tried:
$ echo -n 40 > trip_point_1_temp
bash: trip_point_1_temp: Permission denied
$ echo -n active > trip_point_1_type
bash: trip_point_1_temp: Permission denied

I tried the same commands with sudo, with the same results.

Some things in /sys are meant to be read-only, but my understanding is 
that the thermal_zone attributes should be writable.

Anyone know why this happens?

On 6/4/2014 1:25 PM, John Hupp wrote:
> 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 kernel.org (below), 
> I think it is probably deprecated as well.
>
> But at least on the first point, many important reference pages are 
> outdated, such as https://wiki.ubuntu.com/DebuggingACPI and 
> https://01.org/linux-acpi/documentation/debug-how-isolate-linux-acpi-issues 
> (at the Intel Open Source Technology Center).
>
> The current kernel-level documentation is at 
> https://www.kernel.org/doc/Documentation/thermal, 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 
> http://freeunix.dyndns.org:8088/site2/acpitool.shtml, but that site no 
> longer exists.  Acpitool also installs acpid, and the homepage for 
> that is given as http://www.tedfelix.com/linux/acpid-netlink.html, but 
> that now redirects to http://sourceforge.net/p/acpid2. 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 enabled."
>
> 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:
>> 1) BIOS/UEFI
>> 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 coreboot.org 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 - https://wiki.ubuntu.com/DebuggingACPI 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: <https://lists.ubuntu.com/archives/lubuntu-users/attachments/20140604/49686c72/attachment.html>


More information about the Lubuntu-users mailing list