Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Apr 2006 13:29:36 -0700 (MST)
From:      George Wood <gwood@woodsite.net>
To:        freebsd-acpi@freebsd.org
Subject:   acpi thermal problem 'fix' (fwd)
Message-ID:  <20060405123021.S37871-200000@celery.georgewood.net>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-1338244034-1143837245=:1471
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; FORMAT=flowed
Content-ID: <20060331133542.C1494@new.azma.local>


my pc shuts down when cpu temp exceeds 60 C.

since 'hw.acpi.thermal.tz0._CRT' is read only,  I can't reset
the value there.

The advice below, edit & recompile a dumped ASL, doesn't work for
me because the ASL will not compile.

Do I have any alternative other than completely disabling acpi?

George Wood

I found a discussion of this online where Nate Lawson said this advice
was correct:

Date:      Thu, 23 Jun 2005 14:25:17 -0700
From:      Nate Lawson <nate@root.org>
Subject:   Re: Changing temperature threshold
(trimmed, full message attached)

Alexandre "Sunny" Kovalenko wrote:
>>When I try to raise hw.acpi.thermal.tz0._CRT to 85C (which is the
>>threshold in the BIOS setup) it doesn't work:
>>
>>bell# sysctl hw.acpi.thermal.tz0._CRT=3580  # 3580 tenths of
Kelvin=85C
>>sysctl: oid 'hw.acpi.thermal.tz0._CRT' is read only
...
> One of the ways to deal with that would be to dump your ASL (see
> Handbook for guidance), find lines which look like:
>                         Method (_CRT, 0, NotSerialized)
>                         {
>                             Return (KELV (0x5d))
>                         }
> modify them to your liking, compile ASL and override it during boot
> (instructions on how to compile and override are in Handbook as well).
> Please, note that actual value returned is in the 1/10th of the degree
> of Kelvin. Function KELV above has following ASL code associated with
> it:
>                         Method (KELV, 1, NotSerialized)
>                         {
>                             Store (Arg0, Local1)
>                             Multiply (0x0A, Local1, Local1)
>                             Add (Local1, 0x0AAC, Local1)
>                             Return (Local1)
>                         }
> Thermal management chapter of the ACPI specification should provide you
> with ample explanation of what this is all about.

So I did as suggested, dumped th asl and looked for the _CRT method;
(the full .asl file is attached). Here's what I found:

             Method (_CRT, 0, NotSerialized)
             {
                 Return (TRPC)
             }


the only reference I found to TRPC was:

DefinitionBlock ("DSDT.aml", "DSDT", 1, "KT400 ", "AWRDACPI", 4096)
{
...
     OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)
     Field (TEMM, WordAcc, NoLock, Preserve)
     {
         TP1H,   16,
         TP1L,   16,
         TP2H,   16,
         TP2L,   16,
         TRPC,   16,
         SENF,   16
     }
...
}

so I figured I'd just hard code a corrected temperature into the
_CRT method, recompile the asl and override (per the handbook).

Before modifying the .asl, I decided to compile the dumped .asl so
I'd know what the 'normal' warnings were.  Sadly, the compiler
dumped a pile of errors:

---------------- begin compiler output --------------

Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20041119 [Nov  3 2005]
Copyright (C) 2000 - 2004 Intel Corporation
Supports ACPI Specification Revision 2.0c

acpidump.asl   427:     Method (\_WAK, 1, NotSerialized)
Warning  2026 -                     ^ Reserved method must return a value (_WAK)

acpidump.asl   470:             Store (Local0, Local0)
Error    1013 -                             ^ Method local variable is not initialized (Local0)

acpidump.asl   478:             Store (Local0, Local0)
Error    1013 -                             ^ Method local variable is not initialized (Local0)

acpidump.asl  2133:                 Method (STM, 0, Serialized)
Warning  2019 -                               ^ Not all control paths return a value (STM_)

acpidump.asl  3836:                     Store (Local0, Local0)
Error    1013 -                                     ^ Method local variable is not initialized (Local0)

ASL Input:  acpidump.asl - 4331 lines, 128623 bytes, 1697 keywords
Compilation complete. 3 Errors, 2 Warnings, 0 Remarks, 508 Optimizations

---------------- end of compiler output --------------

per your note, warnings might be ok but errors are going to
make things barf. I'm not attaching the full ASL file due to
its size, but I'll be happy to mail it to anyone interested.
I previously sent it to Nate.

Now what?

--0-1338244034-1143837245=:1471
Content-Type: TEXT/PLAIN; CHARSET=X-UNKNOWN; NAME="acpi-email.txt"
Content-Transfer-Encoding: BASE64
Content-ID: <20060331133405.O1471@new.azma.local>
Content-Description: email suggesting fix for acpi thermal problem
Content-Disposition: ATTACHMENT; FILENAME="acpi-email.txt"

DQpTa2lwIHNpdGUgbmF2aWdhdGlvbiAoMSlTa2lwIHNlY3Rpb24gbmF2aWdh
dGlvbiAoMikNCkhlYWRlciBBbmQgTG9nbw0KRnJlZUJTRA0KUGVyaXBoZXJh
bCBMaW5rcw0KDQogICAgKiBUZXh0IFNpemU6IE5vcm1hbCAvIExhcmdlDQog
ICAgKiBEb25hdGUNCiAgICAqIENvbnRhY3QNCg0KU2VhcmNoDQogDQpTaXRl
IE5hdmlnYXRpb24NCg0KICAgICogSG9tZQ0KICAgICogQWJvdXQNCiAgICAq
IEdldCBGcmVlQlNEDQogICAgKiBEb2N1bWVudGF0aW9uDQogICAgKiBDb21t
dW5pdHkNCiAgICAqIERldmVsb3BlcnMNCiAgICAqIFN1cHBvcnQNCg0KRGF0
ZTogICAgICBUaHUsIDIzIEp1biAyMDA1IDE0OjI1OjE3IC0wNzAwDQpGcm9t
OiAgICAgIE5hdGUgTGF3c29uIDxuYXRlQHJvb3Qub3JnPg0KVG86ICAgICAg
ICAiQWxleGFuZHJlIFwiU3VubnlcIiBLb3ZhbGVua28iIDxBbGV4LktvdmFs
ZW5rb0B2ZXJpem9uLm5ldD4NCkNjOiAgICAgICAgZnJlZWJzZC1hY3BpQGZy
ZWVic2Qub3JnLCBNYXR0aGV3IEZsYW5hZ2FuIDxmbGFuYWdhbi5tYXR0QGdt
YWlsLmNvbT4NClN1YmplY3Q6ICAgUmU6IENoYW5naW5nIHRlbXBlcmF0dXJl
IHRocmVzaG9sZA0KTWVzc2FnZS1JRDogIDw0MkJCMjhCRC41MDgwMjAyQHJv
b3Qub3JnPg0KSW4tUmVwbHktVG86IDwxMTMwNDI2NTE2Ljc3Ny43LmNhbWVs
QFJhYmJpdHNEZW4+DQpSZWZlcmVuY2VzOiAgPDdjZDA2YTJkMDUwNjIyMDUz
MzFkMDMzNzJjQG1haWwuZ21haWwuY29tPgk8N2NkMDZhMmQwNTA2MjMwNzM0
NTJlM2MzZjlAbWFpbC5nbWFpbC5jb20+IDwxMTMwNDI2NTE2Ljc3Ny43LmNh
bWVsQFJhYmJpdHNEZW4+DQoNCk5leHQgaW4gdGhyZWFkIHwgUHJldmlvdXMg
aW4gdGhyZWFkIHwgUmF3IEUtTWFpbCB8IEluZGV4IHwgQXJjaGl2ZSB8IEhl
bHANCg0KQWxleGFuZHJlICJTdW5ueSIgS292YWxlbmtvIHdyb3RlOg0KPj5X
aGVuIEkgdHJ5IHRvIHJhaXNlIGh3LmFjcGkudGhlcm1hbC50ejAuX0NSVCB0
byA4NUMgKHdoaWNoIGlzIHRoZSANCj4+dGhyZXNob2xkIGluIHRoZSBCSU9T
IHNldHVwKSBpdCBkb2Vzbid0IHdvcms6DQo+Pg0KPj5iZWxsIyBzeXNjdGwg
aHcuYWNwaS50aGVybWFsLnR6MC5fQ1JUPTM1ODAgICMgMzU4MCB0ZW50aHMg
b2YgS2VsdmluPTg1Qw0KPj5zeXNjdGw6IG9pZCAnaHcuYWNwaS50aGVybWFs
LnR6MC5fQ1JUJyBpcyByZWFkIG9ubHkNCj4+DQo+Pk5vdywgbXkgcXVlc3Rp
b24gaXM6IGhvdyBkbyBJIGNoYW5nZSB0aGlzIHZhbHVlPyBJJ3ZlIHJlYWQg
c2V2ZXJhbA0KPj5tYW5wYWdlcyAoYWNwaSg0KSwgYWNwaV90aGVybWFsKDQp
LCBhY3BpY29uZig4KSwgbG9hZGVyKDgpLCBhbmQgbWFueQ0KPj5vdGhlcnMp
IGFuZCBjaGVja2VkIHRoZSBoYW5kYm9vaywgdG8gbm8gYXZhaWwuIENhbiBh
bnlvbmUgcG9pbnQgbWUNCj4+dG8gdGhlIHJpZ2h0IGRpcmVjdGlvbj8NCj4g
DQo+IE9uZSBvZiB0aGUgd2F5cyB0byBkZWFsIHdpdGggdGhhdCB3b3VsZCBi
ZSB0byBkdW1wIHlvdXIgQVNMIChzZWUNCj4gSGFuZGJvb2sgZm9yIGd1aWRh
bmNlKSwgZmluZCBsaW5lcyB3aGljaCBsb29rIGxpa2U6DQo+ICAgICAgICAg
ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSVCwgMCwgTm90U2VyaWFsaXpl
ZCkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgew0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUmV0dXJuIChLRUxWICgweDVkKSkNCj4gICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KPiBtb2RpZnkgdGhlbSB0byB5b3Vy
IGxpa2luZywgY29tcGlsZSBBU0wgYW5kIG92ZXJyaWRlIGl0IGR1cmluZyBi
b290DQo+IChpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbXBpbGUgYW5kIG92
ZXJyaWRlIGFyZSBpbiBIYW5kYm9vayBhcyB3ZWxsKS4NCj4gUGxlYXNlLCBu
b3RlIHRoYXQgYWN0dWFsIHZhbHVlIHJldHVybmVkIGlzIGluIHRoZSAxLzEw
dGggb2YgdGhlIGRlZ3JlZQ0KPiBvZiBLZWx2aW4uIEZ1bmN0aW9uIEtFTFYg
YWJvdmUgaGFzIGZvbGxvd2luZyBBU0wgY29kZSBhc3NvY2lhdGVkIHdpdGgN
Cj4gaXQ6DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoS0VM
ViwgMSwgTm90U2VyaWFsaXplZCkNCj4gICAgICAgICAgICAgICAgICAgICAg
ICAgew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy
ZzAsIExvY2FsMSkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11
bHRpcGx5ICgweDBBLCBMb2NhbDEsIExvY2FsMSkNCj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEFkZCAoTG9jYWwxLCAweDBBQUMsIExvY2FsMSkN
Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwx
KQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+IFRoZXJtYWwgbWFu
YWdlbWVudCBjaGFwdGVyIG9mIHRoZSBBQ1BJIHNwZWNpZmljYXRpb24gc2hv
dWxkIHByb3ZpZGUgeW91DQo+IHdpdGggYW1wbGUgZXhwbGFuYXRpb24gb2Yg
d2hhdCB0aGlzIGlzIGFsbCBhYm91dC4NCg0KVGhpcyBleHBsYW5hdGlvbiBp
cyBjb3JyZWN0LiAgVGhlIHJlYXNvbiB3aHkgdGhlIHN5c2N0bCBpcyByZWFk
LW9ubHkgaXMgDQpiZWNhdXNlIHRoZSB2YWx1ZXMgYXJlIHN1cHBsaWVkIGJ5
IHRoZSBCSU9TIGFuZCBhcmUgd2hhdCB0aGUgT0VNIHRoaW5rcyANCmFyZSBj
cml0aWNhbCB0ZW1wZXJhdHVyZXMuICBIb3dldmVyLCB3ZSBuZWVkIGEgd2F5
IHRvIGFsbG93IG92ZXJyaWRlIGluIA0KdGhlIGNhc2Ugb2Ygb2J2aW91c2x5
IHdyb25nIHZhbHVlcyBsaWtlIHRoaXMuICBJJ2xsIHByb2JhYmx5IGNoYW5n
ZSBpdCANCnRvIGFsbG93IG92ZXJyaWRpbmcgZnJvbSB0aGUgbG9hZGVyIGJ1
dCBiZSByZWFkLW9ubHkgaW4gc3lzY3RsIHRvIGF2b2lkIA0KYWNjaWRlbnRh
bCBjaGFuZ2VzIGZyb20gdXNlcnMgZXhwZXJpbWVudGluZy4NCg0KLS0gDQpO
YXRlDQoNCg0KDQpXYW50IHRvIGxpbmsgdG8gdGhpcyBtZXNzYWdlPyBVc2Ug
dGhpcyBVUkw6IDxodHRwOi8vZG9jcy5GcmVlQlNELm9yZy9jZ2kvbWlkLmNn
aT80MkJCMjhCRC41MDgwMjAyPg0KTGVnYWwgTm90aWNlcyB8IKkgMTk5NS0y
MDA2IFRoZSBGcmVlQlNEIFByb2plY3QuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
DQp3d3dARnJlZUJTRC5vcmcNCmVybWFsIG1hbmFnZW1lbnQgY2hhcHRlciBv
ZiB0aGUgQUNQSSBzcGVjaWZpY2F0aW9uIHNob3VsZCBwcm92aWRlIHlvdQ0K
PiB3aXRoIGFtcGxlIGV4cGxhbmF0aW9uIG9mIHdoYXQgdGhpcyBpcyBhbGwg
YWJvdXQuDQoNClRoaXMgZXhwbGFuYXRpb24gaXMgY29ycmVjdC4gIFRoZSBy
ZWFzb24gd2h5IHRoZSBzeXNjdGwgaXMgcmVhZC1vbmx5IGlzIA0KYmVjYXVz
ZSB0aGUgdmFsdWVzIGFyZSBzdXBwbGllZCBieSB0aGUgQklPUyBhbmQgYXJl
IHdoYXQgdGhlIE9FTSB0aGlua3MgDQphcmUgY3JpdGljYWwgdGVtcGVyYXR1
cmVzLiAgSG93ZXZlciwgd2UgbmVlZCBhIHdheSB0byBhbGxvdyBvdmVycmlk
ZSBpbiANCnRoZSBjYXNlIG9mIG9idmlvdXNseSB3cm9uZyB2YWx1ZXMgbGlr
ZSB0aGlzLiAgSSdsbCBwcm9iYWJseSBjaGFuZ2UgaXQgDQp0byBhbGxvdyBv
dmVycmlkaW5nIGZyb20gdGhlIGxvYWRlciBidXQgYmUgcmVhZC1vbmx5IGlu
IHN5c2N0bCB0byBhdm9pZCANCmFjY2lkZW50YWwgY2hhbmdlcyBmcm9tIHVz
ZXJzIGV4cGVyaW1lbnRpbmcuDQoNCg==

--0-1338244034-1143837245=:1471--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060405123021.S37871-200000>