Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

Dieses Thema im Forum "Acer Extensa Forum" wurde erstellt von gunthers, 24. Februar 2010.

  1. #1 gunthers, 24. Februar 2010
    Zuletzt von einem Moderator bearbeitet: 5. Oktober 2010
    Neu Eingetragen 06.11.2012
    Eintrag durch Moderator:
    Ergebnisse aus diesem Thread zwecks Übersichtlichkeit:

    ACFanControl Kompatibilitätsliste - welche Acer Modelle laufen damit?

    Hier die aktuelle Software und ein Tutorial.

    ACFC_71b_Tutorial_r04.zip

    ACFC 71b vers. ist hier
    (als komplettes Setup und enthält die ini für die Extensas)

    ACFanControl_71b_8942G_ini.zip (4,3 KB)
    .ini-Datei für Aspire 8942G für v.71b

    ACFC v.0.72ti expert
    Letzte ACFC-Version mit Farb-Icon
    (enthält das komplette Setup und die ini für die Extensas - angefügt 05.10.2010)

    Hier .ini-Datei für Aspire 8942G für v.0.72ti expert
    mit optimierter Tempregelung

    Success..! Mein Extensa hält seit gestern den Rand (bis ~53°). Hier eine Anleitung zum herausfinden, ob es bei euch auch funktioniert. Für Linux gibt es ein gut funktionierendes Kernel Modul, das Programm zur Lüftersteuerung unter Windows (a1ctl mit angepassten Werten) konnte ich noch nicht ausprobieren.

    Warnung
    Das Testen der Werte ist potentiell gefährlich, da auf low-level Ebene gearbeitet wird. Ich habe zwar mein halbes EC-Register mit verschiedensten Zahlen malträtiert, und es ist nichts passiert. Trotzdem - die Funktionen sind undokumentiert, es ist nicht sicher das die Parameter auf anderen Modellen die gleichen sind (mehr dazu unter Anwendbarkeit). Immer die Temperaturen im Auge behalten, und keine wichtigen Dokumente im Hintergrund geöffnet halten... Hat man die richtigen Werte gefunden, und sich eingehend von der korrekten Funktion überzeugt, ist das ganze relativ unproblematisch.

    Anwendbarkeit
    Für den Extensa 5635ZG Bios V1.3311 sind die Werte/Offsets bekannt (siehe unten). acerhdf funktioniert perfekt und ist bei mir seit gestern im Einsatz. Wer dieses Modell und Bios besitzt, kann den restlichen Post überspringen und sich die gepatchte Version im Anhang herunterladen (ab kernel 2.6.30, Readme lesen!).

    Da 5235 und alle 5635 Modelle (z/g/zg) ein identisches Bios besitzen, ist die Wahrscheinlichkeit hoch dass auch die Offsets und Werte für die Lüftersteuerung die gleichen sind. Mit der aktuellen Bios-Version 3311 wurde auch der EC geupdated, es könnte also sein das die Werte bei älteren Bios-Versionen anders sind.
    (die Methode funktioniert theorethisch auch für andere Modelle, allerdings ist die Wahrscheinlichkeit das die Werte gleich sind, um einiges geringer).


    Test
    Ihr müsst drei Werte testen:
    a) Temperatur auslesen
    b) Lüfter aus
    c) Lüfter an (auto/Bios-Kontrolle)

    Wenn es funktioniert (wenn nicht, auch), bräuchte ich von euch Modellbezeichnung und Bios-Version. Für Windows müsste sich jemand anders bereit erklären, A1ctl mit diesen Werten zu testen, habe gerade kein Win drauf. Für Linux siehe acerhdf. Wenn das WIndows tool und noch ein par weitere Laptops getestet sind & alles funktioniert, schreib ich nochmal ein How-To.

    Bitte Beachten:
    1. Ich erachte das jetzt nicht als sonderlich gefährlich, aber ihr habt die Warnung oben gelesen! Alle Änderungen sind nur temporär, falls was schief geht neustarten.

    2. Bitte meldet erst Erfolg, wenn ihr ausgiebig getestet habt. Wenn die Werte bei mindestens zwei Leuten mit dem gleichen Modell & Bios funktionieren, schicke ich die betreffenden Änderungen an den maintainer von acerhdf. Die landen dann (irgendwann, kann bis zu 6 Monate dauern...) im mainline kernel, bis dahin kann ich hier eine gepatchte Version bereithalten.

    3. A1ctl für Windows müsste theorethish funktionieren, wenn es mit den genannten Werten gefüttert wird (in .ini anpassen).

    Alle Werte sind Hexadecimal, zum umrechnen kann google benutzt werden (z.b. "0x20 in decimal" oder "32 in hex"). Die Offsets geben die Stelle im Register an, die geschrieben oder gelesen wird. Dabei ist die erste Zahl die horizontale, die zweite die vertikale Position (0x5E: 5 von oben und 0x0E=14 von links). Hört sich komplizierter an als es ist, hier ein screenshot zur Verdeutlichung (das eingekreiste Feld ist 0x55, die dort gezeigten Werte sind für ein anderes Modell).

    Windows
    Zum lesen und schreiben des EC braucht ihr RW-Everything und ein laufendes Programm zum Überwachen der CPU-Themperatur (z.B. speedfan).
    1. Programm öffnen, auf EC klicken (siehe screenshot im link oben)
    2. Temperatur: schaut euch den Offset 0x58 an und vergleicht ihn mit eurer CPU-Temperatur (leider in hex...). Stimmt überein? weiter gehts!
    3. Lüfter aus: doppelklickt den Offset 0x55, und gebt unten 32 ein (0x20 in hex). Fenster schließen, ein paar Sekunden warten.
    3a) nichts passiert - war wohl leider nichts. Neustarten um alles wieder zurückzusetzen. Schade!
    3b) Lüfter geht aus - Temperatur im Auge behalten! Der Lüfter schaltet sich jetzt nicht mehr automatisch an! Schaut euch mal die Offsets 0x5C, 0x5D und 0x5E an - müsssten alle auf null sein.
    4.) Lüfter wieder an: gleichen Offset (0x55) auf 00 ändern. Nach kurzer Zeit müsste der Lüfter wieder anspringen und normal funktionieren (Bios hat die Kontrolle übernommen). Falls nicht - Neustart! und alles ist wieder wie vorher.

    Linux
    Ladet euch das perl script acer_ec von hier herunter (unter tools).

    1. Temperatur:
    Offset 0x58 muss die Cpu-Temperatur anzeigen.
    Entweder direkt auslesen per:
    Code:
    sudo perl acer_ec.pl ?= 0x58
    oder den gesamten table anzeigen (Vorteil: in decimal...)
    Code:
    sudo perl acer_ec.pl regs
    2. Lüfter aus:
    Code:
    sudo perl acer_ec.pl := 0x55 0x20
    3. Lüfter an/auto:
    Code:
    sudo perl acer_ec.pl := 0x55 0x00
    
    Wie es funktioniert
    Der Lüfter kann nicht über ACPI angesprochen werden (was der leichteste Weg wäre), da er allein vom sogenannten "Embedded Controller" gesteuert wird. Es ist möglich, softwareseitig den EC auszulesen und zu schreiben, allerdings sind die Parameter undokumentiert. Zusätzlich können die Funktionen der einzelnen Offsets (Register, in die verschiedene Werte geschrieben werden können) abhängig von Model und Bios-Version sehr verschieden sein.

    Bis jetzt scheint es nicht möglich, die Temperatur-Schwellenwerte (trip_points) für die Lüftergeschwindigkeit direkt zu verändern (sind wahrscheinlich fest in der firmware verankert). Es ist aber möglich, den Lüfter aus- und anzuschalten (bei "an" übernimmt das Bios wieder die Kontrolle), wenn man die richtigen Offsets und Werte dafür kennt. Darauf bauen diverse Programme auf, die konstant die Temperatur auslesen und die Aktivität des Lüfters nach selbst wählbaren Temperaturgrenzen steuern:
    a1ctl für Windows, in der aktuellen Version lassen sich die Werte manuell über eine .ini eintragen -> von mir nicht getestet
    acerhdf kernel module für Linux, seit 2.6.32 in mainline -> kann leicht gepatched werden

    Acer Extensa 5635ZG mit Bios V1.3311:

    0x58 zeigt die CPU-Temperatur
    0x55 schaltet den Lüfter aus bzw. übergibt die Lüfterkontrolle dem Bios/EC:
    0x00 = auto, Wert ändert sich dann je nach aktuellem Lüfterlevel (1-4)
    0x20 = Lüfter aus
    0x5E kontrolliert die Lüftergeschwindigkeit, kann den Lüfter aber nicht ausschalten (0x00 hat hier keinen Effekt):
    0x01 = Lüfter an niedrig
    0x02 = Lüfter an mittel
    0x03 = Lüfter an hoch
    0x04 = Lüfter an sehr hoch
     
  2. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    danke für die test anleitung... einen teilerfolg habe ich unter windows xp zu verzeichnen:
    ich habe ein extensa 5635z mit der bios version 3219 (auslieferungszustand).
    mit read&write utility habe ich den EC ausgelesen und 0x58 zeigt tatsächlich auch bei meiner bios version die temperatur an und über 0x55 lässt sich der lüfter aus oder auf automatik schalten (die anderen offsets hab ich leider nicht gefunden, bin wahrsch zu doof für hex, wo ist 0x5e????), das würde ja eigentlich schon reichen, denn wenn ich das richtig verstanden habe müsste man jetzt mit a1ctl regeln bei welcher temperatur dieses offset auf aus bzw auf autom geschaltet wird, richtig? leider bekomme ich wenn ich a1ctl starten möchte die meldung: "laufzeitfehler 13 - typen unverträglich". das wird wohl daran liegen, dass das prog ursprünglich für die aspire ones geschrieben wurde. gibt es vielleicht andere derartige programme? mir würde das nämlich völlig reichen, wenn die bios lüfteratumatik erst ab einem höheren temperaturwert (z.B. ab 50 grad oder so) eingreifen würde, drehzahl is ja dann egal...
     
  3. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    gunthers, vielen Dank für die Anleitung. =)

    Ich kann das Ergebnis für das Modell 5635Z (ohne G!) mit BIOS 3311 bestätigen:

    Temperatur ausgelesen und Lüfter gesteuert per acer_ec.pl unter Ubuntu 9.10 (Kernel 2.6.31-19-generic).

    Bei z. B. 53 Grad startet der Lüfter im auto-Modus auf höchster Stufe (dem Lärm nach) und schaltet bei 49 Grad auf die niedrigste Stufe runter, sofern man nicht manuell in die Geschwindigkeit eingreift.

    Probleme:

    - Das Kernelmodul acerhdf funktioniert bei mir nicht...
    Code:
    sudo modprobe acerhdf 
    FATAL: Error inserting acerhdf (/lib/modules/2.6.31-19-generic/kernel/drivers/platform/x86/acerhdf.ko): No such device
    
    ... und legt bei einem Neustart sogar den Rechner lahm!? Die Anzeige bleibt schwarz und selbst ein blindes sudo reboot an der Konsole wird ignoriert :confused:. Abhilfe: per LiveCD das Modul blacklisten.

    - Das Laptop erreicht leider keinen Zustand, in dem es sich selbst "passiv" kühlt, d. h. auch in dem höheren Temperaturbereich um die 50 Grad steigt die CPU-Temperatur immer noch weiter an und macht den Einsatz des Lüfters erforderlich, der selbst auf der niedrigsten Stufe erstaunlich laut ist. Der Zeitraum zwischen den erforderlichen Lüftereinsätzen wird allerdings größer. Fünf Minuten, wenn bis die Temperatur von 47 zurück auf 53 Grad gestiegen ist.
     
  4. #4 gunthers, 24. Februar 2010
    Zuletzt bearbeitet: 24. Februar 2010
    AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    @ fqr
    hmm, shiiit. In den Kommentaren hat "Sunny" eine update der a1ctl.exe gepostet, such mal nach
    Code:
    luckily noda released the sourcecode of his project
    Vielleicht damit? Auch wenns läuft, muss man noch die richtigen EC werte einfügen, aber den changenotes nach geht das:
    + added custom EC values for fan control, with simple testing function

    Es gibt wohl noch ein paar andere Programme, 1810tray und AA1 Fancontrol scheinen aber dafür leider nicht zu funktionieren.

    0x5E ist Zeile 5, Spalte E

    @ El Delinquente
    autsch. läd ubuntu das modul automatisch beim nächsten start, nur aufgrund des modprobes? seltsam. naja, nach dem du es geblacklisted hast dürfte das nicht mehr passieren, modprobe geht meines wissens weiterhin. ansonsten vielleicht explizit rmmod vor dem neustart...

    Die Fehlermeldung kommt daher, dass dein Modell und Bios nicht auf der Kompatibilitätsliste steht. Schau dir dmesg an für mehr infos. Im Anhang eine Version, die 5635Z/3311 enthält - kompilier die doch mal neu, müsste dann gehen.

    (aternativ kannst du auch mit folgendem Befehl das Laden erzwingen, die Werte sind für dieses Modell gleich:
    Code:
    sudo modprobe acerhdf force_bios="v0.3310" force_product"AOA150" interval=10 fanon=50000 fanoff=46000 verbose=1
    wegen dem force muss die lüftersteuerung manuell aktiviert werden.
    checken welche thermal zone acehdf besitzt:
    Code:
    cat /sys/class/thermal/thermal_zone0/type 
    cat /sys/class/thermal/thermal_zone1/type 
    dann entsprechend:
    Code:
    echo -n enabled > /sys/class/thermal/thermal_zone1/mode 
    )

    Leider gibt es meines Wissens kein Programm, dass den Lüfter mit angepasster Geschwindigkeit regelt (1810tray schreibt, glaube ich, direkt werte für die geschwindigkeit, die bei uns auf 0x5C ausgegeben werden, sich aber nicht überschreiben lassen).
    Dafür müsste an zwei verschiedene offsets geschrieben werden, oder noch neue Werte/Offsets gefunden werden die den Lüfter sowohl ausschalten wie regeln können. Der Code würde auch komplexer werden... Ich bin da komplett raus, keine Ahnung von. Wenn ich ne mail an piie (acerhdf) schreib, frag ich mal nach.

    Ich habe die Grenzwerte bei mir auch schon etwas nach oben gesetzt, damit bleibt der Lüfter jetzt meistens aus (Office, Mail und Surfen ohne video oder monsterflash). Bin noch am experimentieren - Nicht perfekt, aber für mich schon um einiges besser...

    btw, bei 53/auto ist er erst auf stufe 2 ;) setz mal fanon auf 65 - fiese kleine röchelturbine...
     

    Anhänge:

  5. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    @ gunters: super 0x5e gefunden, danke!

    ok a1ctl in der von sunny geänderten version läuft auf dem extensa.(achtung: die geänderte datei ist nur die exe und kein installer, dh in den ursprünglichen a1ctl ordner kopieren und die alte exe überschreiben). wenn ich die .ini des programms unverändert lasse, dann lässt sich der temperaturwert, ab dem das bios die kontrolle übernimmt nach oben verschieben. das programm ändert offset 0x55 auf 21... aber ich habe hier das gleiche problem wie bei aa1 fancontrol, nämlich, dass der lüfter sich gar nicht mehr ausschaltet, auch nicht, wenn der untere wert unterschritten ist. der lüfter stoppt erst wenn das programm a1ctl beendet wird.
    ich habe mir die .ini mal näher angesehen, und da bei der lüfter controlle nur die schwellenwerte in grad gesehen, nicht aber irgendwelche angaben über offsets. (aber ich bin auch nicht wirklich ein experte im deuten von .inis ;-))
    folgendes steht in der ini bei:
    [Advanced]
    PreventHDClicks=Falsch
    ShowRemainingBattIcon=Wahr
    TimerInterval=3000
    EnableDownscaling=Falsch
    ShowFullSizeTempIcon=Falsch
    SingleIconMode=Falsch
    [Fan]
    Control=3
    Stop=48
    Slow=0
    Auto=49
    [Processor]
    AC=1
    DC=1
    [Colors]
    TemperatureTextColor=&HFFFFFF
    TemperatureTextColor2=&H40FF60
    BatteryTextColor=&H0
    [Device]
    DEVICESET=0


    hat einer eine idee, ob ich hier eventuell ausser den temperaturwerten irgendwie noch was einstellen kann, das den lüfter dazu bringt im unteren wert wieder auszuschalten? über hilfe wäre ich sehr dankbar
     
  6. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    Funktioniert super, vielen Dank! :]

    Weiß eigentlich jemand, welche Temperatur der Prozessor noch aushält? Ich habe keine zuverlässigen Angaben gefunden...
     
  7. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    das sind die werte, dich ich gefunden habe auf ner packard bell seite über den t4300:
    Maximum temperature 105 C

    CPU - Intel Pentium Dual-Core T4300 - spec_cpu_KC.43001.DTP - Information and Instructions - EASYNOTE_DT85-CU-001BE - LX.BC602.002 - EasyNote DT85 Series - platform_sjm80_mv - Notebook

    glaube aber, dass das die absolute fry temperature sein dürfte... glaube gelesen zu haben, dass sich der t4300 bei ca 90 grad abschaltet. finde aber hierfür grade keinen beleg...
     
  8. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    @ fqr

    a1ctl startet bei mir auch nicht unter winxp sp3 (er 13 - type mismatch). sunny's version geht, allerdings ist die älter (0.5), und customEC gabs erst mit Version 1.0...
    Aus dem Quellcode kann man grob erschließen, das die Funktion zum angeben eigener EC-Werte über die graphische Oberfläche implementiert ist, also doch nicht per.ini.

    version 1.0 scheint bei den meisten anderen zu gehen, ich glaube nicht das es am notebook liegt - schätze eher das hängt von der windows version oder anderer software ab (dort ist vb6 verlinkt, vielleicht muss das installiert werden?).

    Keine Ahnung was da los ist, ansonsten frag doch mal dort direkt um Hilfe (nova scheint sich allerdings länger nicht gemeldet zu haben).

    @ El Delinquente:

    meiner ist jetzt meistens so bei ~57 grad, das müsste er wegstecken können. allerdings wird so natürlich auch der rest des laptops wärmer - denke aber auch das geht noch klar. acerhdf schaltet bei temperaturen über 89 grad automatisch auf bios-kontrolle zurück.
     
  9. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    Das klingt echt gut, was ihr hier schreibt. Krieg ich das auch für Windows hin? Ich weiß, dass da das NHC mächtig genug ist, sofern man ein entsprechendes Script geschrieben hat. Da ich das aber nicht will / kann, suche ich nach einer Alternative. Habt ihr da ne Idee?

    Viele Grüße
    Dirk
     
  10. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    nhc wird auch bei passendem acpi file nicht funktionieren, soweit ich informiert bin. deshalb wird hier grade mehr oder weniger erfolgreich versucht die werte im EC zu verändern... lies doch einfach nochmal den ganze thread, probier selbst rum und teil uns deine ergebnisse mit...

    @gunthers, habe ich mir fast gedacht, dass das im quellcode festgeschrieben ist... schade, damit kenn ich mich nun überhaupt nicht aus. werde aber mal unseren sys admin im büro fragen, der hat uns schon so einiges gebastelt und umgeschrieben, ob der da mal nen blick drauf werfen kann. muss eh mal checken welche version von a1ctl ich habe.... vielleicht klappts ja mit der 1.0 version
     
  11. #11 Diirk, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
    AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    Das wäre unschön, wenn sich mit NHC nix bewerkstelligen lässt. Aber was heißt "soweit ich informiert bin" konkret?

    Wie verschafft man sich denn Zugang zu dem sogenannten Embedded Controler (EC?) ?

    PS: Vielleicht lass´ich lieber die Finger von Sachen, von denen ich keinen Plan hab. Von daher nur meine recht allgemein gehaltene Anfrage nach weiteren Möglichkeiten (für unwissende Ergebnisorientierte) ;)
     
  12. #12 gunthers, 26. Februar 2010
    Zuletzt bearbeitet: 26. Februar 2010
    AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    @ fqr
    in der aktuellen Version kann man die EC-Werte einfach als Option in der graphischen Oberfläche einstellen, das sehe ich dem quellcode gerade noch an - bin da ansonsten aber auch ahnungslos, leider null ahnung von programmieren.

    die "sunny" version ist 0.5, du bräuchtest 1.0 - und die hat das type mismatch problem...

    @ Diirk

    Was für ein Notebook und Bios hast du denn? Könntest du mal testen, ob sich a1ctl bei dir starten lässt?
     
  13. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    ja leider bekomme ich mit 1.0 wieder den type mismatch error.... sch****. naja ich werde wie gesagt mal jemanden fragen, der ahnung vom programmieren hat... vielleicht kann der mir (uns) was schönes basteln... ich werde berichten...
     
  14. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    Siehe Signatur...
     
  15. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    ... danke für die warnung, ist mir durchaus bewusst ;-)
     
  16. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    Mittlerweile habe ich doch eine "Nebenwirkung" des acerhdf-Moduls gefunden: Bei mir wird bei geladenem Modul die Helligkeitssteuerung der Bildschirms gelähmt (funktioniert nur noch mit großer Verzögerung und großem CPU-Einsatz).

    Einmal habe ich auch einen Absturz des acpid beobachtet, so dass sich das System nicht mehr richtig runterfahren ließ - ob dies aber nur Zufall war oder auch mit dem Modul zusammenhing, weiß ich nicht.
     
  17. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    bist du sicher, dass das mit acerhdf zusammenhängt? bei mir funktioniert alles wie vorher. siehst du was in dmesg?
     
  18. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    ?( Jetzt nicht mehr! ?(

    Heute morgen funktionierte die Helligkeitskontrolle jeweils normal bis zum Laden des Moduls, danach nur noch stark zeitverzögert. Deswegen war ich auf einen Zusammenhang gekommen. Jetzt ist der aber nicht mehr reproduzierbar, momentan funktioniert die Helligkeitskontrolle TROTZ geladenen acerhdf-Moduls...

    dmesg ist auch in beiden Fällen gleich (also auch ohne das Modul):

    Code:
     
    [  231.404292] ACPI: Failed to switch the brightness
    [  231.476274] ACPI: Failed to switch the brightness
    [  231.548271] ACPI: Failed to switch the brightness
    [  231.624268] ACPI: Failed to switch the brightness
    [  231.692277] ACPI: Failed to switch the brightness
    [  231.764298] ACPI: Failed to switch the brightness
    [  231.840139] ACPI: Failed to switch the brightness
    [  231.912256] ACPI: Failed to switch the brightness
    [  231.984274] ACPI: Failed to switch the brightness
    
    Also möglicherweise (!) falscher Alarm...
     
  19. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Questioning

    Habt ihr schon eine Idee für Win7 Nutzer?
     
  20. AW: Lüfterkontrolle 5235 / 5635 (z/g/zg): Testing

    überlesen?