Difference between revisions of "Thermal Sensors"
m (→Harddisks temperature sensor) |
|||
Line 25: | Line 25: | ||
:{{cmdresult|41}} | :{{cmdresult|41}} | ||
− | ===Harddisks temperature sensor=== | + | ===Harddisks SMART temperature sensor=== |
Finally, the hard disk temperature can be read through the disk's SMART interface: | Finally, the hard disk temperature can be read through the disk's SMART interface: | ||
:{{cmdroot|smartctl -A /dev/hda | grep Temperature}} | :{{cmdroot|smartctl -A /dev/hda | grep Temperature}} |
Revision as of 23:08, 18 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
A value of -128 (i.e., 0x80 hex) means the sensor is not connected. For example, in the first example above the two -128 values belong to the UltraBay battery, which is not plugged in).
HDAPS temperature sensor
The Active Protection System accelerometer also reports a temperature, which is identical to one of the ACPI sensors. The corresponding sensor is actually not inside the HDAPS chip, but fairly close.
# cat /sys/bus/platform/drivers/hdaps/hdaps/temp1
41
Harddisks SMART 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.
- The "Sensors" builtin of gkrellm can show 6 specific ACPI sensors (out of up to 11).
- CPU Info is a KDE applet that can display the 8 first ACPI sensors as well as the HDAPS sensor. Limited to showing one sensor at a time.
- IBMDoK, another KDE applet. Shows 4 specific sensors (out of up to 11). 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 System battery (front left = charging circuit) 0x7D 6 UltraBay battery? 0x7E 7 System battery (rear right) 0x7F 8 UltraBay battery? 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.