* Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <1061221384.1996.6.camel-m6aJA0iQrH4@public.gmane.org>
@ 2003-08-19 14:03 ` Karol Kozimor
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Karol Kozimor @ 2003-08-19 14:03 UTC (permalink / raw)
To: Mads Paulin; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Thus wrote Mads Paulin:
> I have an ASUS M2400N and is trying to get the fan control right. Karol
> solved the temperature reading problem, but due to wron thermal trip
Did I really? From what you said before, I understood it didn't work.
Let's look at the code:
#v+
Method (_TMP, 0, NotSerialized)
{
Store (0x05, Local1)
While (Local1)
{
Store (RTMP (), Local0)
If (LGreater (Local0, TCRT))
{
Decrement (Local1)
}
Else
{
Store (0x00, Local1)
}
}
Return (KELV (Local0))
}
[...]
Method (RTMP, 0, NotSerialized)
{
Store (RBYT (TSAD, 0x01), Local0)
If (Not (Local0))
{
Store (Local0, LTMP)
}
Return (LTMP)
}
#v-
This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
temperature, it should rather not be zero. Thus, the condition in RTMP
always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
always returns (KELV (60)), and also, since RTMP is also used internally,
the fan keeps spinning at the same speed.
Now, if the aforementioned condition is changed to If (Local0), which looks
fairly more reasonable, strange things begin to happen (like those trip
points and temperature being reported as 255 degrees). There is nothing in
the trip point code that would support such a behaviour, unless the change
causes some random memory scribbling, or something similarly nasty.
> By the way, the fan is capable of rotationg at several different rpm's.
> Have any of you gotten this rigt ? On my laptop, the fan starts at max
> rpms and then turns completely off. The only way I can get it to rotate
> at low RPMS is by rebooting the machine when the processor temperature
> is in the interval giving low rpm's. The bios will then put the fan in
> low rpm state.
>
> This leads me to think, that the fan is not controlled by acpi at all
> (possibly due to a buggy DSDT)
The fan is, and should be, controled by ACPI, though not in the way the
specification says. The \_TZ.TCHG method compares the actual temperature
adn stores appropriate values in the fan registers, causing it to change
its speed. A very similar thermal system exists in ASUS L3800C, where it
works quite well.
Could someone take a look in the M2400N DSDT and suggest a way to debug it?
Best regards,
--
Karol 'sziwan' Kozimor
sziwan-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org
-------------------------------------------------------
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
@ 2003-08-19 14:13 ` Ducrot Bruno
[not found] ` <20030819141349.GM18032-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2003-08-19 15:27 ` Mads Paulin
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Ducrot Bruno @ 2003-08-19 14:13 UTC (permalink / raw)
To: Mads Paulin, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Tue, Aug 19, 2003 at 04:03:34PM +0200, Karol Kozimor wrote:
> Thus wrote Mads Paulin:
> > I have an ASUS M2400N and is trying to get the fan control right. Karol
> > solved the temperature reading problem, but due to wron thermal trip
>
> Did I really? From what you said before, I understood it didn't work.
> Let's look at the code:
> #v+
> Method (_TMP, 0, NotSerialized)
> {
> Store (0x05, Local1)
> While (Local1)
> {
> Store (RTMP (), Local0)
> If (LGreater (Local0, TCRT))
> {
> Decrement (Local1)
> }
> Else
> {
> Store (0x00, Local1)
> }
> }
>
> Return (KELV (Local0))
> }
> [...]
> Method (RTMP, 0, NotSerialized)
> {
> Store (RBYT (TSAD, 0x01), Local0)
> If (Not (Local0))
> {
> Store (Local0, LTMP)
> }
>
> Return (LTMP)
> }
> #v-
>
> This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> temperature, it should rather not be zero. Thus, the condition in RTMP
> always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> always returns (KELV (60)), and also, since RTMP is also used internally,
> the fan keeps spinning at the same speed.
Problem is: I still don't have time to debug that. A good approach
imho for debugging all that stuff is to simulate the RTMP by
translating this method in C. It's straightforward, but sorry, I don't
have time for. Then you will see if it is a bug in the aml interpreter,
or a bug in the AML.
--
Ducrot Bruno
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
-------------------------------------------------------
This SF.net email is sponsored by Dice.com.
Did you know that Dice has over 25,000 tech jobs available today? From
careers in IT to Engineering to Tech Sales, Dice has tech jobs from the
best hiring companies. http://www.dice.com/index.epl?rel_code=104
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
2003-08-19 14:13 ` Ducrot Bruno
@ 2003-08-19 15:27 ` Mads Paulin
2003-08-19 15:55 ` Mads Paulin
2003-08-26 9:32 ` Mads Paulin
3 siblings, 0 replies; 7+ messages in thread
From: Mads Paulin @ 2003-08-19 15:27 UTC (permalink / raw)
To: Karol Kozimor; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Ok - probably I was too optimistic there - sorry :-)
Just a mad idea: What happens if I try to use the ASUS L3800C DSDT on my
M2400N ? Does it blow up ??
Mads
On Tue, 2003-08-19 at 16:03, Karol Kozimor wrote:
> Thus wrote Mads Paulin:
> > I have an ASUS M2400N and is trying to get the fan control right. Karol
> > solved the temperature reading problem, but due to wron thermal trip
>
> Did I really? From what you said before, I understood it didn't work.
> Let's look at the code:
> #v+
> Method (_TMP, 0, NotSerialized)
> {
> Store (0x05, Local1)
> While (Local1)
> {
> Store (RTMP (), Local0)
> If (LGreater (Local0, TCRT))
> {
> Decrement (Local1)
> }
> Else
> {
> Store (0x00, Local1)
> }
> }
>
> Return (KELV (Local0))
> }
> [...]
> Method (RTMP, 0, NotSerialized)
> {
> Store (RBYT (TSAD, 0x01), Local0)
> If (Not (Local0))
> {
> Store (Local0, LTMP)
> }
>
> Return (LTMP)
> }
> #v-
>
> This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> temperature, it should rather not be zero. Thus, the condition in RTMP
> always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> always returns (KELV (60)), and also, since RTMP is also used internally,
> the fan keeps spinning at the same speed.
>
> Now, if the aforementioned condition is changed to If (Local0), which looks
> fairly more reasonable, strange things begin to happen (like those trip
> points and temperature being reported as 255 degrees). There is nothing in
> the trip point code that would support such a behaviour, unless the change
> causes some random memory scribbling, or something similarly nasty.
>
> > By the way, the fan is capable of rotationg at several different rpm's.
> > Have any of you gotten this rigt ? On my laptop, the fan starts at max
> > rpms and then turns completely off. The only way I can get it to rotate
> > at low RPMS is by rebooting the machine when the processor temperature
> > is in the interval giving low rpm's. The bios will then put the fan in
> > low rpm state.
> >
> > This leads me to think, that the fan is not controlled by acpi at all
> > (possibly due to a buggy DSDT)
>
> The fan is, and should be, controled by ACPI, though not in the way the
> specification says. The \_TZ.TCHG method compares the actual temperature
> adn stores appropriate values in the fan registers, causing it to change
> its speed. A very similar thermal system exists in ASUS L3800C, where it
> works quite well.
>
> Could someone take a look in the M2400N DSDT and suggest a way to debug it?
> Best regards,
>
> --
> Karol 'sziwan' Kozimor
> sziwan-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org
-------------------------------------------------------
This SF.net email is sponsored by Dice.com.
Did you know that Dice has over 25,000 tech jobs available today? From
careers in IT to Engineering to Tech Sales, Dice has tech jobs from the
best hiring companies. http://www.dice.com/index.epl?rel_code=104
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
2003-08-19 14:13 ` Ducrot Bruno
2003-08-19 15:27 ` Mads Paulin
@ 2003-08-19 15:55 ` Mads Paulin
2003-08-26 9:32 ` Mads Paulin
3 siblings, 0 replies; 7+ messages in thread
From: Mads Paulin @ 2003-08-19 15:55 UTC (permalink / raw)
To: Karol Kozimor; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Tue, 2003-08-19 at 16:03, Karol Kozimor wrote:
> Thus wrote Mads Paulin:
> > I have an ASUS M2400N and is trying to get the fan control right. Karol
> > solved the temperature reading problem, but due to wron thermal trip
>
> Did I really? From what you said before, I understood it didn't work.
> Let's look at the code:
> #v+
> Method (_TMP, 0, NotSerialized)
> {
> Store (0x05, Local1)
> While (Local1)
> {
> Store (RTMP (), Local0)
> If (LGreater (Local0, TCRT))
> {
> Decrement (Local1)
> }
> Else
> {
> Store (0x00, Local1)
> }
> }
>
> Return (KELV (Local0))
> }
> [...]
> Method (RTMP, 0, NotSerialized)
> {
> Store (RBYT (TSAD, 0x01), Local0)
> If (Not (Local0))
> {
> Store (Local0, LTMP)
> }
>
> Return (LTMP)
> }
> #v-
>
> This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> temperature, it should rather not be zero. Thus, the condition in RTMP
> always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> always returns (KELV (60)), and also, since RTMP is also used internally,
> the fan keeps spinning at the same speed.
>
> Now, if the aforementioned condition is changed to If (Local0), which looks
> fairly more reasonable, strange things begin to happen (like those trip
> points and temperature being reported as 255 degrees). There is nothing in
> the trip point code that would support such a behaviour, unless the change
> causes some random memory scribbling, or something similarly nasty.
>
> > By the way, the fan is capable of rotationg at several different rpm's.
> > Have any of you gotten this rigt ? On my laptop, the fan starts at max
> > rpms and then turns completely off. The only way I can get it to rotate
> > at low RPMS is by rebooting the machine when the processor temperature
> > is in the interval giving low rpm's. The bios will then put the fan in
> > low rpm state.
> >
> > This leads me to think, that the fan is not controlled by acpi at all
> > (possibly due to a buggy DSDT)
>
> The fan is, and should be, controled by ACPI, though not in the way the
> specification says. The \_TZ.TCHG method compares the actual temperature
> adn stores appropriate values in the fan registers, causing it to change
> its speed. A very similar thermal system exists in ASUS L3800C, where it
> works quite well.
Yes - I agree - the fan is controlled by acpi, but I think the DSDT is
so buggy that acpi never turns on the fan (probably due to wrong
temperature reading) so that the bios takes over and makes emergency
cooling... Does this sound completely stupid ??
>
> Could someone take a look in the M2400N DSDT and suggest a way to debug it?
Unfortunately I ain't much of a DSDT hacker, but if someone could join
up with me, I could probably get a hang of it pretty fast.... I just
need someone to get me startet...
Mads
> Best regards,
>
> --
> Karol 'sziwan' Kozimor
> sziwan-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org
-------------------------------------------------------
This SF.net email is sponsored by Dice.com.
Did you know that Dice has over 25,000 tech jobs available today? From
careers in IT to Engineering to Tech Sales, Dice has tech jobs from the
best hiring companies. http://www.dice.com/index.epl?rel_code=104
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <20030819141349.GM18032-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
@ 2003-08-23 9:22 ` Mads Paulin
[not found] ` <1061630529.1927.1.camel-m6aJA0iQrH4@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Mads Paulin @ 2003-08-23 9:22 UTC (permalink / raw)
To: Ducrot Bruno; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Tue, 2003-08-19 at 16:13, Ducrot Bruno wrote:
--snip
> > This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> > temperature, it should rather not be zero. Thus, the condition in RTMP
> > always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> > always returns (KELV (60)), and also, since RTMP is also used internally,
> > the fan keeps spinning at the same speed.
>
> Problem is: I still don't have time to debug that. A good approach
> imho for debugging all that stuff is to simulate the RTMP by
> translating this method in C. It's straightforward, but sorry, I don't
> have time for. Then you will see if it is a bug in the aml interpreter,
> or a bug in the AML.
-- snip
Hi,
How is the AML converted to C? By just writing a small program that
reads the same memory adresses ??
Mads
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <1061630529.1927.1.camel-m6aJA0iQrH4@public.gmane.org>
@ 2003-08-25 7:13 ` Ducrot Bruno
0 siblings, 0 replies; 7+ messages in thread
From: Ducrot Bruno @ 2003-08-25 7:13 UTC (permalink / raw)
To: Mads Paulin; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Sat, Aug 23, 2003 at 11:22:09AM +0200, Mads Paulin wrote:
> On Tue, 2003-08-19 at 16:13, Ducrot Bruno wrote:
>
> --snip
>
> > > This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> > > temperature, it should rather not be zero. Thus, the condition in RTMP
> > > always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> > > always returns (KELV (60)), and also, since RTMP is also used internally,
> > > the fan keeps spinning at the same speed.
> >
> > Problem is: I still don't have time to debug that. A good approach
> > imho for debugging all that stuff is to simulate the RTMP by
> > translating this method in C. It's straightforward, but sorry, I don't
> > have time for. Then you will see if it is a bug in the aml interpreter,
> > or a bug in the AML.
>
> -- snip
>
> Hi,
>
> How is the AML converted to C? By just writing a small program that
> reads the same memory adresses ??
>
Something like that, yes.
--
Ducrot Bruno
-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
` (2 preceding siblings ...)
2003-08-19 15:55 ` Mads Paulin
@ 2003-08-26 9:32 ` Mads Paulin
3 siblings, 0 replies; 7+ messages in thread
From: Mads Paulin @ 2003-08-26 9:32 UTC (permalink / raw)
To: Karol Kozimor; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Hi,
I have tried to use the DSDT for the asus L3800Cin my M2400N laptop
since Karol reported that this worked ok.
With this dsdt, the M2N laptop can actually read the correct cpu
temperature,but the fan status is always reported as "on" and the trip
points are still all 255C.
Unfortunately I don't have the time right away to starte merging the two
DSDT's or debug the original M2400N DSDT, But now you know: The
temperature code from the L3800C works with M2N alsoo...
Regards
Mads
P.S. If anyone would like to have a go at correcting the dsdt I could
probably find the time to participate - I just need someone with some
insight into DSDT programming to get me started....
On Tue, 2003-08-19 at 16:03, Karol Kozimor wrote:
> Thus wrote Mads Paulin:
> > I have an ASUS M2400N and is trying to get the fan control right. Karol
> > solved the temperature reading problem, but due to wron thermal trip
>
> Did I really? From what you said before, I understood it didn't work.
> Let's look at the code:
> #v+
> Method (_TMP, 0, NotSerialized)
> {
> Store (0x05, Local1)
> While (Local1)
> {
> Store (RTMP (), Local0)
> If (LGreater (Local0, TCRT))
> {
> Decrement (Local1)
> }
> Else
> {
> Store (0x00, Local1)
> }
> }
>
> Return (KELV (Local0))
> }
> [...]
> Method (RTMP, 0, NotSerialized)
> {
> Store (RBYT (TSAD, 0x01), Local0)
> If (Not (Local0))
> {
> Store (Local0, LTMP)
> }
>
> Return (LTMP)
> }
> #v-
>
> This is the original one. If the (RBYT (TSAD, 0x01) is supposed to return
> temperature, it should rather not be zero. Thus, the condition in RTMP
> always fails. Since LTMP is initialized with 0x3c (60d), the _TMP method
> always returns (KELV (60)), and also, since RTMP is also used internally,
> the fan keeps spinning at the same speed.
>
> Now, if the aforementioned condition is changed to If (Local0), which looks
> fairly more reasonable, strange things begin to happen (like those trip
> points and temperature being reported as 255 degrees). There is nothing in
> the trip point code that would support such a behaviour, unless the change
> causes some random memory scribbling, or something similarly nasty.
>
> > By the way, the fan is capable of rotationg at several different rpm's.
> > Have any of you gotten this rigt ? On my laptop, the fan starts at max
> > rpms and then turns completely off. The only way I can get it to rotate
> > at low RPMS is by rebooting the machine when the processor temperature
> > is in the interval giving low rpm's. The bios will then put the fan in
> > low rpm state.
> >
> > This leads me to think, that the fan is not controlled by acpi at all
> > (possibly due to a buggy DSDT)
>
> The fan is, and should be, controled by ACPI, though not in the way the
> specification says. The \_TZ.TCHG method compares the actual temperature
> adn stores appropriate values in the fan registers, causing it to change
> its speed. A very similar thermal system exists in ASUS L3800C, where it
> works quite well.
>
> Could someone take a look in the M2400N DSDT and suggest a way to debug it?
> Best regards,
-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2003-08-26 9:32 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20030814025858.GA16098@hell.org.pl>
[not found] ` <1060944604.1760.1.camel@M2400N>
[not found] ` <20030815142258.GA2643@hell.org.pl>
[not found] ` <1060959167.2144.19.camel@Home>
[not found] ` <20030815205541.GB25102@hell.org.pl>
[not found] ` <1061221384.1996.6.camel@M2400N>
[not found] ` <1061221384.1996.6.camel-m6aJA0iQrH4@public.gmane.org>
2003-08-19 14:03 ` [Acpi4asus-user] ASUS M2400N / M3700N / S1300N temperature Karol Kozimor
[not found] ` <20030819140334.GB4265-DETuoxkZsSqrDJvtcaxF/A@public.gmane.org>
2003-08-19 14:13 ` Ducrot Bruno
[not found] ` <20030819141349.GM18032-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2003-08-23 9:22 ` Mads Paulin
[not found] ` <1061630529.1927.1.camel-m6aJA0iQrH4@public.gmane.org>
2003-08-25 7:13 ` Ducrot Bruno
2003-08-19 15:27 ` Mads Paulin
2003-08-19 15:55 ` Mads Paulin
2003-08-26 9:32 ` Mads Paulin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox