Fan Maximum speed after suspend

Hi,

I am new to opensuse. I have an issue after the suspend of my new Asus PU551-L. The CPU fan work at full speed even if the cpu freq is low.
I have found a lot of post on google with this issue on red hat or ubuntu and i have tried their solution :

Red hat :

Make a script:
/usr/lib/systemd/system-sleep/cooldown.sh

#!/bin/sh

Stop fan in HP2510p after resuming from sleep

/bin/echo "0" >/sys/class/thermal/cooling_device0/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device1/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device2/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device3/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device4/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device5/cur_state
/bin/echo "0" >/sys/class/thermal/cooling_device6/cur_state

exit 0

and ubuntu :

#!/bin/sh

Reset fan speeds after resume, otherwise they blow at maximum speed

Used as work-around for ACPI kernel bug 58301

https://bugzilla.kernel.org/show_bug.cgi?id=58301

The idea for this fix was taken from

http://ubuntuforums.org/showthread.php?t=1761370

Author: franz@qnipp.com

To be saved as /etc/pm/sleep.d/11_fan_3.11.0

case “$1” in
thaw|resume)
for i in /sys/class/thermal/cooling_device* ; do
type=cat $i/type
if “$type” = “Fan” ] ; then
echo 0 > $i/cur_state
fi
done
;;
esac

None fixed my issue. Is opensuse use sleep.d or systemd/system-sleep ?

So i have tried to execute /sys/devices/virtual/thermal/cooling_device0/cur_state with sudo or even in root and both return a permission denied. I guess that’s why the solution is not working.
I do not have the experience to understand why i can’t laungh it as root so i am asking for your help.

Thanks in advance.

Same issue here (ASUS PU551LD). This happens with all kernel versions I’ve tested (3.16 to 4.0.4).

Some (possibly) interesting facts to note: Once the fan is in this state, only powering off the laptop will reset it. Rebooting to Windows and suspending/resuming there will not reset the fan state either. sensors(1) does not report fan speeds on Linux, but SpeedFan on Windows is able to do this. What’s interesting here is that during normal operation, SpeedFan shows a value of 4294967295 RPM (or, if interpreted as 32-bit signed integer, -1), whereas it shows around 4500-5000 RPM when the fan is in bad state (which roughly equals its real speed).

The fan also doesn’t immediately go to full speed after resume; it takes a second or two. I assume there’s some ACPI firmware bug (it wouldn’t be the only one with this laptop; for example there’s https://bugzilla.kernel.org/show_bug.cgi?id=70241).

Update: The asus-nb-wmi driver exposes the fan state through the hwmon interface (/sys/class/hwmon/hwmon2/pwm1 in my case). It usually shows values like 85 during normal operation, but goes to the expected 255 after resuming. However, it is also not writable, so manually fixing the fan speed through that interface is impossible.