The following is the GNU All-permissive License as recommended in https://www.gnu.org/licenses/license-recommendations.en.html
Copyright (C) 2024 Free Software Foundation sysadmin@fsf.org
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.
Contributions are welcome. See https://savannah.gnu.org/maintenance/fsf/.
Fan control
To manually disable/enable the fan, you can use the kernel interface at /proc/acpi/ibm/fan
That file contains the current status of the fan, like: --- status: enabled speed: 2852 level: auto commands: level ( is 0-7, auto, disengaged, full-speed) commands: enable, disable commands: watchdog ( is 0 (off), 1-120 (seconds)) ---
You can send commands to it this way:
# echo disable > /proc/acpi/ibm/fan
# echo enable > /proc/acpi/ibm/fan
# echo level 3 > /proc/acpi/ibm/fan
# echo level auto > /proc/acpi/ibm/fan
Be aware that disabling the fan could make the computer crash by overheating. Also, the changes done by those commands are not permanent, if you reboot or suspend the fan will go back to its default settings (enabled).
Temperature sensors
http://www.thinkwiki.org/wiki/Thermal_Sensors#ThinkPad_X60
# cat /proc/acpi/ibm/thermal Index Location Sensor* Idle** Idle*** Comments 1 CPU CPU (0x78) 62 C 39 C 3 Card? Crd (0x7A) -- -- 2 ?? APS (0x97) 43 C 46 C 4 GPU GPU (0x7B) 59 C 39 C 5 Battery No5 (0x7c) Disappears when battery removed 7 Battery Bat (0x7E) Disappears when battery removed 9 ?? Bus (0xC0) 44 C 41 C 10 ?? PCI (0xC1) 50 C 35 C 11 ?? Pwr (0xC2) -- -- Unused/-known sensor numbers: 6 -- Value N/A 8 -- Value N/A 12-16 -- Value N/A * Sensor names taken from "TPFanControl V0.62 by troubadix" for Windows ** Idle values when running under TPFanControl's "Smart" mode; fan never engages if the machine just sits idle *** Mostly idle values when running in Linux Mint with the machine's firmware-based fan control
CPU freq control
The x60 cpu comes back from suspend running at full speed, a script is needed to fix this. That command should be put in /etc/pm/sleep.d/ as 10_cpufreq or similar name, with execution permissions. Content should look like:
#!/bin/bash
case "$1" in
suspend)
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
;;
esac
You can also make it run on boot time by adding this to /etc/rc.local : sh /etc/pm/sleep.d/10_cpufreq suspend
Other power saving commands:
# disable wake-on-lan on the ethernet ethtool -s eth0 wol d # enable powersave on the sound card echo 1 > /sys/module//snd_hda_intel/parameters/power_save # enable powersaving on sata devices echo min_power > /sys/class/scsi_host/host0/link_power_management_policy echo min_power > /sys/class/scsi_host/host1/link_power_management_policy echo min_power > /sys/class/scsi_host/host2/link_power_management_policy echo min_power > /sys/class/scsi_host/host3/link_power_management_policy # enable powersaving on pci devices for file in $(find /sys/devices/pci* -wholename *power/control); do echo auto > $file done