echo 75000 > /sys/class/thermal/thermal_zone0/trip_point_1_temp - Permission denied!!
Seth Forshee
seth.forshee at canonical.com
Mon Jun 9 18:25:00 UTC 2014
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.
More information about the kernel-team
mailing list