ASUS M2400N / M3700N / S1300N temperature
Hi there,
Could all the people having ASUS Centrino notebooks and problems with thermal_zone/*/temperature always reporting 60 degrees try the following:
Find the following piece of code in your DSDT:
#v+
Method (RTMP, 0, NotSerialized)
{
Store (RBYT (TSAD, 0x01), Local0)
If (Not (Local0))
{
Store (Local0, LTMP)
}
Return (LTMP)
}#v-
And change the fourth line to If (Local0)?
Provided that I understand it correctly, and that the original call to EC is correct, this should fix the temperature readings and the fan control (at least partially -- it should now properly react to temperature changes). Of course, it's late, I'm tired and I may be completely wrong.
(this really reminds me that I should subscribe to acpi-support, as interesting threads appear there)
The reason I'm writing this here, is that *if* I'm right, and the original piece of code really is completely bogus, then it would seem a really strange practice and possibly a sad precedent of some weird DSDT crippling. This code (and some other pieces, like display switching code, which is surrounded by If (\NATK()), where \NATK() unconditionally evaluates to 0) clearly can't work, but the fact is, it does under Windows. My question is:
is it possible / a common practice under Windows to override DSDTs? Or is that another bug in the MSFT ASL compiler?
Best regards,
Signature · 9 lines
Karol 'sziwan' Kozimor sziwan-DETuoxkZsSqrDJvtcaxF/[email protected] ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
A message that is not in the archive (sent off-list or not yet received): 20030813224646.GA3838-DETuoxkZsSqrDJvtcaxF/[email protected]
Subject: [ACPI] ASUS M2400N / M3700N / S1300N temperature Date: gio, ago 14, 2003 at 12:46:46 +0200
Quoted 2 lines · Karol Kozimor
Could all the people having ASUS Centrino notebooks and problems with thermal_zone/*/temperature always reporting 60 degrees try the following:
<cut>
Quoted 5 lines
And change the fourth line to If (Local0)?
Provided that I understand it correctly, and that the original call to EC is correct, this should fix the temperature readings and the fan control (at least partially -- it should now properly react to temperature changes). Of course, it's late, I'm tired and I may be completely wrong.
Thanks a lot for the effort. Sadly, I have bad things to report. With my M3700N and the change you suggest, the machine crashes when loading the thermal module. If I had not loaded the fan module before, I have the following oops:
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
Unable to handle kernel paging request at virtual address 9a2eba62 printing eip: c0236e59 *pde = 00000000 Oops: 0000 [#1] CPU: 0 EIP: 0060:[acpi_ns_map_handle_to_node+23/30] Not tainted EFLAGS: 00010246
EIP is at acpi_ns_map_handle_to_node+0x17/0x1e
eax: 00000000 ebx: 00001001 ecx: df73ef00 edx: 9a2eba62
esi: 9a2eba62 edi: de2f1ea4 ebp: c02428fc esp: de2f1e6c
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 408, threadinfo=de2f0000 task=de808080)
Stack: c02362d3 9a2eba62 de2f1ea4 df592ea0 df596668 df592e00 c023fec1 9a2eba62
c02428fc de2f1ea4 de2f1ebc c0241dba 9a2eba62 de2f1ea4 00000000 00000000
c0241f38 9a2eba62 de2f1ebc 00000000 00000000 c02420cb 9a2eba62 00000000
Call Trace:
[acpi_get_data+58/91] acpi_get_data+0x3a/0x5b
[acpi_bus_get_device+29/52] acpi_bus_get_device+0x1d/0x34
[acpi_bus_data_handler+0/1] acpi_bus_data_handler+0x0/0x1
[acpi_power_get_context+34/56] acpi_power_get_context+0x22/0x38
[acpi_power_off_device+31/169] acpi_power_off_device+0x1f/0xa9
[acpi_power_transition+155/174] acpi_power_transition+0x9b/0xae
[acpi_bus_set_power+187/326] acpi_bus_set_power+0xbb/0x146
[__crc_parport_ieee1284_epp_write_data+606644/8264746] acpi_thermal_remove+0x5/0x81 [thermal]
[__crc_parport_ieee1284_epp_write_data+602892/8264746] acpi_thermal_active+0x79/0xce [thermal]
[__crc_parport_ieee1284_epp_write_data+603319/8264746] acpi_thermal_check+0x142/0x252 [thermal]
[__crc_parport_ieee1284_epp_write_data+606518/8264746] acpi_thermal_add+0xc4/0x13d [thermal]
[acpi_bus_driver_init+44/138] acpi_bus_driver_init+0x2c/0x8a
[acpi_driver_attach+91/152] acpi_driver_attach+0x5b/0x98
[acpi_bus_register_driver+66/79] acpi_bus_register_driver+0x42/0x4f
[__crc_parport_ieee1284_epp_write_data+622046/8264746] acpi_thermal_init+0x2a/0x4b [thermal]
[sys_init_module+290/607] sys_init_module+0x122/0x25f
[syscall_call+7/11] syscall_call+0x7/0xb
Code: 80 3a aa 0f 44 c2 c3 8b 44 24 04 c3 ff 35 ac d2 57 c0 e8 ebKernel logging (proc) stopped.
Kernel log daemon terminating.
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
If I first load the fan module, I get:
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
ACPI: Fan [FN00] (off)
ACPI: Thermal Zone [THRM] (255 C)
--8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----8<--
and the machine turns off (possibly quite afraid of having caught fire...)
Carlo
Signature · 10 lines
* Se la Strada e la sua Virtu' non fossero state messe da parte, * K * Carlo E. Prelz - [email protected] che bisogno ci sarebbe * di parlare tanto di amore e di rettitudine? (Chuang-Tzu) ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01