Einzelnen Beitrag anzeigen
Alt 23.11.2009, 13:33   #4 (permalink)
vonMorgen
Neuling
 

Registriert seit: 23.11.2009
Beiträge: 3

vonMorgen befindet sich auf einem aufstrebenden Ast

Standard AW: ACPI DSDT: Lüfterschwellen neu definieren?

Hi, mein MS ASL Compiler meckert, wenn ich in die Methode das fehlende return() in nachfolgende Methode reinschreibe:
Code:
Method (C15F, 2, Serialized) 
{ 
[...] 
return() 
}
Der Compiler spuckt den Fehler aus, daß ein Parameter erforderlich ist in der return()-Anweisung.

Ich habe aber eine weitere Frage. Nachfolgend ist der relevante Ausschnitt meiner DSDT.ASL, die ich schon geändert habe
(gemäß Linux auf HP 6715s 6715b).

Code:
PowerResource(C397, 0x0, 0x0)
        {
            Method(_STA, 0x0, NotSerialized)
            {
                Return(C38E(0x1, 0x64))
            }
            Method(_ON_, 0x0, NotSerialized)
            {
                If(LNot(LGreater(\C00D(), 0x3)))
                {
                    C38F(0x1, 0x64)
                }
                Else
                {
                    If(LGreater(DerefOf(Index(C38B, 0x0, )), C391(C383, 0x0)))
                    {
                        C38F(0x1, 0x64)
                    }
                }
            }
            Method(_OFF, 0x0, NotSerialized)
            {
                C390(0x1, 0x50)
            }
        }
        PowerResource(C398, 0x0, 0x0)
        {
            Method(_STA, 0x0, NotSerialized)
            {
                Return(C38E(0x2, 0x50))
            }
            Method(_ON_, 0x0, NotSerialized)
            {
                If(LNot(LGreater(\C00D(), 0x3)))
                {
                    C38F(0x2, 0x50)
                }
                Else
                {
                    If(LGreater(DerefOf(Index(C38B, 0x0, )), C391(C382, 0x0)))
                    {
                        C38F(0x2, 0x50)
                    }
                }
            }
            Method(_OFF, 0x0, NotSerialized)
            {
                C390(0x2, 0x3c)
            }
        }
        PowerResource(C399, 0x0, 0x0)
        {
            Method(_STA, 0x0, NotSerialized)
            {
                Return(C38E(0x4, 0x3c))
            }
            Method(_ON_, 0x0, NotSerialized)
            {
                If(LNot(LGreater(\C00D(), 0x3)))
                {
                    C38F(0x4, 0x3c)
                }
                Else
                {
                    If(LGreater(DerefOf(Index(C38B, 0x0, )), C391(C381, 0x0)))
                    {
                        C38F(0x4, 0x3c)
                    }
                }
            }
            Method(_OFF, 0x0, NotSerialized)
            {
                C390(0x4, 0x28)
            }
        }
        PowerResource(C39A, 0x0, 0x0)
        {
            Method(_STA, 0x0, NotSerialized)
            {
                Return(C38E(0x8, 0x28))
            }
            Method(_ON_, 0x0, NotSerialized)
            {
                If(LNot(LGreater(\C00D(), 0x3)))
                {
                    C38F(0x8, 0x28)
                }
                Else
                {
                    If(LGreater(DerefOf(Index(C38B, 0x0, )), C391(C380, 0x0)))
                    {
                        C38F(0x8, 0x28)
                    }
                }
            }
            Method(_OFF, 0x0, NotSerialized)
            {
                C390(0x8, 0x0)
            }
        }

Wenn die Temperatur über 40°C ging, war der Lüfter bei 40 %, was ich (laut jbirkhol) umgeändert habe auf 10 %.
Wenn die Temperatur über 55°C ging, war der Lüfter bei 60 %, was ich (laut jbirkhol) umgeändert habe auf 40 %.

Meine Frage ist nun, wie ich und wo genau die Werte eintragen muß, wenn ich folgendes Schema haben möchte:
Temperatur >= 40 --> Lüfter 10 % (im Moment) soll gar nicht gehen, weil
Temperatur >= 55 --> Lüfter 40% (im Moment) soll bei mir auf 10% geändert werden
Temperatur >= 65 --> Lüfter 80% (im Moment) soll bei mir auf 40% geändert werden

DANKE!
vonMorgen ist offline   Mit Zitat antworten