AMD64 Cool'n'quiet overheating.

Marcin Koziej creep at desk.pl
Sat Feb 25 12:50:39 PST 2006


Hello. I have a laptop with AMD Athlon 64 Processor 3700+,
I use FreeBSD STABLE (6.1-PRERELEASE) and I have problems with cpu/fan
throttling.

I used acpi_ppc module by Fukada Nobuhiko's and it served me well when
it comes to making the machine cool quickly and shutting down the fan to
make it quiet -- unfortunately, it can only use the fan (no cpufreq),
and the machine was overheating (hitting _CRT) under high load (eg. big
builds), when acpi failed to enter passive cooling.

I tried to use cpufreq based solutions:
   - acpi_cnq module made by Fukada Nabuhiko, but it panic's on kldload 
in both STABLE and CURRENT
   - passive-cooling patch / powered-thermal from 
http://www.imasy.or.jp/~ume/FreeBSD/ and powernow module by Bruno 
Ducrot, which works, but the fan is not strong enough -- not only it is 
almost always on (acpi_ppc was quiet most the time), but it sometimes 
failes to avoid the _CRT temperature, which shutdowns the system -- it 
tries to keep temp under _PSV, but the fan power used is too weak.
Unfortunately, my hw.acpi.thermal looks like this:
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.tz0.temperature: 48.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: 75.0C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 80.0C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz1.temperature: 50.0C
hw.acpi.thermal.tz1.active: -1
hw.acpi.thermal.tz1.passive_cooling: 1
hw.acpi.thermal.tz1.thermal_flags: 0
hw.acpi.thermal.tz1._PSV: 90.0C
hw.acpi.thermal.tz1._HOT: -1
hw.acpi.thermal.tz1._CRT: 97.0C
hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

so there are no ACx levels to set -- I have dumped the asl and tried to 
add _AC0 methods (i'm not sure if it is possible, if they are all -1) 
and _AL0, but there is no FAN defined to put in _AL0 definition.. :(

What can I do? I've searched google, freebsd lists, and even started 
reading the ACPI 2.0 spec, but i just can't make cpufreq version work as 
good as acpi_ppc. (Neither I can make acpi_cnq work - and I don't know 
with what address to add acpi_cnq module symbols in kgdb to get a good 
backtrace -- it panics fails on bad free())


Best regards
Marcin Koziej

P.S. I can provide any information requested --  I don't want to bloat 
this mail with acpidump/dmesg.


More information about the freebsd-acpi mailing list