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:
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:
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 3Hex-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
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.
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).
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
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...
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?
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.
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.
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.
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?