Mbpfan is a daemon that controls the fans of Macbook/Macbook Pro laptops when they run GNU/Linux. It is a lightweight replacement of macfanctld, although it does not implement all of its features. It has got a different algorithm to control the fans. In a couple of words, it keeps Macbook fans a lot more silent.

This project is an enhanced version of Allan McRae mbpfan.

The mbpfan project is a daemon that uses input from

module and sets the fan speed using the

module. This enhanced version assumes any number of processors and fans (max. 10).

Features

  • It only uses the temperatures from the processors as input.
  • It requires coretemp and applesmc kernel modules to be loaded.
  • It requires root use
  • It daemonizes or stays in foreground; init scripts for Ubuntu/Debian, Fedora/RedHat/CentOS, Gentoo, Archlinux (unmaintained), and systemd included
  • Verbose mode for both syslog and stdout
  • It lets users specify settings in the /etc/mbpfan.conf file

Download

You can clone/download Fan-Control-Daemon/mbpfan on GitHub: https://github.com/dgraziotin/Fan-Control-Daemon.
You can download “stable” releases as gzipped tars on the Tag page: https://github.com/dgraziotin/Fan-Control-Daemon/tags.

You can report issues either on the issue tracker: https://github.com/dgraziotin/Fan-Control-Daemon/issues?page=1&state=open

Compatibility

There are several concerns about compatibility and dependencies in order to correctly use mbpfan

Dependencies

mbpfan has been tested on 3.x.x kernels.
Be sure to load the kernel modules applesmc and coretemp.
Also, be sure to not use other fan control daemons such as macfanctld while mbpfan is active.

Supported GNU/Linux Distributions

We provide scripts to to load mbpfan daemon at system boot for many distros.
Please note that the support is provided by volunteers. mbpfan needs test and bug reports.

The following are the supported distributions:

  • Ubuntu
  • Debian
  • Fedora
  • RedHat
  • CentOS
  • Gentoo

Tested Macbook Models

  • Macbook Pro 8,2 15″ (Intel i7 – Linux 3.6.2)
  • MacBook Pro 8,1 13″ (Intel i7 – Linux 3.2.0)
  • Macbook Pro 6,2 15″ (Intel i7 – Linux 3.5.0)
  • MacBook Pro 6,2 15″ (Intel i7 – Linux 3.2.0)
  • MacBook Pro 2,2 15″ (Intel Core 2 Duo – Linux 3.4.4)

How to use mbpfan

Compile Instructions

Compile with

Install Instructions

Install with

It copies mbpfan to /usr/sbin and mbpfan.conf to /etc

It is recommended to run the tests after installing the program

or

Run Instructions

If installed, manually run with

If installed and using the init file, run with (Ubuntu example)

Starting at boot

Ubuntu
For upstart based init systems (Ubuntu), an example upstart job has been provided for use in place of the LSB-style init script. To use, execute:

Debian
An init file suitable for /lib/lsb/init-functions (Debian) is located in the main folder of the source files, called mbpfan.init.debian Rename it to mbpfan, give it execution permissions (chmod +x mbpfan) and move it to /etc/init.d Then, add it to the default runlevels with (as root):

Redhat, CentOS, Fedora
An init file suitable for /etc/rc.d/init.d/functions (RHEL/CentOS & Fedora) is also located at the same place, this file is called mbpfan.init.redhat. Also rename it to mbpfan, give it execution permissions and move it to /etc/init.d To add the script to the default runlevels, run the following as root:

Gentoo
An init file is available for gentoo users: mbpfan.init.gentoo To install, run as root:

To automatically run mbpfan at boot, run as root:

systemd
As a special bonus, a service file for systemd is also included. To use it, execute the following (as root):

To start the service automatically at boot, also execute the following:

Usage

License

GNU General Public License version 3

Authors

A list of authors, maintainers, and contributors can be found in the AUTHORS file.

Future

What is going to be next is:

  • Create an Ubuntu deb
Skills

,

Posted on

February 19, 2014