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