I have the 16.04 LTS for my Lenovo G50-80 laptop.

The problem is: cooling fans are working for almost all the time (that's really noisy and boring).

I have this problem since purchasing my laptop a 6 months ago, and I was searching for a solution during this period until now.

I followed these steps:

1) Install the lm-sensors and fancontrol packages.

2) Configure lm-sensors

  1. In terminal type sudo sensors-detect and answer YES to all YES/no questions.
    The first "YES" gives me this:

    Some south bridges, CPUs or memory controllers contain embedded sensors.
    Do you want to scan for them? This is totally safe. (YES/no): y
    Module cpuid loaded successfully.
    Silicon Integrated Systems SIS5595... No
    VIA VT82C686 Integrated Sensors... No
    VIA VT8231 Integrated Sensors... No
    AMD K8 thermal sensors... No
    AMD Family 10h thermal sensors... No
    AMD Family 11h thermal sensors... No
    AMD Family 12h and 14h thermal sensors... No
    AMD Family 15h thermal sensors... No
    AMD Family 16h thermal sensors... No
    AMD Family 15h power sensors... No
    AMD Family 16h power sensors... No
    Intel digital thermal sensor... Success!
    (driver `coretemp')
    Intel AMB FB-DIMM thermal sensor... No
    Intel 5500/5520/X58 thermal sensor... No
    VIA C7 thermal sensor... No
    VIA Nano thermal sensor... No

  2. At the end of sensors-detect, a list of modules that need to be loaded will be displayed. Type "yes" to have sensors-detect insert those modules into /etc/modules.
    So the following lines are added to the file modules.conf:

    # Generated by sensors-detect on Mon Sep 5 13:50:31 2016
    # Chip drivers

  3. Run sudo service kmod start. This will read the changes you made to /etc/modules in step 3, and insert the new modules into the kernel.

3) Configure fancontrol:

At this stage, sudo pwmconfig returns

/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed

I tried to fix this problem using this link but no way, always the same problem with the command pwmconfig.

What seems abnormal:

1) sensors returns only

Adapter: ISA adapter
Physical id 0: +49.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +48.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +46.0°C (high = +105.0°C, crit = +105.0°C)

2) acpi -t returns nothing.

May be the kernel doesn't detect fan controller for such laptop model.

Note that there is no way to control fans from BIOS. And cat /proc/cmdline returns

BOOT_IMAGE=/boot/vmlinuz-4.4.0-36-generic.efi.signed root=UUID=b606c0de-3f11-439e-bdd2-c17579566c57 ro quiet splash acpi_enforce_resources=lax vt.handoff=7

I don't know if there are a possible solution for the overall problem. I despair.

  • Sensors you have are normal for a laptop. Temperature can be more like 70c with fan barely audible slow speed. More likely than not ACPI driver needs to be changed but I'm on my phone and can't answer at this time. – WinEunuuchs2Unix Sep 7 '16 at 17:14
  • @WinEunuuchs2Unix: It seems that the kernel doesn't detect fan controller for such laptop model. I don't know if there are a possible solution. – Sofiane Sep 7 '16 at 20:21
  • Can edit your question with output from 'cat /proc/cmdline' that will show what kernel overrides you have. – WinEunuuchs2Unix Sep 7 '16 at 21:57
  • @WinEunuuchs2Unix: Done. – Sofiane Sep 7 '16 at 22:07
  • Great I'm travelling now but will research it in about 1 hour and hopefully have a happy answer for you. – WinEunuuchs2Unix Sep 7 '16 at 22:14

When it comes to sensors most of the "extras" it reports are for desktop systems.

For my two laptops all I have seen so far are in cat /sys/class/thermal/thermal_zone*/temp:


For thermal zones 0, 1 & 2 which sensors also reports. In this case Thermal Zone 0 is incorrect which Conky also reports. It's a glitch in my system I haven't figured out yet but the last one Thermal Zone 2 is accurate.

As far as your fan running at full speed your kernel boot parameters are:

BOOT_IMAGE=/boot/vmlinuz-4.4.0-36-generic.efi.signed root=UUID=b606c0de-3f11-439e-bdd2-c17579566c57 ro quiet splash acpi_enforce_resources=lax vt.handoff=7

The parameters of note are:

  • ro - read only

  • quiet - don't display system messages overtop of splash screen.

  • splash - display a splash screen with plymouth (Ubuntu logo with moving dots usually)

  • acpi_enforce_resources=lax - Run fan at full speed (as best I can figure)

  • vt.handoff=7 - keep messages flowing from boot to terminal screen (which are controlled not to appear anyway with quiet and splash options earlier).

The first step is to remove the acpi_enforce_resources=lax kernel parameter.

In the terminal type:

gksu gedit /etc/default/grub

Search for this line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_enforce_resources=lax vt.handoff=7"

Erase the acpi_enforce_resources=lax and save the file. We don't have to write down what we are erasing because AskUbuntu is our giant notepad.

Back at the terminal prompt type:

sudo update-grub

Now reboot your laptop and report back on progress.

Edit 1:

Removing the =lax variable didn't change the fan setting. Now the next step is to tell your Lenovo that ACPI is supported. Some laptops look for Windows and if it doesn't see it doesn't implement ACPI services (such as fan control). We'll tell your laptop Windows is running and turn over control to Linux. On the same Kernel Command line add the option acpi_osi=Linux before the vt.handoff=7

Now your line looks like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=linux vt.handoff=7"

Once again update grub and reboot.

Report back on progress.

Edit 2:

After much searching I came across someone who has ten Lenovo G50-80 laptops and one of them had the same problem: Cooling-fan-stays-on. Tech support first advised to upgrade the BIOS to the current version (now it is # B0CN99WW dated August 25, 2016). The user had updated the BIOS and problem persists so he returned it for a new one.

BIOS (Basic Input Output System) contains the ACPI (Advanced Configuration and Power Interface) discussed above.

If your fan works properly in Windows then checking compatibility with Linux is the next step. You can google the question but no answers come up. You can check: Ubuntu certification Lenovo but as of today The G50-80 model doesn't appear on the list.

With any luck another Lenovo G50-80 user will be able to offer advice.

  • cat /proc/cmdline gives now: BOOT_IMAGE=/boot/vmlinuz-4.4.0-36-generic.efi.signed root=UUID=b606c0de-3f11-439e-bdd2-c17579566c57 ro ro quiet splash vt.handoff=7 (there are two 'ro'), the problem is always the same. – Sofiane Sep 8 '16 at 0:48
  • In the greb file, the edited line is now GRUB_CMDLINE_LINUX_DEFAULT="ro quiet splash". – Sofiane Sep 8 '16 at 0:52
  • Take the ro out, it's added automatically. The next step is to research on your ACPI options which I'll start now. It should only take ten minutes or so. – WinEunuuchs2Unix Sep 8 '16 at 0:55
  • Should I edit the field GRUB_CMDLINE_LINUX_DEFAULT to only "quiet splash" (erase the "ro") ? – Sofiane Sep 8 '16 at 1:07
  • Yes erase the ro and you can leave off the vt.handoff=7 too. However I just updated the answer with a new option. Please read after Edit 1: – WinEunuuchs2Unix Sep 8 '16 at 1:12

Control it using nbfc

I've an Acer Aspire E5-573G laptop and nothing else worked to control the CPU fan, but nbfc. I'm using Ubuntu 18.04. The exact profile for my model is missing, but nbfc worked fine with another similar profile (Acer Aspire E5-575G). If you don't know which profile to use, you can try: mono nbfc.exe config -r

So you can use it and customize a profile to turn your fan as quiet as possible.


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.