Thermal Lockup

From: Scot Hetzel <swhetzel_at_gmail.com>
Date: Wed, 19 Dec 2007 14:54:30 -0600
I had been noticing a problem with my HP Pavillion dv8135nr laptop
locking up everytime I would try to compile a large project
(buildworld, buildkernel, large port build (kde)).  The laptop would
freeze to the point where it didn't respond to any keypresses.

My current solution is to place the laptop so that the air intake on
the bottom of the laptop is exposed, and then use a fan to blow
additional air through the air intake.  This allowed compile to
finish.

I believe this problem first occurred after the switch to GCC 4.2, as
I didn't have any problem when 7.0-CURRENT was still compiling with
GCC 3.x.

# uname -a
FreeBSD hp010.hetzel.org 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Dec
19 03:13:13 CST 2007
root_at_hp010.hetzel.org:/usr/src/8x/sys/amd64/compile/DV8135NR  amd64

One thing I have noticed is that ACPI isn't able to determine the
temperature for this system:

# sysctl hw.acpi.thermal
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 0
hw.acpi.thermal.tz0.temperature: 0.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 90.0C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 94.0C
hw.acpi.thermal.tz0._ACx: 40.0C -1 -1 -1 -1 -1 -1 -1 -1 -1

Sometimes when the system boots hw.acpi.thermal.tz0._CRT is set to -1.
 But hw.acpi.thermal.tz0._HOT is always -1.

I installed the sysutils/k8temp utility, and it is able to read the
temperature from the processor.

# k8temp -d
CPUID: Vendor: AuthenticAMD, Id=0x20f42 Model=4 Family=15 Stepping=2
Advanced Power Management=0x3f
   Temperature sensor: Yes
 Frequency ID control: Yes
   Voltage ID control: Yes
    THERMTRIP support: Yes
   HW Thermal control: Yes
   SW Thermal control: Yes
   100MHz multipliers: No
   HW P-State control: No
        TSC Invariant: No
Thermtrip=0x00000b24 (CurTmp=0x00 (-49c) TjOffset=0x00 DiodeOffset=0x0b (0c))
Thermtrip=0x006d0b20 (CurTmp=0x6d (60c) TjOffset=0x00 DiodeOffset=0x0b (0c))
CPU 0 Core 1 Sensor 0: 60c


I ran the following script during a buildkernel:

#!/bin/sh

while true ; do
        date
        echo "-sysctl--------------------"
        sysctl -a hw.acpi.thermal
        echo "-k8temp--------------------"
        /usr/local/sbin/k8temp -d 2>&1
        echo "==========================="
        sync ; sleep 30
done

What it showed is that the values didn't change in hw.acpi.thermal,
while k8temp showed that the temperature would peak to 90c and then
the system would lockup.  The only way out of the lockup was to reboot
the computer.

Attached are the kernel config file (DV8135NR), dmesg, and /boot/loader.conf .

Is there something that needs to change in the kernel config or
/boot/loader.conf files that would allow ACPI to report the
temperatures on this system?

The problem with the Thermal lockups may be related to the recent posts:

Dust out your Heat syncs!
CURRENT Kernel makes the system run very very hot

Scot

Received on Wed Dec 19 2007 - 19:54:32 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:24 UTC