Ubuntu – Fan on full speed on Asus N552VW / Ubuntu 16.04

acpiasusfankernel

I'm having fan problems with Ubuntu 16.04 on my Asus N552VW-FY094T.

Laptop boots up OK, but after about 10 seconds the fan is pinned on full speed.

Right after logging in, the fan seems and is running at a sensible speed.
This is then the output from 'sensors':

acpitz-virtual-0
Adapter: Virtual device
temp1:        +29.0°C  (crit = +103.0°C)

nouveau-pci-0100
Adapter: PCI adapter
temp1:            N/A  (high = +95.0°C, hyst =  +3.0°C)
                       (crit = +105.0°C, hyst =  +5.0°C)
                       (emerg = +135.0°C, hyst =  +5.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +30.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:         +29.0°C  (high = +100.0°C, crit = +100.0°C)
Core 1:         +37.0°C  (high = +100.0°C, crit = +100.0°C)
Core 2:         +28.0°C  (high = +100.0°C, crit = +100.0°C)
Core 3:         +28.0°C  (high = +100.0°C, crit = +100.0°C)

asus-isa-0000
Adapter: ISA adapter
cpu_fan:     2100 RPM
temp1:        +29.0°C  

Then, few seconds later, the fan's speed is pinned on max and this is the output:

( .. snip ...)
asus-isa-0000
Adapter: ISA adapter
cpu_fan:     25500 RPM
temp1:        +26.0°C  

The relevant hwmon is in /sys/class/hwmon/hwmon3, provided by the asus_nb_wmi module:

lrwxrwxrwx  1 root root 0 Aug  6 20:55 hwmon0 -> ../../devices/virtual/hwmon/hwmon0/
lrwxrwxrwx  1 root root 0 Aug  6 20:55 hwmon1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/hwmon/hwmon1/
lrwxrwxrwx  1 root root 0 Aug  6 20:55 hwmon2 -> ../../devices/platform/coretemp.0/hwmon/hwmon2/
lrwxrwxrwx  1 root root 0 Aug  6 20:55 hwmon3 -> ../../devices/platform/asus-nb-wmi/hwmon/hwmon3/

Inspecting the status of those files before the fan speeds up:

fan1_input: 2100
fan1_label: cpu_fan
name: asus
pwm1: 85
pwm1_enable: 2
temp1_input: 34000

After it speeds up:

fan1_input: 25500
fan1_label: cpu_fan
name: asus
pwm1: 255
pwm1_enable: 2
temp1_input: 25000

The DSDT my laptop is here.

What I've done so far:

  • Updated to the latest BIOS (version 204)
  • Echo 100 >/sys/class/hwmon/hwmon3/pwm1. I've tried other values but it doesn't matter. After this, the fan1_input files reports "-1" value. Echo 0 >pwm1_enable, no change.
  • Installed kernel 2.6.5 (using linux-kernel-utilities). No change.
  • Compiled and tried the asus-fan module. Module compiled and installed (I removed the others first), but it wasn't any better at controlling the fan.
  • Tried the most recent asus-wmi.c and asus-nb-wmi.c (and .h) from the linux kernel, no change.
  • I've tried setting acpi_osi to "Linux" and "Windows 2015" (found in the .dsl file), no change.
  • I've tried blacklisting the asus-nb-wmi and asus-wmi modules. After rebooting the fan behaves exactly the same, which makes me think something else is responsible for this. Perhaps BIOS think there is no software adjusting the fan so it's maxing it out?

Any ideas?

Best Answer

I had to install the proprietary Nvidia driver. Start the "Additional Drivers" program and install it from there. Reboot and the fan starts operating on normal speed.

The drivers I downloaded myself from Nvidia website didn't work.

I'm pretty sure @wjandrea suggested this in comments, but he says he didn't. I'd still like to give him the credit for solving this!

Related Question