0

For some unknown reason, my laptop fan stays on consistently. Even when I'm using less than 2% CPU and the air coming out of the vent is seemingly cooler than the air in the room, the fan always stays on the highest setting, which is both loud and presumably bad for the fan. Is there some configuration file that can be edited to make the fan only run at a certain CPU usage, internal temperature, or something else?

  • 1
    Which laptop is it? Some laptops won't let you control the fan at all. – Renan Aug 25 '13 at 18:27
  • @Renan it's an ASUS X75A-DS51 – tkbx Aug 25 '13 at 18:34
  • 2
    Do you have fan control (using any utility) under Windows? – Renan Aug 25 '13 at 20:14
  • @Renan haven't used Windows on it. – tkbx Aug 25 '13 at 22:55
3

First of all check the BIOS, some laptops have settings that allow you to control the fan there. It might be set to "Performance" or similar which means it will always run at full speed.

Also make sure you have a reasonable CPU scaling governor. The governor controls CPU frequency scaling. Your choices are:

  • Performance keeps the CPU at the highest possible frequency
  • Powersave keeps the CPU at the lowest possible frequency
  • Userspace exports the available frequency information to the user level (through the /sys file system) and permits user-space control of the CPU frequency
  • Ondemand scales the CPU frequencies according to the CPU usage (as do the userspace frequency scaling daemons, but in the kernel)
  • Conservative acts like the ondemand but increases frequency step by step

With ondemand, your CPU will only run at its highest speed when necessary. Ideally, this will be completely transparent for you, you machine will simply work as fast as necessary for the current tasks. To activate it do

sudo echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

If I recall correctly, the Jupiter applet can control the fans but I haven't used it in a while.

There are some laptop brand-specific utilities are for Dell and ThinkPads but they might work for your ASUS:

  1. Try i8kutils. This package will install certain modules and programs that are specific for Dell fans and is very likely not to work on an ASUS. If it does:

    sudo apt-get install i8kutils modprobe i8k i8kfan 0 1

  2. There is a very nice utility called "Simple ThinkPad Fan Control" which allows you to fine tune the trigger temperatures that change the fan's speed. No idea if it will work on an ASUS but it might be worth a try.

DISCLAIMER: I have only used these with their respective laptop brands. While the worst case scenario is probably that they just won't work, for all I know they could cause the machine to explode and rip a hole in space time. I have never tried on a non-DELL or non-ThinkPad laptop so try them at your own risk.


A couple of other things you could try are

  1. (source) At the grub menu press e and navigate to the line with splash (or nosplash) and insert pcie_aspm=force and i915.i915_enable_rc6=1

    If it works as expected and no system instability occurs (there's only a small risk) then make these changes permanent by adding them to the GRUB_CMDLINE_LINUX variable /etc/default/grub

  2. (source) add acpi_osi="Linux" to the GRUB_CMDLINE_LINUX variable /etc/default/grub.

  • I couldn't find any options in my BIOS, and the scaling_governor is already set to ondemand. Jupiter seems to be very redhat-specific (only options are RPM files or source with "mkrpm" and a non-functional python script in jupiter/usr/bin). It seems safer to avoid the model specific utilities, and my Wi-Fi already doesn't work with Linux on this laptop, so I'd prefer not to screw with hardware settings in any way I don't know how to reverse, as the disclaimer said. – tkbx Aug 25 '13 at 19:04
  • @tkbx what distro are you using and which kernel? There was a bug in some of the older ones that should be fixed in the >=3.3 series. Anyway, have a look at my updated answer. – terdon Aug 25 '13 at 19:24
  • I'm running Crunchbang (Debian), with kernel version 3.2.0-4. Can the kernel be safely updated without reinstalling the system? – tkbx Aug 25 '13 at 22:59
  • As far as the second other thing, I'm confused as to what exactly I'm supposed to do. Should I add acpi_osi="Linux" under GRUB_CMDLINE_LINUX=""? – tkbx Aug 25 '13 at 23:06
  • No, you should have something like GRUB_CMDLINE_LINUX="acpi_osi=Linux". I should also mention that I am just repeating things I found when trying to solve a similar problem a while back. I am not an expert on this and you should trust them no more than you trust the sources I give for each of them. As for updating the kernel, in general it is perfectly safe to update the kernel without reinstalling. Can't guarantee this will solve anything but it is not that risky either. – terdon Aug 25 '13 at 23:10
0

I am having the exact same fan problem on my Asus X75A. It would appear to be a hardware bug on a number of Asus laptops as reported here:

https://bugs.launchpad.net/ubuntu/+source/upower/+bug/1088146

The short workaround:

Turn off the laptop, remove the battery for a few seconds, re-assemble and turn back on. This bug would appear to go hand in hand with the battery refusing to charge.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.