

The system hard disk temperature is monitored as well, using the hard disk's internal sensor. The method of controlling fan speed is documented here. The script provides an (optional) daemon mode and logging to syslog. It also includes a workaround for the pulsing noise problem. The script computes the fan level needed by each sensor based on the configured range, and then sets the the actual fan level to the slowest that will satisfy all sensors (plus some hysteresis to avoid fluctiations). The code lets you define a temperature range for each thermal sensor. # sudo echo "options thinkpad_acpi experimental=1 fan_control=1" >/etc/modprobe.d/thinkpad_nf On Ubuntu > 10.04 or from kernel 2.6.32 onwards: To make the kernel module settings permanent and to make them be executed at boot run below command and reboot afterwards: In Linux 2.6.22 and higher you need to additionally pass fan_control=1 to the module thinkpad_acpi (e.g., # modprobe thinkpad-acpi experimental=1 fan_control=1) It requires the ibm-acpi module to be loaded with the experimental=1 module parameter (e.g., # modprobe ibm_acpi experimental=1). This script works with any recent Linux kernel (2.6.14 and higher). Note that the fan levels, thresholds and anti-pulsing hacks are system-specific, so you may need to adjust them.Ĭomprehensive bash script with fine control over fan speed In addition, they include a hack for preventing the annoying fan pulsing that occurs on some systems. The following scripts sets the fan speed according to the system's thermal sensors.
#Linux fancontrol config update
The firmware doesn't update the sensors more than once every 2s, so care should be taken not to waste resources by reading them too often. Closed-loop fan control requires a thermal sensor sweep, which is an expensive operation.
