On Thu, Jun 16, 2011 at 3:33 PM, Michal Mazurek <akf...@jasminek.net> wrote: > After moving my old laptop around I got home, booted it and got a very > distressing message: > > messages.2.gz:Jun 14 22:40:09 hopek /bsd: acpitz2: Critical temperature > 4938C (52112K), shutting down > > Perhaps some dust moved around, or a cable disconnected. > Unfortunately, the system shut down before it booted. I booted bsd.rd, > read some manpages and booted with -c 'disable acpitz' - everything > worked fine. I attach a diff to only shutdown if the temperature is > below 2000C. If it's above then it's too late to shut down anyway :) > > BTW, for no apparent reason my laptop started working fine again. > > > Index: acpitz.c > =================================================================== > RCS file: /cvs/src/sys/dev/acpi/acpitz.c,v > retrieving revision 1.43 > diff -u -r1.43 acpitz.c > --- acpitz.c 15 Jun 2011 00:15:54 -0000 1.43 > +++ acpitz.c 16 Jun 2011 15:09:14 -0000 > @@ -326,11 +326,17 @@ > } > /* critical trip points */ > if (sc->sc_crt != -1 && sc->sc_crt <= sc->sc_tmp) { > - /* do critical shutdown */ > - printf("%s: critical temperature exceeded %dC (%dK), shutting " > - "down\n", > - DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); > - psignal(initproc, SIGUSR2); > + if (KTOC(sc->sc_tmp) > 2000) { > + printf("%s: absurdly high temperature %dC (%dK), " > + "doing nothing\n", > + DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); > + } else { > + /* do critical shutdown */ > + printf("%s: critical temperature exceeded %dC (%dK), " > + "shutting down\n", > + DEVNAME(sc), KTOC(sc->sc_tmp), sc->sc_tmp); > + psignal(initproc, SIGUSR2); > + } > } > if (sc->sc_hot != -1 && sc->sc_hot <= sc->sc_tmp) { > printf("%s: _HOT temperature\n", DEVNAME(sc)); > > -- > Michal Mazurek > >
I had noticed the following behaviour (maybe related or maybe not) in my laptop: - When the batt goes low the system shutdown with the same message. The temp is always (not 100% sure) 110C. This is 100% reproducible (every time batt goes low --> system shutdown). I was trying to figure myself what is happening to introduce myself to kernel code but if someone want to test something I'll glad to help. Regards