![]() ![]() The following scripts were written before it was known how to control the fan speed, so they only toggle between fan disabled and default (noisy) fan behavior. Just released version 0.7, which now allows a more fine-grained control over temperature limits. Requires thinkpad_acpi with fan_control=1. Configuration is done via a simple text file, by providing (FAN_LEVEL, LOWER_LIMIT, UPPER_LIMIT) tuples. Written in C to use as little CPU power as possible. thinkfan: A minimalist fan control program However, porting to other distributions or manual setup should be easy. Temperature thresholds can be set separately for each sensor since version 0.90.Īt the moment packages are available for Ubuntu 8.04, 8.10, and 9.04. Provides easy setup and monitoring through graphical GTK+ interface. Tp-fancontrol-basic ( download) tp-fan: Automatic daemon with GTK+ GUI It requires the patch for controlling fan speed or a recent kernel (>=2.6.19). The following is a simpler patch (without extra features like daemon mode and logging). Simple bash script with fine control over fan speed (requires kernel patch) Configuration file for init script: nf ( download) (save as /etc/nf).Init script (Debian): ( download) (save as /etc/init.d/tp-fancontrol).Init script: tp-fancontrol.init ( download) (save as /etc/init.d/tp-fancontrol).It assumes that the above tp-fancontrol script is saved at /usr/bin/tp-fancontrol. It is also model-specific - see thermal sensors. The list of temperature ranges used in this script is much more liberal than the rules used by the embedded controller firmware, and is derived mostly from anecdotal evidence, hunches and wishful thinking. This works only on certain Hitachi disks and requires kernel >= 2.6.19-rc1 or the ide driver, since it uses a non-standard method for reading the temperature without causing a head unload or spinup. 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. 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. Sudo apt install libkf5config-dev libkf5auth-dev libkf5package-dev libkf5declarative-dev libkf5coreaddons-dev libkf5dbusaddons-dev libkf5kcmutils-dev libkf5i18n-dev libkf5plasma-dev libqt5core5a libqt5widgets5 libqt5gui5 libqt5qml5 extra-cmake-modules qtbase5-dev libkf5notifications-dev qml-module-org-kde-kirigami2 qml-module-qtquick-dialogs qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel cmake build-essential gettext gitĬmake. Install the build requirements (tested in Ubuntu 18.04): sudo apt update Furthermore it communicates with systemd via dbus to control the fancontrol service. It uses the KAuth module of the KDE Frameworks 5 to write the generated config file. Fancontrol-gui is a GUI for fancontrol which is part of lm_sensors. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |