Linux und Notebooks

i_hasser

Grand Admiral Special
Mitglied seit
06.06.2002
Beiträge
18.964
Renomée
85
Standort
IO 0x60
So, ich muss mich jetzt (sicherlich zum wiederholten male) drüber auslassen, zu was Linux alles gut sein kann.

Nachdem ich den powernow-k8 Treiber umgeschrieben hatte und dadurch die Leistungsaufnahme meines DTR A64 im Schlepptop um längen gesenkt hab (auf ca. 50%) war ich mit der Sache immernoch nicht so ganz zufrieden, weil die Lüfter einfach zu laut liefen.


Nachdem ich eine ganze Weile versucht hab hinter die Lüftungssteuerungsgeheimnisse meines Notebooks zu kommen ist mir das heute gelungen ;D (unter Windoofs geht das nach wie vor nicht, und ich kenn auch kein Prog das ansatzweise dazu in der Lage wäre).

Die Lüftersteuerung ist ganz einfach im Hardware Monitoring Chip implementiert, und desswegen schlägt auch das setzen einer direkten Lüfterdrehzahl (unter Windoofs zB. mit Speedfan) fehl.
In dem HW Monitor Chip (den man über den lm85 Treiber erreicht) ist wie gesagt die komplette Lüftersteuerung implementiert. Das heißt also ab welcher Temperatur welcher Lüfter mit welcher Geschwindigkeit losdreht, bis zu welcher Temperatur der Lüfter seine Maximaldrehzahl erreicht usw. - richtig komfortabel also.


Tja, und die Voreinstellungen die das ASUS Bios da gemacht hat waren schlicht Blödsinn, desswegen war das Ding auch immer so laut.
Nach den Voreinstellungen hat er die CPU auf 50°C heizen lassen, dann den Lüfter auf 25% gestellt (sehr deutlich hörbar) und die CPU so auf 43°C runtergekühlt. Dann Lüfter aus und das selbe Spiel nochmal.

Praktisch heist das also, dass die CPU auch bei 800MHz so ganz langsam auf 50°C hochgeheizt hat, dann der Lüfter angesprungen ist (sehr deutlich hörbar) und die CPU wieder auf 43°C runtergekühlt hat (Kerntemperatur wohlgemerkt).

Mal abgesehen davon, dass das schon wegen der niedrigen Temperatur schwachsinn ist (bei 43°C heizt sich die CPU viel schneller wieder auf als zB. bei 50°C) ist es auch nervig wenn alle paar Minuten der Lüfter richtig laut anspringt.

Idealerweise kann man aber die Lüfterdrehzahl in 255 Stufen regeln, und der Lüfter läuft auch schon bei der kleinsten Drehzahl an - unhörbar.
Momentan - bei 800MHz - bleibt die CPU so dauerhaft bei 43°C bis 47°C (jetzt hat er wegen der Flashwerbung auf P3D etwas Auslastung), und ich hör von dem Notebook garnix mehr.

Bei den höheren Taktraten pegelt sich das Lüftergeräusch dann auf auch sehr leisem Niveau ein. Einziges negatives Resultat der Sache: Die GPU wird 3°C wärmer :P.


Bei den ganz niedrigen Drehzahlen laufen die Lüfter warum auch immer schubweise, also mal leicht schneller, mal leicht langsamer - ich werd da mal irgendwann einfach einen kleinen Elko in den Anschluss stecken, das kann man spurlos entfernen und das dürfte den Lüfter auch gleichmäßig laufen lassen.


Also (falls jemandem die Tragweite noch nicht klar sein sollte ;D) ich hab hier ein Asus L5D Notebook (Desktop Replacement, 130W Notebook-Netzteil :o, knappe 2 Stunden Akku-Laufzeit) so leise wie einen dieser synthaft teuren Centrino-Rechner bekommen - nämlich unhörbar. Und das nicht etwa mit einem Mobile A64 der im Idle gerade mal ein paar wenige Watt frisst (laut AMD <1W), sondern mit einem Desktop Replacement, der im Idle mit reduzierter Spannung noch so ungefähr 10W verkonsumiert.

Und bevor jetzt jemand das Argument anbringen will, nein - der Rest vom Notebook ist auch nur lauwarm ;).

Nebenbei hab ich für den A64 auch noch den A64Tweaker von Windoofs portiert, und der RAM im Notebook läuft auch als DDR400 CL2 problemlos ;D.
 
Sag mal, schaltet Dein Slack das Schlepptop auch ordentlich aus oder mußt Du mit der Hand nachhelfen? Ich hebe das Prob. das mein A64 auf Abit Av8 einfach nicht ausschalten will apm hilft da auch nix .... Kannst Du helfen?

Gruß Wuschl
 
Schaltet problemlos aus, allerdings benutz ich seit eh und je Eigenbau-kernel. Da schaltet er per ACPI eigentlich immer aus.
 
hat sich dadurch auch die laufzeit verändert?
 
Hab ich nicht geguckt, sollte aber ein bisschen, weil die Lüfter weniger Saft ziehen.

Allgemein hab ich aber auch festgestellt, dass mir die Laufzeit herzlich egal ist, weil ich das Notebook sowieso nicht unterwegs benutze - ist eigentlich immer eine Steckdose in der Nähe.
 
Bei meinem Lidl-Notebook (Targa Visionary XP 2200+, ziemlich genau 2 Jahre alt) habe ich die Akkulaufzeit durch
a) BIOS-Update
b) Einsatz von Programmen wie cpudyn
unter Linux von zunächst etwa 80-90 Minuten auf jetzt über 2-3 Stunden steigern können. Wie lange das Notebook unter Windows XP hält, weiß ich nicht, das habe ich nie so lang laufen ;-)
 
ich habe eben diesen thread entdeckt, da mich die lüftergeschichte von meinem notebook ziemlich nervt (cpu heizt bis auf 52°C, danach springt der lüfter an und geht ewig nicht mehr aus, bis die cpu auf unter 40°C ist).
mich würde jetzt interessieren wie genau du das gemacht hast mit der lüftereinstellung.
als os verwende ich auf meinem notebook gentoo.
 
Es gibt 2 Varianten, entweder wird der Lüfter über ACPI gesteuert, oder über den Sensor Chip.

Am einfachsten zu kontrollieren ist dabei die 1. Variante, am komfortabelsten die 2.


Da per ACPI ziemlich schnell zu kontrollieren geht, fängst du am besten damit an. Dazu braucht du das Fan-Module was im Kernel bei ACPI rumfliegt. Das muss rein, dann hast du (idealer weise) bei /proc/acpi ein Verzeichnis fan mit dem Unterverzeichnis(sen) FAN0 (FAN1, FAN2...).

Darin hast du eine Datei state, die dir angibt ob der Lüfter an oder aus ist. Wenn der Inhalt davon ('cat state', keinen Editor nehmen!) mit dem Zustand des Lüfters übereinstimmt, kannst du das auf jeden Fall schonmal auslesen. Bei meinem L5D gehts auch.
Dann kannst du versuchen den Lüfter per 'echo "state: on" > state' (bzw. "state: off") zu steuern (kann sein, dass der Text etwas anders aussieht - muss vom Format her so aussehen, wie die Ausgabe von cat state).

Wenn der Lüfter macht, was du ihm sagst, geht es über ACPI. Bei meinem Toshiba Tecra8000 funktioniert es so zum Beispiel, mein L5D reagiert da einfach nicht drauf.

Also wenn es geht brauchst du nur noch ein Skript, das immer die Temp ausließt und entsprechend den Lüfter anstellt (oder ausstellt). Denke mal aber, dass es so nicht funktionieren wird.


Die 2. und technisch ausgereiftere Möglichkeit ist, das über einen Sensor Chip zu implementieren. Die Möglichkeiten wie du das regeln kannst, hängen da aber eben auch ganz spezielle vom verwendeten Chip an. Erstmal brauchst du da alle Kernelmodule bei i2c -> hardware sensors, selbes bei i2c busses - es sei denn, da ist dein Chipsatz aufgeführt (bei den sensor-Treibern kannst du dir das natürlich auch sparen, wenn du weist welcher drinne sitzt).

Glaub sensors-detect war es, was dir alles durchprobiert und sagt welcher drinnen sitzt. Also ich geh einfach mal davon aus, dass du weist, wie du den entsprechenden Treiber da reinbekommst (wenn du Gentoo benutzt... ;)).


Dann hast du unter /sys/bus/i2c/drivers/[chiptreiber]/[hardware adresse] die ganzen Steuerdateien vom Sensor Chip. Und da bleibt dir nix anderes übrig als die Doku vom Treiber zu lesen, denn der Aufbau davon ist von Sensor zu Sensor unterschiedlich.

Wenn du so rankommst, kannst du ja mal den Inhalt von dem Verzeichniss posten.
 
i_hasser schrieb:
Bei den ganz niedrigen Drehzahlen laufen die Lüfter warum auch immer schubweise, also mal leicht schneller, mal leicht langsamer - ich werd da mal irgendwann einfach einen kleinen Elko in den Anschluss stecken, das kann man spurlos entfernen und das dürfte den Lüfter auch gleichmäßig laufen lassen.

Das solltest du vermeiden, denn das ist schädlich für die Lüfter (macht die Lager kaputt). Alle mechanischen Geräte (Motoren, Lüfter, weißderGeier) haben einen Bereich, bei dem sie extremen Belastungen ausgesetzt sind. Der ist recht nahe dem Stillstand, AFAIR. Da sie bei jedem an- und abschalten durch diesen durch müssen, sind häufige Schaltvorgänge für die meisten Geräte auch relativ ungesund. Allgemein leben solche Geräte länger, wenn sie dauerlaufen, als wenn sie ständig an- und ausgeschaltet werden.
 
Naja, schneller-langsamer ist ja nicht an-aus. Aber abgesehen davon ist die Lüftersteuerung per PWM allgemein ein an-aus, was allerdings je nach Einstellung des Sensor Chips eben mit 100kHz passiert.

Lüfter sind da eigentlich sehr robust. Ich hab in meinem Rechner Lüfter, die teilweise schon über 15 Jahre in Betrieb waren - und die laufen komischerweise am besten ;). Ihre spezifizierten Laufstunden haben die schon längst überschritten.
 
i_hasser schrieb:
Naja, schneller-langsamer ist ja nicht an-aus.

Ich meine damit, dass sich die Lüfter bei dir permanent in diesem Bereich bewegen, der am schädlichsten für sie ist.

Aber abgesehen davon ist die Lüftersteuerung per PWM allgemein ein an-aus, was allerdings je nach Einstellung des Sensor Chips eben mit 100kHz passiert.

Das ist auch nicht wirklich gut.

Lüfter sind da eigentlich sehr robust. Ich hab in meinem Rechner Lüfter, die teilweise schon über 15 Jahre in Betrieb waren - und die laufen komischerweise am besten ;). Ihre spezifizierten Laufstunden haben die schon längst überschritten.

Ich möchte wetten, dass die auch nicht permanent an- und ausgeschalten werden. ;)
 
Aber die 100'000 Laufstunden, für die die Lüfter vielleicht mal spezifiziert wurden, sind schon lange lange lange vorbei ;).
 
i_hasser schrieb:
Aber die 100'000 Laufstunden, für die die Lüfter vielleicht mal spezifiziert wurden, sind schon lange lange lange vorbei ;).

Glaub ich dir gerne, adressiert aber nicht das Problem, welches ich angesprochen habe. Es geht ganz einfach darum, dass du die Lüfter aus dem kritischen Geschwindigkeitsbereich heraus halten solltest. ;)
 
Schau dir mal die ganzen SIlent-Lüfter an die es gibt, die laufen auch im geringsten Drehzahlbereich der möglich ist. Notebooklüfter sind dafür sowieso ausgelegt, weil die bei einem Notebook sowieso dauernd neu anlaufen, oder eben dauerhaft auf geringer Drehzahl laufen.

Also - wo ist das Problem? ;)
 
@i_hasser

thx erstmal für deine ausführliche antwort.
ich hab' eben probiert den lüfter über acpi anzusprechen und das klappte leider nur zu 50% :( -> er war zuerst aus, duch ein echo "status: on" ging er an, ließ sich danach allerdings nicht mehr ausschalten.
ich werd nacher mal das über den sensor-chip probieren.
 
Und was mache ich, wenn kein Sensorchip verbaut ist, bzw. sich kein Treiber für das System verantwortlich fühlt? Habe ich wohl kaum eine Chance, oder?
 
Naja ohne SensorChip gehts net.

Irgendwas ist dafür verantwortlich die Lüfter zu regeln. Kann sein, dass da vielleicht ein herstellerspezifisches Teil drinnen sitzt, tut es aber praktisch nie (weil ein Haufen Entwicklungsaufwand, nur um das Rad nochmal neu zu erfinden). Und selbst dann ist es in der Regel irgendwie per ACPI angebunden, was dafür ein ziemlich einheitliches Interface anbietet.

Wenn die Kernel Treiber deinen Hardware Chip oder SMBus nicht kennen, sitzt du auf dem Trockenen. Dann laufen die Lüfter wie voreingestellt. Die Aussicht ist dann aber gut, dass es in Zukunft Treiber für diesen Chip geben wird. Wenn man mal eben testen will welcher Chip drinnen sitzt eignet sich SpeedFan ganz gut (Win-Prog), das spuckt aus welche SensorChips es gefunden hat.
 
i_hasser schrieb:
Wenn man mal eben testen will welcher Chip drinnen sitzt eignet sich SpeedFan ganz gut (Win-Prog), das spuckt aus welche SensorChips es gefunden hat.

Gna, ich habe Windows gerade runter geschmissen. Das werde ich dafür jetzt nicht wieder extra installieren, und die komplette Linux-Installation dafür zerstören.
 
Ich meinte eher beim Notebook-Kauf, unter Linux tut es auch ein sensors-detect.
 
i_hasser schrieb:
unter Linux tut es auch ein sensors-detect.

Das habe ich ja gemacht, nur passt da keiner der vorhandenen Treiber. Ich kann vielleicht noch schauen, ob in 2.6.12-rc2 da was verändert wurde gegenüber 2.6.11.7, aber so richtig Hoffnung habe ich da nicht. Da das außerdem ein PIII-mobile ist, sollte das nicht so was bahnbrechend neues sein, was da seinen Dienst tut.
 
Fujitsu-Siemens CELSIUS Mobile A (Pentium III Mobile 1GHz)

Via ACPI habe ich es noch nicht versucht. Ich will ja den Föhn nicht nur an- und abschalten, sondern ganz gerne gezielt regeln.
 
Wenn du den Lüfter per /proc/acpi/fan regeln kannst, gibts noch die Möglichkeit, dass du über /proc/acpi/thermal_zone/.../trip_points regeln kannst.

Allerdings stellt das ACPI Interface da nur eine bestimmte Anzahl an Zuständen zur Verfügung (meinentwegen Lüfter aus, Lüfter minimal, Lüfter normal, Lüfter maximal). Da kannst du die Temperaturgrenzen für diese Zustände beeinflussen, wenn du die Grenzen meinentwegen 5°C nach oben verschiebst, verlängert das die ruhigen Zeiten deutlich.
 
i_hasser schrieb:
Wenn du den Lüfter per /proc/acpi/fan regeln kannst, .

Nope, geht nicht. Der schert sich da nicht wirklich drumm. Außerdem würde ich ja auch ganz gerne die Temperaturentwicklung beobachten. :(

edit:
D.h. an ging er offenbar schon, auf sehr niedrigem Level. Nur aus bekomme ich ihn nicht wieder.
 
mach mal ein modprobe thermal_zone (wenn der ACPI Treiber als Modul da ist) und dann ein cat für alle Dateien in /proc/acpi/thermal_zone/TRM0(oder so)/*
 
Zurück
Oben Unten