TweakPC

Zurück   Computer Hardware Forum - TweakPC > Hardware > Notebooks, Laptops, PDAs, Handy usw.

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11.08.2008, 02:39   #1 (permalink)
Coxito ergo sum
 
Benutzerbild von dr_Cox
 

Registriert seit: 23.02.2007
Beiträge: 8.119

dr_Cox kann auf vieles stolz sein
dr_Cox kann auf vieles stolz sein

Standard ACPI DSDT: Lüfterschwellen neu definieren?

Hallo zusammen,

ich tweake derzeit ein bisschen an meinem Notebook herum. Nun wollte ich die Schwellen des Lüfters neu definieren (also z.B. x°C -> 20%, y°C -> 40% etc. pp.).

Dazu habe ich mittels Microsoft ASL Compiler v.3.0.1 die DSDT.asl aus dem ACPI herauskompiliert.

So, nun hab ich den PowerResource Block meines Notes vor mir liegen und bin mir nicht schlüssig:
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)
            }
Auch wenn ich kaum verstehe was genau da steht , so ist mir doch ungefähr klar, was zu machen ist: nämlich die Hexwerte für den Prozentsatz an Lüfterdrehgeschwindigkeit ändern.

Nur sind da die Angaben, die ich gefunden habe, unterschiedlich:
Unter Changing the fan speeds in the DSDT:

Bei diesem Beispiel fehlen z.B. die Else Instruktionen. Da ich das nicht verstehe, weiß ich nicht, ob der Kerl das einfach nur rausgespart hat, um den Code übersichtlicher zu gestalten. Er hat zudem nur 3 Hex-Werte pro Lüfterdrehzahl geändert.

Auch hier eine geänderte DSDT. Da sind zwar die Else Instruktionen vorhanden, allerdings hat der Mensch hier 4 Hex-Werte pro Lüfterdrehzahl geändert. Wieso? ^^
Ausserdem schreibt er direkt vor der DSDT Tabelle
Zitat:
Fehlendes return() Einfügen:
Method (C15F, 2, Serialized) {
[...]
return()
}
Schwellentemperaturen für Lüftersteuerung ändern:
was ich nicht zuordnen kann (weder was das ist, noch wozu es ist, noch ob es nötig ist ).

Dass bei den Methods usw. die Cxxx verschieden sind ist nicht das Problem, das hängt mit unterschiedlichen Modellen und BIOS Versionen zusammen...

Naja, vielleicht kann das ja irgendjemand hier lesen, nachvollziehen und mir sagen, was Sache ist

LG & Dankeschön
dr_Cox ist offline   Mit Zitat antworten
Alt 11.08.2008, 10:41   #2 (permalink)
Firmware Killer
 
Benutzerbild von Tweak-IT
 

Registriert seit: 11.03.2005
Beiträge: 4.315

Tweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer AnblickTweak-IT ist ein wunderbarer Anblick

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

In dem Beispiel wurde zum dekompilieren der Intel ASL Compiler verwendet.

Lass doch mal den drüberlaufen und schaue dir das Resultat an?

Evtl. sind die Else Schleifen durch das verwenden des MS Decompilers reingerutscht?

Aber das abändern der Hexwerte sollte ja trotzdem gehen.

Also z.B. C390(0x2, 0x3c) in C390(0x2, 0x34) oder noch niedriger jenachdem.
Tweak-IT ist offline   Mit Zitat antworten
Für diesen Beitrag bedankt sich:
dr_Cox (11.08.2008)
Alt 11.08.2008, 20:30   #3 (permalink)
Coxito ergo sum
 
Benutzerbild von dr_Cox
 

Registriert seit: 23.02.2007
Beiträge: 8.119

dr_Cox kann auf vieles stolz sein
dr_Cox kann auf vieles stolz sein

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

Jop, das scheints zu sein.
Beim Intel Compiler muss man auch die For[FONT=Verdana]mel[/FONT][FONT=Verdana] 256-2*x[/FONT] anwenden (wobei x der Lüfterwert zwischen 1 und 64 ist), um den korrekten Hex Wert eintragen zu können.
Beim MS Compiler haut man scheinbar einfach den dezimalen Prozentsatz als Hex Wert rein.

Hab noch ein bisschen weiter gesucht und scheinbar ist der MS für dieses Vorhaben wesentlich besser geeignet.

Na mal sehen...

LG & Danke

EDIT: So, hat alles fein geklappt. Bin happy

Geändert von dr_Cox (11.08.2008 um 22:01 Uhr)
dr_Cox ist offline   Mit Zitat antworten
Alt 23.11.2009, 13:33   #4 (permalink)
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
Alt 23.11.2009, 14:05   #5 (permalink)
Coxito ergo sum
 
Benutzerbild von dr_Cox
 

Registriert seit: 23.02.2007
Beiträge: 8.119

dr_Cox kann auf vieles stolz sein
dr_Cox kann auf vieles stolz sein

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

Ohweia is das lange her

Ich hab damals die Returns nicht reingeschrieben meine ich sondern einfach nur die dezimale Wunsch-Drehzahl in Prozent als Hex-Wert eingetragen. Wobei man beachten muss, dass manche Hex-Dez Rechner einem für 10 nur ein A und für 11 nur ein B ausgeben. Das muss man dann als 0A und 0B in die DSDTschreiben.

Die DSDT fängt am unten mit der kleinsten Lüfterschwelle an und arbeitet sich dann nach oben hoch. Oder anders gesagt: Oben findest du den Block der höchsten Lüfterschwelle, gefolgt vom Block der zweithöchsten etc. pp.

Ich könnte dir das hier hinschreiben im Code, aber was mich zurückhält sind die geplanten Werte.
10% Lüftergeschwindigkeit bei 55°C und 40% ab 65°C halte ich für absolut riskant...

LG
dr_Cox ist offline   Mit Zitat antworten
Alt 23.11.2009, 18:33   #6 (permalink)
Neuling
 

Registriert seit: 23.11.2009
Beiträge: 3

vonMorgen befindet sich auf einem aufstrebenden Ast

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

Zitat:
Zitat von dr_Cox Beitrag anzeigen
Ohweia is das lange her

Ich hab damals die Returns nicht reingeschrieben meine ich sondern einfach nur die dezimale Wunsch-Drehzahl in Prozent als Hex-Wert eingetragen. Wobei man beachten muss, dass manche Hex-Dez Rechner einem für 10 nur ein A und für 11 nur ein B ausgeben. Das muss man dann als 0A und 0B in die DSDTschreiben.

Die DSDT fängt am unten mit der kleinsten Lüfterschwelle an und arbeitet sich dann nach oben hoch. Oder anders gesagt: Oben findest du den Block der höchsten Lüfterschwelle, gefolgt vom Block der zweithöchsten etc. pp.

Ich könnte dir das hier hinschreiben im Code, aber was mich zurückhält sind die geplanten Werte.
10% Lüftergeschwindigkeit bei 55°C und 40% ab 65°C halte ich für absolut riskant...

LG
Du meinst meine Werte sind, so wie ich sie eingestellt habe, in Ordnung? Hmmm, eigtl. müßte so ein Prozessor doch locker bis 55°C ohne Lüfter auskommen - oder?
vonMorgen ist offline   Mit Zitat antworten
Alt 23.11.2009, 18:48   #7 (permalink)
Stickstoff Junkie
 
Benutzerbild von peak_of_tweak
 

Registriert seit: 07.03.2005
Beiträge: 4.826

peak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblick

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

Wofür wurden Lüfter erfunden?
Richtig, damit sie laufen.
Der ist ja nicht zur Kühlung der CPU vorhanden, schließlich gibt es ja auch noch eine Grafikkarte, HDD und zig andere Bauteile.
peak_of_tweak ist offline   Mit Zitat antworten
Alt 23.11.2009, 23:23   #8 (permalink)
Coxito ergo sum
 
Benutzerbild von dr_Cox
 

Registriert seit: 23.02.2007
Beiträge: 8.119

dr_Cox kann auf vieles stolz sein
dr_Cox kann auf vieles stolz sein

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

Ja wobei beim HP 6715 eine Heatpipe von CPU über IGP/Chipset hin zum Kühlkörper geht. Wenn man auf die Temps der beiden Komponenten achtet, kann man schon den Lüfterschwellen andere Drehzahlen zuweisen. Die HDD tangiert das bei den Geräten ganz und gar nicht.
In dem Ding werden immerhin Dual Core-Turions genauso verbaut wie Single-Core Semprons - ja nachdem was man drin hat gibt's Drosselungspotential

@vonMorgen:
Das Problem ist, dass wie gesagt bei deinem Wunsch der Lüfter bei 55°C auf 10% gehen würde. Das reicht meiner Schätzung nach niemals, um die CPU zwischen 55°C und 65°C zu halten. Der Lüfter geht dann zwar an, bewirkt aber nix wirklich, die Temp steigt weiter auf 65°C, da geht er dann auf 40%. Das ist an der Stelle immer noch zu wenig, als wird er weiter steigen auf 75°C, wo er dann die vollen dröhnenden 100% bekommt und wieder runtergeht auf 65°C.
Und das wird dann im Wechselspiel so weitergehen, dass die Temp zwischen 65°C und 75°C schwankt und der Lüfter zwischen 40% und 100%

Daher muss man das vorsichtig machen! Etwa +-5 oder +-10 Prozent pro Schwelle, am besten jede Einzeln testen, wie sie sich auswirkt und mit einkalkulieren dass es gerade nicht die wärmste Jahreszeit ist.
Ist also wie Overclocking auch.

LG
dr_Cox ist offline   Mit Zitat antworten
Alt 24.11.2009, 15:14   #9 (permalink)
Stickstoff Junkie
 
Benutzerbild von peak_of_tweak
 

Registriert seit: 07.03.2005
Beiträge: 4.826

peak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblickpeak_of_tweak ist ein wunderbarer Anblick

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

Ja, Cox, das meine ich doch.
In der Regel wird ja eine Heatpipe im Notebook verwendet, damit das Medium entsprechend heruntergekühlt wird.
Diese Heatpipe verläuft über sämtliche wichtigen, temperaturintensiven Komponenten im Notebook.
Wenn ich jetzt den Lüfter bei 10% rumdümpeln lasse, nehme ich damit logischerweise in Kauf, dass sämtliche Komponenten um einiges wärmer werden.

Deswegen sollte man an die ganze Sache vorsichtig und mit Verstand ran.
Die restliche Problematik hast du ja schon angesprochen.
peak_of_tweak ist offline   Mit Zitat antworten
Alt 27.11.2009, 09:57   #10 (permalink)
Neuling
 

Registriert seit: 23.11.2009
Beiträge: 3

vonMorgen befindet sich auf einem aufstrebenden Ast

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

Zitat:
Zitat von dr_Cox Beitrag anzeigen
Ohweia is das lange her

Ich hab damals die Returns nicht reingeschrieben meine ich sondern einfach nur die dezimale Wunsch-Drehzahl in Prozent als Hex-Wert eingetragen. Wobei man beachten muss, dass manche Hex-Dez Rechner einem für 10 nur ein A und für 11 nur ein B ausgeben. Das muss man dann als 0A und 0B in die DSDTschreiben.

Die DSDT fängt am unten mit der kleinsten Lüfterschwelle an und arbeitet sich dann nach oben hoch. Oder anders gesagt: Oben findest du den Block der höchsten Lüfterschwelle, gefolgt vom Block der zweithöchsten etc. pp.

Ich könnte dir das hier hinschreiben im Code, aber was mich zurückhält sind die geplanten Werte.
10% Lüftergeschwindigkeit bei 55°C und 40% ab 65°C halte ich für absolut riskant...

LG
Ok.

Wie kriege ich das return ohne Parameter in die Funktion rein?
vonMorgen ist offline   Mit Zitat antworten
Alt 27.11.2009, 10:21   #11 (permalink)
Coxito ergo sum
 
Benutzerbild von dr_Cox
 

Registriert seit: 23.02.2007
Beiträge: 8.119

dr_Cox kann auf vieles stolz sein
dr_Cox kann auf vieles stolz sein

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

Keine Ahnung. Wie gesagt, hab ich das nie reingeschrieben - geklappt hat's trotzdem.

LG
dr_Cox ist offline   Mit Zitat antworten
Antwort

Stichworte
acpi, definieren, dsdt, fan, geschwindigkeit, hexadezimal, laptop, lüfter, lüfterschwellen, notebook, powerresource, speed


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bluescreen wegen ACPI.sys -]Dr.OeTzi[- CPUs und Mainboards allgemein 10 19.08.2009 10:37
Wolfram alpha Konstanten definieren tomcatoggo Internet & Webprogramme 0 10.08.2009 12:59
[News] 3D fürs Web: Neues Konsortium soll Standards definieren TweakPC Newsbot News Archiv 0 22.09.2008 19:36
Berliner SPD will Regeln für Zuwanderer neu definieren Heison Politik & Gesellschaft 9 10.05.2007 22:47
ACPI oder Standart-PC McErono Windows & Programme 1 22.11.2002 13:25


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr.




Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved