Laptop ACPI fan control

John Hupp lubuntu at prpcompany.com
Thu Jun 5 00:14:08 UTC 2014


In accord with http://ubuntuforums.org/showthread.php?t=2088043 I also 
tried these:

$ echo -n active | sudo tee trip_point_1_type
and
$ sudo sh -c "echo -n active > trip_point_1_type

Both of these also failed with Permission denied errors

On 6/4/2014 5:54 PM, John Hupp wrote:
> 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/16f72147/attachment.html>


More information about the Lubuntu-users mailing list