ACPI and ASUS A8N-SLI Deluxe
Hi, I have got 9.2 running on a ASUS A8N-SLI Deluxe board. Everything works fine but /proc/acpi/thermal_zone/THRM/temperature reports ALWAYS: temperature: 40 C My hardware vendor says that cannot be correct. Is there a way to get the correct value? Do other owners of that board also see this behaviour? Thanks, Torsten
I've noticed the same problem. In WinXp x64, it reports as a more accurate 32c -Ric Torsten Foertsch wrote:
Hi,
I have got 9.2 running on a ASUS A8N-SLI Deluxe board. Everything works fine but /proc/acpi/thermal_zone/THRM/temperature reports ALWAYS:
temperature: 40 C
My hardware vendor says that cannot be correct. Is there a way to get the correct value?
Do other owners of that board also see this behaviour?
Thanks, Torsten
Torsten Foertsch wrote:
Hi,
I have got 9.2 running on a ASUS A8N-SLI Deluxe board. Everything works fine but /proc/acpi/thermal_zone/THRM/temperature reports ALWAYS:
temperature: 40 C
My hardware vendor says that cannot be correct. Is there a way to get the correct value?
Does dmesg |grep -i acpi show some kind of errors? Can you send me your /proc/acpi/dsdt? Thomas
Torsten Foertsch wrote:
Hi,
I have got 9.2 running on a ASUS A8N-SLI Deluxe board. Everything works fine but /proc/acpi/thermal_zone/THRM/temperature reports ALWAYS:
temperature: 40 C
My hardware vendor says that cannot be correct. Is there a way to get the correct value?
Do other owners of that board also see this behaviour?
First you should look for a BIOS update: http://usa.asus.com/support/download/item.aspx?ModelName=A8N-SLI%20Deluxe&Ty... There is a very new one. The problem is in the rtpm function of the dsdt. For some reason the SSHU bit is one and 40 degree is always returned. Don't ask me what this flag is for, but if set the return temperature is always 40. /* calc temperature ************/ Store (GBYT (0x29), Local0) FindSetLeftBit (Local0, Local1) If (LEqual (Local1, 0x08)) { And (Local0, 0x7F, Local0) Multiply (Local0, 0x0A, Local0) Subtract (0x0AAC, Local0, Local0) } Else { Multiply (Local0, 0x0A, Local0) Add (0x0AAC, Local0, Local0) } /* calc temperature ************/ /* check whether sshu bit is set */ If (LEqual (SSHU, 0x01)) { /* sshu bit is set, return 40 degree */ /* C3C hex -> 3132 dec -> 313,2 Kelvin -> 40,2 C */ Return (0x0C3C) } Else { /* return temperature */ Return (Local0) } What sense it makes to return a fixed value for the temperature, I don't know ... If a BIOS update does not help, maybe ignoring the SSHU check just returns the right values... Tell me if the newest BIOS does not help. Thomas
participants (3)
-
Ric Tibbetts
-
Thomas Renninger
-
Torsten Foertsch