Difference between revisions of "Thermal Sensors"
(→Utilities for viewing temperatures) |
(→Utilities for viewing temperatures) |
||
Line 38: | Line 38: | ||
* The above shell commands. | * The above shell commands. | ||
* [http://www.kde-look.org/content/show.php?content=33257 CPU Info] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor. | * [http://www.kde-look.org/content/show.php?content=33257 CPU Info] is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor. | ||
+ | * [http://www.kraus.tk/projects/IBMDoK/ IBMDoK], another KDE applet, so far only tested at the T60 | ||
==Sensor locations== | ==Sensor locations== |
Revision as of 20:18, 5 July 2006
This page aims to summarize known information about the locations and properties of thermal sensors on ThinkPad laptops. |
Accessing the sensors
ACPI system temperature sensors
The primary means of accessing the thermal sensors is through the ibm-acpi module, which provides up to 11 thermal sensors (some of which may be inactive) when loaded with the experimental=1 option. Up to eight thermal sensors are exposed at /proc/acpi/ibm/thermal:
# cat /proc/acpi/ibm/thermal
temperatures: 44 41 33 42 33 -128 30 -128
On some models there are three extra sensors at Embedded Controller offsets 0xC0 to 0xC2, which can be read by parsing /proc/acpi/ibm/ecdump:
# perl -ne 'm/^EC 0xc0: .(..) .(..) .(..) / or next; print hex($1)." ".hex($2)." ".hex($3)."\n"' < /proc/acpi/ibm/ecdump
40 48 43
Future models might be additional extra sensors beyond those three. To see all candidates:
# perl -ne 'print join(" ",map(hex,m/\w+/g))."\n" if s/^EC 0xc0://' < /proc/acpi/ibm/ecdump
40 48 43 128 128 128 128 128 0 0 0 0 0 0 0 0
HDAPS temperature sensor
The Active Protection System accelerometer also reports a temperature (but it is not certain that the sensor location is inside the HDAPS chip):
# cat /sys/bus/platform/drivers/hdaps/hdaps/temp1
41
Harddisks temperature sensor
Finally, the hard disk temperature can be read through the disk's SMART interface:
# smartctl -A /dev/hda
194 Temperature_Celsius 0x0022 145 097 000 Old_age Always - 31
Or, for SATA-equipped models running a recent Linux kernel (see Problems with SATA and Linux):
# smartctl -A -d ata /dev/sda
194 Temperature_Celsius 0x0022 145 097 000 Old_age Always - 31
Utilities for viewing temperatures
The following utilities display the ThinkPad-specific thermal sensor readouts:
- The above shell commands.
- CPU Info is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor.
- IBMDoK, another KDE applet, so far only tested at the T60
Sensor locations
This information is model specific.
ThinkPad R51
The ibm-acpi documentation includes the report by Thomas Gruber:
EC offset Index in "thermal" Location (estimated) 0x78 1 CPU 0x79 2 Mini-PCI 0x7A 3 HDD 0x7B 4 GPU 0x7C 5 Battery (main) 0x7D 6 Battery (device bay) 0x7E 7 Battery (main) 0x7F 8 Battery (device bay) 0xC0 none ? 0xC1 none ? 0xC2 none ?
ThinkPad T40
The location of one of the sensors is identified here.
EC offset Index in "thermal" Location (estimated) 0x78 1 CPU 0x79 2 System board under rear left corner of Mini-PCI module 0x7A 3 ? 0x7B 4 GPU 0x7C 5 Battery 0x7D 6 n/a 0x7E 7 Battery 0x7F 8 n/a 0xC0 none n/a 0xC1 none n/a 0xC2 none n/a
ThinkPad T43, T43p
Found by Shmidoax using cooling spray to cool down components and observe the effect on the sensors.
EC offset Index in "thermal" Location (estimated) 0x78 1 CPU 0x79 2 Between PCMCIA slot and CPU (same as HDAPS module) 0x7A 3 PCMCIA slot 0x7B 4 GPU 0x7C 5 Battery (front left) 0x7D 6 n/a 0x7E 7 Battery (rear right) 0x7F 8 n/a 0xC0 none Bus between Northbridge and DRAM 0xC1 none Southbridge (under Mini-PCI card, under touchpad) 0xC2 none Power circuitry, on underside of system board under F2 key
Photos (click to see full size) |
ThinkPad T60
Found by Marco Kraus for use in IBMDok.
EC offset Index in "thermal" Location (estimated) 0x78 1 CPU 0 0x79 2 HDD 0x7A 3 HDD 0x7B 4 GPU 0x7C 5 Battery 0x7D 6 n/a 0x7E 7 Battery 0x7F 8 n/a 0xC0 none ? 0xC1 none ? 0xC2 none ?
The CPU thermal sensors seem to be exposed in both /proc/acpi/thermal_zone/THM0/temperature and /proc/acpi/thermal_zone/THM1/temperature, though the latter curiously seems to exist only in this file and nowhere in /proc/acpi/ibm/ecdump.