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