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?





-- 
Lubuntu-users mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/lubuntu-users

Reply via email to