high cpu temp and fan speed problem

Ian Smith smithi at nimnet.asn.au
Mon May 10 07:23:12 UTC 2010


On Sun, 9 May 2010, Nathan BIAGINI wrote:
 > 2010/5/9 Ian Smith <smithi at nimnet.asn.au>
 > > On Sun, 9 May 2010, Nathan BIAGINI wrote:
 > >  > 2010/5/9 Ian Smith <smithi at nimnet.asn.au>
 > >  >
 > >  > > On Sun, 9 May 2010, Nathan BIAGINI wrote:
 > >  > >  > Hi,
 > >  > >  >
 > >  > >  > i bought a hp pavilion dv6-1123ef laptop and i've installed FreeBSD
 > > 8.0
 > >  > > on
 > >  > >  > it. Everything work except one think : i can't do high-cpu task.
 > > The
 > >  > > problem
 > >  > >  > is when i run a high-cpu task (no very high in fact), my cpu
 > > temperature
 > >  > > can
 > >  > >  > increase to 90°C and when it's the case, system go down. Further, i
 > >  > > heard
 > >  > >  > the fans are running. When i work on windows (short time), i never
 > > had
 > >  > > this
 > >  > >  > kind of problem so i think is may be a kernel config problem.
[.. trimming a bit]
 > >  > > Sounds perhaps similar to some recent issues, but first we need to
 > > know
 > >  > > more about your laptop .. please show output of:
 > >  > >
 > >  > > % sysctl hw.acpi
 > >  > > % sysctl dev.cpu
 > >  > > % grep -i acpi /var/run/dmesg.boot
 > >
 > > Sorry, my 8.0 laptop is memtesting new RAM today so I didn't check that.
 > > Still need to know what make/model CPU it has, and what cpufreq drivers
 > > it uses .. can you post the whole dmesg.boot ? (just plain, not verbose)
[..]
 > > Ok.  If things aren't too big they're perhaps better posted inline, so
 > > I'll quote a few bits that look a bit strange regarding temperatures:
 > >
 > >  > acpi_tz0: _CRT value is absurd, ignored (-273.2C)
 > > ..
 > >  > hw.acpi.thermal.min_runtime: 0
 > >  > hw.acpi.thermal.polling_rate: 10
 > >  > hw.acpi.thermal.user_override: 0
 > >  > hw.acpi.thermal.tz0.temperature: 56.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: 135.0C        <<<---
 > >  > hw.acpi.thermal.tz0._HOT: 90.0C         <<<---
 > >  > hw.acpi.thermal.tz0._CRT: -1            <<<---
 > >  > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 > >  > hw.acpi.thermal.tz0._TC1: 2
 > >  > hw.acpi.thermal.tz0._TC2: 5
 > >  > hw.acpi.thermal.tz0._TSP: 50
 > >  > hw.acpi.cpu.cx_lowest: C1
 > >
 > > The _PSV (passive cooling) temp is 'absurd' also; it certainly should be
 > > lower than _HOT - which looks possibly right at 90C - and _CRT (critical
 > > shutdown) definitely should be there, probably <= 100C.
 > >
 > > Is it running the latest available BIOS update?
 > >
 > >  > dev.cpu.0.freq: 250
 > >  > dev.cpu.0.freq_levels: 2000/35000 1750/30625 1500/26250 1250/21875
 > >  >  1000/17500 750/13125 500/8750 250/4375
 > >  > dev.cpu.0.cx_supported: C1/1 C2/57
 > >  > dev.cpu.0.cx_lowest: C1
 > >
 > > Maybe more about these after seeing your dmesg.boot ..
 > >
 > > cheers, Ian
 > >
 > 
 > Ok, so. I tried to understand.
 > 
 > The whole dmesg.boot file : http://pastebin.com/U4p8Y8Pi (inline ,))

Thanks.  By 'inline' I meant you could have included it in your message, 
but that's ok.  Here are the bits I was really interested to know:

=======
FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:48:17 UTC 2009
    root at almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC

[ is this i386 or amd64?  Either will run on this machine, and I find it 
a bit annoying that the above line never tells .. 'uname -a' will ]

CPU: Intel(R) Core(TM)2 Duo CPU     T5800  @ 2.00GHz (1995.24-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6fd  Stepping = 13
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,
  CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0xe39d<SSE3,DTES64,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 3221225472 (3072 MB)
avail memory = 3143438336 (2997 MB)
ACPI APIC Table: <HPQOEM SLIC-MPC>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1

[ aside: does anyone know what 'TSC: P-state invariant' means? ]

acpi_tz0: <Thermal Zone> on acpi0
acpi_tz0: _CRT value is absurd, ignored (-273.2C)
atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
atrtc0: Warning: Couldn't map I/O.

[ not sure if that atrtc0: Warning is significant? ]

cpu0: <ACPI CPU> on acpi0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
=======

Right, it's a Core2 Duo at 2GHz, using est (absolute) frequency control, 
and p4tcc (relative) frequency thermal control.  See cpufreq(4) ie 'man 
cpufreq'.  This combination seems to be a problem for these in some 
recent machines.  While at 250MHz it should be using only 4.375 watts, 
that doesn't seem to be working right on these, and you may be better 
off (regarding heat) using the fewer frequencies provided just by est.

=======
dev.cpu.0.freq: 250
dev.cpu.0.freq_levels: 2000/35000 1750/30625 1500/26250 1250/21875 
1000/17500 750/13125 500/8750 250/4375
dev.cpu.0.cx_supported: C1/1 C2/57
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% last 500us
=======

So, cpufreq seems only to be seeing your 2000 frequency, and each of 
these other frequencies are 7/8, 6/8 .. 1/8 of 2000MHz, generated by 
p4tcc, which seems odd, unless 1000 is a 'real' supported frequency?

Please try adding the following lines to your /boot/loader.conf and 
rebooting, then paste what 'sysctl dev.cpu' says after that?  Also check 
if just doing this makes any difference to your overheating issue, as it 
has for some people.

hint.p4tcc.0.disable="1"
hint.acpi_throttle.0.disable="1"
hint.p4tcc.1.disable="1"
hint.acpi_throttle.1.disable="1"

You need both pairs; if you just disable p4tcc, acpi_throttle would 
attach and provide those same frequencies, so would be no advantage.

You may also find 'Fighting for the power' by Alexander Motin useful, in 
particular enabling your available C2 state to reduce idle power use:

http://lists.freebsd.org/pipermail/freebsd-current/2009-May/006436.html

 > I don't really know if i have the last available BIOS version, i never
 > upgrade it manually...

If you boot into your BIOS setup, what BIOS version does it show?

According to the HP website for your model, there's only a BIOS update 
for models running AMD processors, none mentioned for the Intel ones 
- and even then, of course, only for various versions of Windows.

http://h10061.www1.hp.com/ccsearch/search?method=mainQuery&qry=BIOS&pname=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC&ptype=consumer&stype=pn&spname=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC&spid=3949647&productBigSeriesOid=3837240&pid=3949646&temp_hql=s-001%2Cs-002%2Cs-004%2Cs-003%2Cs-007%2Cs-017%2Cz-001&product_line_code=KV&lang=en&ctry=nl&dlc=nl&mode=fb&uqry=&pname_desc=HP+Pavilion+dv6-1123ef+Entertainment+Notebook+PC
 and
http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01056794&cc=nl&lc=en&dlc=nl&product=3949647

If you are running the latest BIOS, which seems likely, then you might
need to modify your ASL, in which case pay very good attention to what 
Alexandre says about that; he can very likely help if you are prepared 
to experiment a bit.

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/acpi-debug.html

(but no need to bother the freebsd-acpi list with this, not yet anyway)

 > Now, i read the acpi man page and i don't see anything concerning
 > hw.acpi.tz0.temperature, it is a sysctl option?

See acpi_thermal(4)

 > _HOT should be set to 90°C and _PSV should be set to a less value than _HOT?
 > and _CRT to a greater value? 100°C. I understand there is a problem with
 > this values but i don't understand how i have to set them.

You can adjust _PSV, but not _HOT nor _CRT, unless you modify the ASL.

Of course, Julian's advice about making sure there's no dust or fluff 
etc blocking your fan airways and heatsink is good too; spending a can 
of compressed air has helped people where that has been an issue.

cheers, Ian


More information about the freebsd-mobile mailing list