public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* If your ACPI-enabled machine does clean shutdown randomly...
@ 2003-11-28 14:52 Pavel Machek
       [not found] ` <20031128145249.GA563-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Pavel Machek @ 2003-11-28 14:52 UTC (permalink / raw)
  To: ACPI mailing list, kernel list


...then you probably need this one. (One notebook I have here
certainly needs it).

It seems that acpi likes to report completely bogus value from time to
time...

								Pavel

--- clean/drivers/acpi/thermal.c	2003-07-27 22:31:09.000000000 +0200
+++ linux/drivers/acpi/thermal.c	2003-11-25 22:27:11.000000000 +0100
@@ -456,6 +459,10 @@
 	if (!tz || !tz->trips.critical.flags.valid)
 		return_VALUE(-EINVAL);
 
+	if (KELVIN_TO_CELSIUS(tz->temperature) >= 200) {
+		printk(KERN_ALERT "Are you running CPU or nuclear power plant? ACPI claims CPU temp is %d C. Ignoring.\n", KELVIN_TO_CELSIUS(tz->temperature));
+		return_VALUE(0);
+	}
 	if (tz->temperature >= tz->trips.critical.temperature) {
 		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Critical trip point\n"));
 		tz->trips.critical.flags.enabled = 1;
@@ -467,6 +474,7 @@
 	if (result)
 		return_VALUE(result);
 
+	printk(KERN_EMERG "Critical temperature reached (%d C), shutting down.\n", tz->temperature);
 	acpi_bus_generate_event(device, ACPI_THERMAL_NOTIFY_CRITICAL, tz->trips.critical.flags.enabled);
 
 	acpi_thermal_call_usermode(ACPI_THERMAL_PATH_POWEROFF);

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found] ` <20031128145249.GA563-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
@ 2003-11-28 16:02   ` Damien Sandras
       [not found]     ` <1070035371.1055.13.camel-yzJ1TzNew8IqMp+WYRx65w@public.gmane.org>
  2003-12-01  9:51   ` Gerfried Maier
  1 sibling, 1 reply; 8+ messages in thread
From: Damien Sandras @ 2003-11-28 16:02 UTC (permalink / raw)
  To: Pavel Machek; +Cc: ACPI mailing list, kernel list

Le ven 28/11/2003 à 15:52, Pavel Machek a écrit :
> ...then you probably need this one. (One notebook I have here
> certainly needs it).
> 
> It seems that acpi likes to report completely bogus value from time to
> time...
> 

The problem with that patch is that it is filling the logs, but it is
certainly better than shutting the machine down without warning. I had
that problem and it took me a few minutes to figure out that it was
ACPI.

However, I didn't have that problem with kernel 2.6.0 test 9, it
appeared with 2.6.0 test 10 and test 11. I have mailed the list to see
if there was no patch I could reverse to determine where the problem
was, but I got no reaction, so I guess I will have to live with it ;)


> 								Pavel
> 
> --- clean/drivers/acpi/thermal.c	2003-07-27 22:31:09.000000000 +0200
> +++ linux/drivers/acpi/thermal.c	2003-11-25 22:27:11.000000000 +0100
> @@ -456,6 +459,10 @@
>  	if (!tz || !tz->trips.critical.flags.valid)
>  		return_VALUE(-EINVAL);
>  
> +	if (KELVIN_TO_CELSIUS(tz->temperature) >= 200) {
> +		printk(KERN_ALERT "Are you running CPU or nuclear power plant? ACPI claims CPU temp is %d C. Ignoring.\n", KELVIN_TO_CELSIUS(tz->temperature));
> +		return_VALUE(0);
> +	}
>  	if (tz->temperature >= tz->trips.critical.temperature) {
>  		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Critical trip point\n"));
>  		tz->trips.critical.flags.enabled = 1;
> @@ -467,6 +474,7 @@
>  	if (result)
>  		return_VALUE(result);
>  
> +	printk(KERN_EMERG "Critical temperature reached (%d C), shutting down.\n", tz->temperature);
>  	acpi_bus_generate_event(device, ACPI_THERMAL_NOTIFY_CRITICAL, tz->trips.critical.flags.enabled);
>  
>  	acpi_thermal_call_usermode(ACPI_THERMAL_PATH_POWEROFF);
-- 
Damien Sandras <dsandras-AvcYnRpcIedBDgjK7y7TUQ@public.gmane.org>



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found]     ` <1070035371.1055.13.camel-yzJ1TzNew8IqMp+WYRx65w@public.gmane.org>
@ 2003-11-28 16:10       ` Pavel Machek
  0 siblings, 0 replies; 8+ messages in thread
From: Pavel Machek @ 2003-11-28 16:10 UTC (permalink / raw)
  To: Damien Sandras; +Cc: ACPI mailing list, kernel list

Hi!

> > ...then you probably need this one. (One notebook I have here
> > certainly needs it).
> > 
> > It seems that acpi likes to report completely bogus value from time to
> > time...
> > 
> 
> The problem with that patch is that it is filling the logs, but it is
> certainly better than shutting the machine down without warning. I had
> that problem and it took me a few minutes to figure out that it was
> ACPI.

I'm not pushing this patch for inclusion, only its second part.

> However, I didn't have that problem with kernel 2.6.0 test 9, it
> appeared with 2.6.0 test 10 and test 11. I have mailed the list to see
> if there was no patch I could reverse to determine where the problem
> was, but I got no reaction, so I guess I will have to live with it ;)

I have this on rather strange hw, so my tests do not count :-(.

								Pavel

-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found] ` <20031128145249.GA563-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
  2003-11-28 16:02   ` Damien Sandras
@ 2003-12-01  9:51   ` Gerfried Maier
       [not found]     ` <3FCB0F13.7010908-ArvQUR6U0fYD0fefG/KofA@public.gmane.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Gerfried Maier @ 2003-12-01  9:51 UTC (permalink / raw)
  To: Pavel Machek; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

[-- Attachment #1: Type: text/plain, Size: 3535 bytes --]

Pavel Machek wrote:
> ...then you probably need this one. (One notebook I have here
> certainly needs it).
> 
> It seems that acpi likes to report completely bogus value from time to
> time...

As you perhapps remember, I reported a similar problem with my Acer TM 
630 some time ago.

I was now able to log such a shutdown with temperature-printouts at the 
important places.

When reading the log, I can state two things:
* The temp-value causing the shutdown is definitly bogus, as the entries 
before and after the trip-causing check are far below that value but 
occuring at nearly the same time.
* Unfortunately the value is not as ingredible as your 200C, so 
distingushing between a bogus and a non-bogus value is not that simple.

I attached a cut from the syslog.

Regards,
Maier Gerfried


PS:
I archieved the temperature-printouts by adding some lines (marked with 
^^^^^^^) to thermal.c (2.4.22-version):


static int
acpi_thermal_critical (
	struct acpi_thermal	*tz)
{
	int			result = 0;
	struct acpi_device	*device = NULL;

	ACPI_FUNCTION_TRACE("acpi_thermal_critical");

	if (!tz || !tz->trips.critical.flags.valid)
		return_VALUE(-EINVAL);

	if (tz->temperature >= tz->trips.critical.temperature) {
		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Critical trip point\n"));
		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Trip-Point: %lu, Temperature: %lu\n", 
  tz->trips.critical.temperature, tz->temperature));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

		tz->trips.critical.flags.enabled = 1;
	}
	else if (tz->trips.critical.flags.enabled)
		tz->trips.critical.flags.enabled = 0;


	result = acpi_bus_get_device(tz->handle, &device);
	if (result)
		return_VALUE(result);

	acpi_bus_generate_event(device, ACPI_THERMAL_NOTIFY_CRITICAL, 
tz->trips.critical.flags.enabled);
	
	acpi_thermal_call_usermode("/bin/logger ACPI poweroff");
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Unfortunately, this line does not generate the log-enty I expect it
# to.

	acpi_thermal_call_usermode(ACPI_THERMAL_PATH_POWEROFF);

	return_VALUE(0);
}






static void
acpi_thermal_check (
	void                    *data)
{
	int			result = 0;
	struct acpi_thermal	*tz = (struct acpi_thermal *) data;
	unsigned long		sleep_time = 0;
	int			i = 0;
	struct acpi_thermal_state state = tz->state;

	ACPI_FUNCTION_TRACE("acpi_thermal_check");

	if (!tz) {
		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid (NULL) context.\n"));
		return_VOID;
	}

	result = acpi_thermal_get_temperature(tz);
	if (result)
		return_VOID;
	
	memset(&tz->state, 0, sizeof(tz->state));
	
	/*
	 * Check Trip Points
	 * -----------------
	 * Compare the current temperature to the trip point values to see
	 * if we've entered one of the thermal policy states.  Note that
	 * this function determines when a state is entered, but the
	 * individual policy decides when it is exited (e.g. hysteresis).
	 */
	if (tz->trips.critical.flags.valid)
		state.critical |= (tz->temperature >= tz->trips.critical.temperature);
	if (tz->trips.hot.flags.valid)
		state.hot |= (tz->temperature >= tz->trips.hot.temperature);
	if (tz->trips.passive.flags.valid)
		state.passive |= (tz->temperature >= tz->trips.passive.temperature);
	for (i=0; i<ACPI_THERMAL_MAX_ACTIVE; i++)
		if (tz->trips.active[i].flags.valid)
			state.active |= (tz->temperature >= tz->trips.active[i].temperature);



	ACPI_DEBUG_PRINT((ACPI_DB_WARN, "%s: Temperature: %lu\n", tz->name, 
tz->temperature));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...

[-- Attachment #2: messages-cut --]
[-- Type: text/plain, Size: 4200 bytes --]

Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3162
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1546] acpi_thermal_check    : THRC: Temperature: 3162
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3162
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1546] acpi_thermal_check    : THRC: Temperature: 3162
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: BAT0_BST_RETURN:
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: BAT0_BST_RETURN:
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: --------------------------------------- AC Present   
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 0000000000000064
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3732
Nov 16 20:19:49 acer kernel: acpi_thermal-0398 [1548] acpi_thermal_critical : Critical trip point
Nov 16 20:19:49 acer kernel: acpi_thermal-0399 [1548] acpi_thermal_critical : Trip-Point: 3732, Temperature: 3732
Nov 16 20:19:49 acer kernel: acpi_processor-1095 [1551] acpi_processor_set_per: Transition failed
Nov 16 20:19:49 acer kernel: acpi_processor-1426 [1550] acpi_processor_apply_l: Unable to set limit
Nov 16 20:19:49 acer kernel: acpi_processor-1527 [1549] acpi_processor_set_the: Unable to set thermal limit
Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1548] acpi_thermal_check    : THRC: Temperature: 3162
Nov 16 20:19:50 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:50 acer kernel: [ACPI Debug] String: SYST of _TMP =
Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002E
Nov 16 20:19:50 acer kernel: [ACPI Debug] String: CPU _TMP =
Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002B
Nov 16 20:19:50 acer kernel: [ACPI Debug] String: SYST of _TMP =
Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002E
Nov 16 20:19:51 acer init: Switching to runlevel: 0
Nov 16 20:20:07 acer cardmgr[548]: exiting
Nov 16 20:20:07 acer kernel: unloading Kernel Card Services
Nov 16 20:20:08 acer kernel: Kernel logging (proc) stopped.
Nov 16 20:20:08 acer kernel: Kernel log daemon terminating.
Nov 16 20:20:09 acer exiting on signal 15
N

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found]     ` <3FCB0F13.7010908-ArvQUR6U0fYD0fefG/KofA@public.gmane.org>
@ 2003-12-01 10:08       ` Damien Sandras
  2003-12-01 10:57       ` Pavel Machek
  1 sibling, 0 replies; 8+ messages in thread
From: Damien Sandras @ 2003-12-01 10:08 UTC (permalink / raw)
  To: Gerfried Maier; +Cc: Pavel Machek, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

I also have the same problem with my ACER. However only with kernels 2.6
test 10 and test 11; but I don't know what patch to revert....



Le lun 01/12/2003 à 10:51, Gerfried Maier a écrit :
> Pavel Machek wrote:
> > ...then you probably need this one. (One notebook I have here
> > certainly needs it).
> > 
> > It seems that acpi likes to report completely bogus value from time to
> > time...
> 
> As you perhapps remember, I reported a similar problem with my Acer TM 
> 630 some time ago.
> 
> I was now able to log such a shutdown with temperature-printouts at the 
> important places.
> 
> When reading the log, I can state two things:
> * The temp-value causing the shutdown is definitly bogus, as the entries 
> before and after the trip-causing check are far below that value but 
> occuring at nearly the same time.
> * Unfortunately the value is not as ingredible as your 200C, so 
> distingushing between a bogus and a non-bogus value is not that simple.
> 
> I attached a cut from the syslog.
> 
> Regards,
> Maier Gerfried
> 
> 
> PS:
> I archieved the temperature-printouts by adding some lines (marked with 
> ^^^^^^^) to thermal.c (2.4.22-version):
> 
> 
> static int
> acpi_thermal_critical (
> 	struct acpi_thermal	*tz)
> {
> 	int			result = 0;
> 	struct acpi_device	*device = NULL;
> 
> 	ACPI_FUNCTION_TRACE("acpi_thermal_critical");
> 
> 	if (!tz || !tz->trips.critical.flags.valid)
> 		return_VALUE(-EINVAL);
> 
> 	if (tz->temperature >= tz->trips.critical.temperature) {
> 		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Critical trip point\n"));
> 		ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Trip-Point: %lu, Temperature: %lu\n", 
>   tz->trips.critical.temperature, tz->temperature));
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> 		tz->trips.critical.flags.enabled = 1;
> 	}
> 	else if (tz->trips.critical.flags.enabled)
> 		tz->trips.critical.flags.enabled = 0;
> 
> 
> 	result = acpi_bus_get_device(tz->handle, &device);
> 	if (result)
> 		return_VALUE(result);
> 
> 	acpi_bus_generate_event(device, ACPI_THERMAL_NOTIFY_CRITICAL, 
> tz->trips.critical.flags.enabled);
> 	
> 	acpi_thermal_call_usermode("/bin/logger ACPI poweroff");
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> # Unfortunately, this line does not generate the log-enty I expect it
> # to.
> 
> 	acpi_thermal_call_usermode(ACPI_THERMAL_PATH_POWEROFF);
> 
> 	return_VALUE(0);
> }
> 
> 
> 
> 
> 
> 
> static void
> acpi_thermal_check (
> 	void                    *data)
> {
> 	int			result = 0;
> 	struct acpi_thermal	*tz = (struct acpi_thermal *) data;
> 	unsigned long		sleep_time = 0;
> 	int			i = 0;
> 	struct acpi_thermal_state state = tz->state;
> 
> 	ACPI_FUNCTION_TRACE("acpi_thermal_check");
> 
> 	if (!tz) {
> 		ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid (NULL) context.\n"));
> 		return_VOID;
> 	}
> 
> 	result = acpi_thermal_get_temperature(tz);
> 	if (result)
> 		return_VOID;
> 	
> 	memset(&tz->state, 0, sizeof(tz->state));
> 	
> 	/*
> 	 * Check Trip Points
> 	 * -----------------
> 	 * Compare the current temperature to the trip point values to see
> 	 * if we've entered one of the thermal policy states.  Note that
> 	 * this function determines when a state is entered, but the
> 	 * individual policy decides when it is exited (e.g. hysteresis).
> 	 */
> 	if (tz->trips.critical.flags.valid)
> 		state.critical |= (tz->temperature >= tz->trips.critical.temperature);
> 	if (tz->trips.hot.flags.valid)
> 		state.hot |= (tz->temperature >= tz->trips.hot.temperature);
> 	if (tz->trips.passive.flags.valid)
> 		state.passive |= (tz->temperature >= tz->trips.passive.temperature);
> 	for (i=0; i<ACPI_THERMAL_MAX_ACTIVE; i++)
> 		if (tz->trips.active[i].flags.valid)
> 			state.active |= (tz->temperature >= tz->trips.active[i].temperature);
> 
> 
> 
> 	ACPI_DEBUG_PRINT((ACPI_DB_WARN, "%s: Temperature: %lu\n", tz->name, 
> tz->temperature));
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ...
> 
> ______________________________________________________________________
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3162
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1546] acpi_thermal_check    : THRC: Temperature: 3162
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3162
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: ----------------- Thermal event -------------------
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1546] acpi_thermal_check    : THRC: Temperature: 3162
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: SYST of _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002E
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRS: Temperature: 3192
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: BAT0_BST_RETURN:
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: BAT0_BST_RETURN:
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: --------------------------------------- AC Present   
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 0000000000000064
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1547] acpi_thermal_check    : THRC: Temperature: 3732
> Nov 16 20:19:49 acer kernel: acpi_thermal-0398 [1548] acpi_thermal_critical : Critical trip point
> Nov 16 20:19:49 acer kernel: acpi_thermal-0399 [1548] acpi_thermal_critical : Trip-Point: 3732, Temperature: 3732
> Nov 16 20:19:49 acer kernel: acpi_processor-1095 [1551] acpi_processor_set_per: Transition failed
> Nov 16 20:19:49 acer kernel: acpi_processor-1426 [1550] acpi_processor_apply_l: Unable to set limit
> Nov 16 20:19:49 acer kernel: acpi_processor-1527 [1549] acpi_processor_set_the: Unable to set thermal limit
> Nov 16 20:19:49 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:49 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:49 acer kernel: acpi_thermal-0637 [1548] acpi_thermal_check    : THRC: Temperature: 3162
> Nov 16 20:19:50 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:50 acer kernel: [ACPI Debug] String: SYST of _TMP =
> Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002E
> Nov 16 20:19:50 acer kernel: [ACPI Debug] String: CPU _TMP =
> Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002B
> Nov 16 20:19:50 acer kernel: [ACPI Debug] String: SYST of _TMP =
> Nov 16 20:19:50 acer kernel: [ACPI Debug] Integer: 000000000000002E
> Nov 16 20:19:51 acer init: Switching to runlevel: 0
> Nov 16 20:20:07 acer cardmgr[548]: exiting
> Nov 16 20:20:07 acer kernel: unloading Kernel Card Services
> Nov 16 20:20:08 acer kernel: Kernel logging (proc) stopped.
> Nov 16 20:20:08 acer kernel: Kernel log daemon terminating.
> Nov 16 20:20:09 acer exiting on signal 15
> N
-- 
 _      Damien Sandras
(o-     
//\     It-Optics s.a.
v_/_    GnomeMeeting: http://www.gnomemeeting.org/
        FOSDEM 2004:  http://www.fosdem.org
        H.323 phone:  callto:ils.seconix.com/dsandras-AvcYnRpcIedBDgjK7y7TUQ@public.gmane.org



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found]     ` <3FCB0F13.7010908-ArvQUR6U0fYD0fefG/KofA@public.gmane.org>
  2003-12-01 10:08       ` Damien Sandras
@ 2003-12-01 10:57       ` Pavel Machek
  1 sibling, 0 replies; 8+ messages in thread
From: Pavel Machek @ 2003-12-01 10:57 UTC (permalink / raw)
  To: Gerfried Maier; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Hi!

> I was now able to log such a shutdown with temperature-printouts at the 
> important places.
> 
> When reading the log, I can state two things:
> * The temp-value causing the shutdown is definitly bogus, as the entries 
> before and after the trip-causing check are far below that value but 
> occuring at nearly the same time.
> * Unfortunately the value is not as ingredible as your 200C, so 
> distingushing between a bogus and a non-bogus value is not that simple.
> 
> I attached a cut from the syslog.

Well, from time to time my machine reports 170C and shuts down anyway
:-(. But I'm afraid to make check more complicated.

Perhaps checking if we got error handling right in thermal code/AML
interpretter is a good idea..

> ^^^^^^^) to thermal.c (2.4.22-version):

> 	acpi_thermal_call_usermode("/bin/logger ACPI poweroff");
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> # Unfortunately, this line does not generate the log-enty I expect it
> # to.

Ugh. This is nasty. You really want to do printk(KERN_CRIT, ....);


-- 
Horseback riding is like software...
...vgf orggre jura vgf serr.


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* RE: If your ACPI-enabled machine does clean shutdown randomly...
@ 2003-12-04  5:43 Yu, Luming
       [not found] ` <3ACA40606221794F80A5670F0AF15F8401720BFF-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Yu, Luming @ 2003-12-04  5:43 UTC (permalink / raw)
  To: Pavel Machek, ACPI mailing list, kernel list

>...then you probably need this one. (One notebook I have here
>certainly needs it).

You are lucky to have such a laptop which could expose some unknow ACPI bug .
It's great, if you can share some information with us. --Luming

>It seems that acpi likes to report completely bogus value from time to
> time...

It's great, if you can tell us other completely bogus value. I believe It will help us a lot.

>+	if (KELVIN_TO_CELSIUS(tz->temperature) >= 200) {
>+		printk(KERN_ALERT "Are you running CPU or nuclear power plant? ACPI claims CPU temp is %d C. Ignoring.\n", KELVIN_TO_CELSIUS(tz->temperature));
>+		return_VALUE(0);
>+	}


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: If your ACPI-enabled machine does clean shutdown randomly...
       [not found] ` <3ACA40606221794F80A5670F0AF15F8401720BFF-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2003-12-04 10:53   ` Pavel Machek
  0 siblings, 0 replies; 8+ messages in thread
From: Pavel Machek @ 2003-12-04 10:53 UTC (permalink / raw)
  To: Yu, Luming; +Cc: ACPI mailing list, kernel list

Hi!

> >...then you probably need this one. (One notebook I have here
> >certainly needs it).
> 
> You are lucky to have such a laptop which could expose some unknow ACPI bug .
> It's great, if you can share some information with us. --Luming

Well, the notebook is prototype...

> >It seems that acpi likes to report completely bogus value from time to
> > time...
> 
> It's great, if you can tell us other completely bogus value. I
>believe It will help us a lot.

It varies from time to time. I get 255, 230, 180 and similar...
									Pavel
-- 
Horseback riding is like software...
...vgf orggre jura vgf serr.


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2003-12-04 10:53 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-28 14:52 If your ACPI-enabled machine does clean shutdown randomly Pavel Machek
     [not found] ` <20031128145249.GA563-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2003-11-28 16:02   ` Damien Sandras
     [not found]     ` <1070035371.1055.13.camel-yzJ1TzNew8IqMp+WYRx65w@public.gmane.org>
2003-11-28 16:10       ` Pavel Machek
2003-12-01  9:51   ` Gerfried Maier
     [not found]     ` <3FCB0F13.7010908-ArvQUR6U0fYD0fefG/KofA@public.gmane.org>
2003-12-01 10:08       ` Damien Sandras
2003-12-01 10:57       ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2003-12-04  5:43 Yu, Luming
     [not found] ` <3ACA40606221794F80A5670F0AF15F8401720BFF-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2003-12-04 10:53   ` Pavel Machek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox