echo 75000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp - Permission denied!!

John Hupp ubuntu at prpcompany.com
Mon Jun 9 19:25:26 UTC 2014


On 6/9/2014 2:25 PM, Seth Forshee wrote:
> On Mon, Jun 09, 2014 at 12:57:38PM -0400, John Hupp wrote:
>> On 6/9/2014 10:20 AM, Seth Forshee wrote:
>>> On Thu, Jun 05, 2014 at 10:39:46AM -0400, John Hupp wrote:
>>>> Trying to edit an acpi thermal trip point, I show from
>>>> /sys/class/thermal/thermal_zone0:
>>>>
>>>> $ echo 75000 > trip_point_1_temp
>>>> bash: trip_point_1_temp: Permission denied
>>> This command isn't going to work unless you're in a root shell.
>>>
>>>> I get the same result using sudo.
>>> Is it really the same, or does it say "Operation not permitted" instead?
>>> If so, then it probably means that the driver behind that trip point
>>> does not support changing the trip point temperature (which isn't
>>> necessarily a bug, it might really be impossible to change it).
>> Yes, I verify "Permission  denied":
>> $ sudo sh -c "echo 75000 > trip_point_1_temp"
>> sh: 1: cannot create trip_point_1_temp: Permission denied
>>
>> Since posting, I found this 2007 article that says the kernel no
>> longer (as of 2.6.22) supports changing the trip points:
>> http://lwn.net/Articles/244595/
>>
>> Many people reportedly complained about that kernel change, so I
>> wonder, is the current kernel design still such that the trip points
>> cannot be changed?
>>
>> Since there are currently no active fan cooling trip points set for
>> this Lenovo 3000, only the passive one at 87 C and the critical one
>> at 102 C, if I want some active cooling, is my only recourse to
>> modify the DSDT?  That would seem like a needlessly deep dive, but
>> I'd like to know if it's my only option.
> You don't say what kernel you're running, so I'm looking at the trusty
> kernel source. There it's possible to change the set points if the
> platform thermal driver supplies a set_trip_temp() callback. But if
> that's not there the call should return EPERM, "Operation not
> permitted," rather than EACCESS, "Permission denied." So maybe the error
> comes from elsewhere.
>
> If this is truly the ACPI thermal driver though (hint: cat /sys/.../type)
> then it does not supply a set_trip_temp() callback, so attempting to
> override the values in the ACPI tables isn't going to work.

Yes, I omitted that info in the original post.  In the hasty follow-up I 
supplied:
     This is under Lubuntu 14.04 32-bit desktop version, with kernel 
3.13.0-27.50-generic.

And thanks, I need hints.  The thermal zone Type is acpitz, and your 
note above that the ACPI thermal driver does not supply a 
set_trip_temp() callback seems to answer my question about whether the 
current kernel supports creating/changing acpi trip points.  The answer 
would be NO.

Colin Ian King's suggestion to try the newly minted thermald 
(https://wiki.ubuntu.com/Kernel/PowerManagement/ThermalIssues) seems to 
aim at solving just the kind of problem I'm pointing out.

But if it didn't, I would still have the (unlikeable) option of telling 
the kernel to use a modified DSDT table, wouldn't I?




More information about the kernel-team mailing list