OSX Lüfter Speed Control

  • Hallo,
    folgendes: Ich habe gerne einen positiven Luftdruck in meinem Case um Staub vorzubeugen. Installiert habe ich den Standard exhaust Lüfter auf der Rückseite vom Case der mit dem Gehäuse mitgeliefert kommt und leise aber langsam läuft (1000 rpm); dann ist ein Alpenföhn Brocken CPU Kühler am werkeln der Richtung Case-Rückseite bläst (1500 rpm); und vorne sitzt noch einen Be Quit Shadow Wing, der durch einen Filter Luft in das Gehäuse reinzieht (2200 rpm). Um positive Airpressure im Case zu erreichen, gibt es ja zum Beispiel für Windows schöne Tools wie SpeedFan, bei denen sich für jeden Lüfter eine Leistungskurve erstellen lässt. Dementsprechend kann man das ganze so einrichten, dass wenn die CPU heißer wird, der CPU-Kühler schneller läuft, aber dementsprechend auch der Front Lüfter mehr Luft ins Gehäuse saugt und man dadurch immer noch mehr Luft einsaugt als rausbläst. Das bewirkt, dass nicht durch irgendwelche Ritzen im Case Staub von überall ins Gehäuse gezogen wird. Solche Tools gibt es auch für OSX wie zum Beispiel FanControl, SMC Fan Control oder HWMonitor. All diese Tools können normalerweise auch die Lüfter ansprechen und schneller drehen lassen, oder auch nicht. Das blöde ist, dass egal was man einstellt diese Programme es nicht auf die Reihe kriegen die Lüfter anzusteuern. Auch die RPM-Control vom Bios mag nicht funktionieren (wahrscheinlich wegen nur 3Pins). Mein Problem dabei ist, dass ich
    1. keinen positiven Luftdruck (mehr Luft rein als raus) erreichen kann, da die Case Lüfter immer nur im Standard Takt laufen
    2. Ich zwar den vorderen (Einsaug)-Lüfter auf Fullspeed im BIOS setzen kann um positive Airpressure zu erreichen, das ding dann aber zu laut wird und
    3. Dass ich nicht das volle potenzial meine Lüfter ausnutzen kann.
    Meine Frage: Gibt es ein Tool oder einen Trick mit dem man unter OSX bei einem Hackintosh WIRKLICH die Lüfter regeln kann (zb über das Terminal oder eine DSDT) oder kann man das BIOS irgendwie so erweitern, dass man ein gescheites Lüftersetup erreichen kann.
    Ich weiß, dass sind Schönheitsprobleme, trotzdem würde mich eine Lösung sehr freuen (Ich bin nunmal eher ein Ehrgeiziger wenns um mein Hacky geht ;) )
    Vielen, vielen Dank im Voraus! :danke2:

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Hatte damals bei meinem MacPro ein Upgrade von 4 auf 8 Core gemacht. Da Apple zu "großzügig" war was Temperaturentwicklung angeht hatte ich mir ein Bash-Script geschrieben was im Hintergrund lief und die Lüfter entsprechend geregelt hat. Thread findest Du hier:


    http://www.macuser.de/threads/…os-mit-cpu-upgrade.621442


    Musst Du nur auf Deine Bedürfnisse anpassen. Bzw. mit der Binary IN der smc-fancontrol app erstmal die Lüfter auslesen welcher Lüfter auf welcher Adresse liegt.

    Einmal editiert, zuletzt von Sascha_77 ()

  • Wow! Das Probier ich mal aus! :danke:v Wie binde ich denn die Befehle ein? Einfach in Terminal eingeben @Sascha_77

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

    Einmal editiert, zuletzt von kuckkuck ()

  • Musst Du über einen LaunchDaemon machen. Oder meinst Du denn Quelltext im anderen Forum? Den musst du in einer script datei lokal speichern und dann via LaunchDaemon beim Hochfahren starten lassen.


    Hab dir mal die script-datei mit angehangen.


    Wenn man den Launchdaemon nicht von Hand erzeugen will gibts hier eine GUI:


    https://www.peterborgapps.com/lingon/

    Dateien

    • fans.sh.zip

      (548 Byte, 147 Mal heruntergeladen, zuletzt: )

    Einmal editiert, zuletzt von Sascha_77 ()

  • Das Script funktioniert doch so, dass bei einer bestimmten Temperatur, bei SMC FanControl ein bestimmter wer eingestellt wird. Ich glaube aber, dass dies nicht funktioniert, da SMD FANControl bei mir nicht funktioniert und meine Lüfter nicht anspricht. Würde es demnach nicht funktionieren, oder habe ich mich da getäuscht? Kann ich als Launchdeamon auch Go4Launch benutzen? Ich will halt nicht 10€ ausgeben bevor ich weiß das es geht ;) Verstehst du @Sascha_77

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

    2 Mal editiert, zuletzt von kuckkuck ()

  • Du kannst das Script natürlich auch so testen. Da machst Du ein Terminalfenster auf und gibst folgendes ein:


    sudo bash /PFAD_ZUM_SCRIPT/fans.sh


    Terminal muss währned das Script läuft dann natürlich so lange geöffnet bleiben.


    Ich habe Go4Launch zwar noch nie benutzt aber wenn ich die Beschreibung so lese tut es das Programm natürlich auch. Ansonsten kannst Du auch aus einem anderen Thread von mir dir die Erstellung von einem LaunchDaemon abschauen.


    Nettes kleines Tool für Sleep und Wakeup

    Einmal editiert, zuletzt von Sascha_77 ()

  • Ich habe das ganze mit dem Terminal mal eben ausprobiert. Die rpm Zahlen hatte ich davor im Script so hoch gestellt, dass ich die Veränderung bemerken würde. Aber sobald das ding läuft passiert mit meinen Lüftern nichts und ich kriege immer wieder

    Code
    1. Software is not registered. Only temperature sensors will be displayed.

    ausgespuckt... Scheint nicht zu laufen :(

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Wenn du das im Terminal eingibst:


    /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor


    Kommt dann sowas?


    Code
    1. Software is not registered. Only temperature sensors will be displayed.
    2. SMC CPU A DIODE: 43 C
    3. SMC CPU A DIODE: 43 C
    4. SMC CPU A HEAT SINK: 42 C
    5. SMC CPU B DIODE: 40 C


    Dann muss mein Script von:

    Code
    1. cpu=`"$hwm" | head -n 1 | cut -c 13-14`


    Zu:

    Code
    1. cpu=`"$hwm" | head -n 1 | cut -c 18-19`


    geändert werden. Wenn Du mal:

    Code
    1. /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor | head -n 1 | cut -c 18-19


    eingibst müsste die Temperatur ausgegeben werden. Ansonsten musst du die Stellen abzählen wo in der Befehlszeile die Temperatur steht (in meinem Fall bei Pos. 18-19).

  • Nein ich kriege das:
    Die letzte Zeile ist bei mir Z.14


    Jedoch wird bei

    Code
    1. /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor | head -n 1 | cut -c 13-14

    Mir wie bei 18-19 Software is nit registered... ausgegeben.


    Edit: Oh da habe ich doch was übersehen, hier das genaue was mir

    Code
    1. /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor

    bei ausgespuckt wird:


    Wie kann ich denn den Befehl so verändern, dass 2 Zeilen nach unten geht um dort eine Zahl auszuwählen @Sascha_77 ?

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

    3 Mal editiert, zuletzt von kuckkuck ()

  • head -n 4 | cut -c 18-19


    Nimmt dann die wärmste Diode von der CPU. In Deinem Fall die mit 31 Grad. Wenn nicht musst du mit beiden obigen Werten mal etwas rumspielen.

    Einmal editiert, zuletzt von Sascha_77 ()

  • Ich kriege dann aber vier Ergebnisse

    Code
    1. /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor | head -n4 | cut -c 18-19
    2. Software is not registered. Only temperature sensors will be displayed.
    3. ST <-- Von der Festplatte
    4. 24 <-- CPU A Diode
    5. 32 <-- CPU A Diode (wieso zweimal?)
    6. NK <-- SMC CPU A HEAT SINK


    Ist das ein problem oder geht das trotzdem so?

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Dann so:


    /Applications/HardwareMonitor.app/Contents/MacOS/hwmonitor | sed -n 5p | cut -c 18-19

  • Danke das klappt. Er spuckt mir jetzt nurnoch eine Zahl aus von Kern 2. Ich habe das script geändert und das ganze dann nochmal mit

    Code
    1. sudo bash .......

    probiert. Keine Veränderung der Lüfter...
    Mein script schaut jetzt so aus, dass ich den Befehl von HWM abgeändert habe sowie 0ED8 = 1350 gesetzt habe, damit ich eine Veränderung der Lüfter bemerken würde, falls es funktionieren würde... Habe ich was falsch gemacht, oder ist es einfach nicht möglich mit Hackintoshs Fan Control zu betreiben (außer mit einem FanController...) Vielleicht kannst du ja nochmal drüberschauen:


    Viele Dank für alle bisher! :danke:

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Du musst schauen ob deine Lüfter F0Mn bzw. F2Mn sind. Das ist die config von meinem damaligen MacPro. "Mn" steht in diesem Fall für Minimum Und Fx halt für den entsprechenden Lüfter. Aber selbst mit dem 0er und 2er aus meinem Script sollte sich bei dir was tun. Könntest gucken ob du im BIOS das Lüftermanagement abschalten kannst. Vllt. funkt das dazwischen.


    Eeeeh ich sehe gerade ... du hast die Werte hinter dem # verändert. Das bringt natürlich nix. ;) Das ist lediglich ein Kommentar der nicht ausgeführt wird.


    Du musst das unten zwischen der elif-abfrage ändern:


    "$smc" -k F0Mn -w 11F8


    zu


    "$smc" -k F0Mn -w 1999


    oder so. Und dann auch immer im entsprechenden Tempbereich. Mach mal folgendes:


    /Applications/smcFanControl.app/Contents/Resources/smc -k F0Mn -w 2999


    Damit müsste irgendein Fan so richtig losdröhnen. Tut er das nicht bringt das Script auch nichts. Und was wichtig ist. Die Werte die man mit smc an den Fan übergibt sind Hexwerte und keine direkten Drehzahlen. Umgerechnet wird so:


    1250 U/min durch 4 teilen und zu Hexdezimal wandeln. Sind in Hex 1388. Wie oben im Kommentarbereich meines Scripts.

    6 Mal editiert, zuletzt von Sascha_77 ()

  • Eine Lüftermanagement deaktivierung habe ich im Bios noch nie gesehen, nur ein Speedcontroll mit den Einstellungen Normal, Silent, Full Speed und Manuell. An das mit den Lüftermengen habe ich schon gedacht, aber ich dachte mir das F0Mn auf jedenfall der CPU-Kühler sein sollte und F2Mn irgendetwas beeinflussen müsste. Wie kann ich denn rausfinden welche Lüfter welche Bezeichnung haben, geht das nur durch ausprobieren?

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Starte mal smcfancontrol. Oben im Menu müsste dann neben der Drehzahl des jeweiligen Lüfters der Name stehen.

  • Ich habe lange versucht, aber das Script will auf keinen Fall. Ich bin mir ziemlich sicher das es daran liegt, dass SMCFanControl garnicht erst funktioniert und somit sich auch nichts verändern kann, da das Script auf genau dieser App basiert. Ich suche weiterhin nach einer lösung, aber FanConrtrol bei einem Hackintosh geht wohl wirklich nur über einen manuellen FanController. Falls jemandem noch eine idee kommt, dann immer gerne ;)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Für alle die gerne mehr Lüftercontrol hätten. Das ganze lässt sich relativ kompliziert durch die DSDT lösen, wer aber schlau und faul ist, sollte einfach ein auf FakeSMC basierendes Ozmosis benutzen und den LPCSensors.kext installieren, und schwups lassen sich alle 4-Pin Lüfter über HWMonitor steuern ;)
    Inzwischen wunderts mich das ich da nicht drauf gekommen bin und vorallem, dass in zig verschiedenen OnlineThreads diese Lösung keinmal präsentiert wird ?(


    Zu den vier Sensor Kexts: Was die jeweils im Bezug auf HWMonitor machen, habe ich hier zusammengefasst: Sensors im Überblick

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Hallo Männer!


    Ich habe mich jetzt einmal quer durchs Forum geprügelt und werd einfach nicht schlauer!


    Ich habe jetzt einiges gelesen und in diesem Thread habe ich das Gefühl mein Problem wiederzufinden :D


    Ich habe mich die letzten Tage mit Speedstepping beschäftigt und endlich die richtige Taktung meines Hackbooks ans Laufen bekommen. Auf meinem iMac, der im Ton Studio steht, regele ich die Lüfter mit MacsFanControl. Das selbe hatte ich jetzt mit meinem Hackbook vor. Also HW-Monitor runtergeladen, Sensor Kexte in die EFI (in den Other-Ordner selbstverständlich) kopiert und siehe da:


    Nix zu sehen :/


    Der einzige Lüfter der verbaut ist wird nicht angezeigt :D


    Ich habe die entsprechenden Sensorenkexte für FakeSMC,
    DSDT, ne SSDT für das Speedstepping, was brauche ich denn jetzt noch, damit ich meinen Lüfter selbst steuern darf? :D


    Gruß
    Mac

  • Bei Laptops ist das leider meistens eine andere Geschichte, da ihre Controller noch von den FakeSMC Sensoren unterstützt werden.


    Die einzige mir bekannte Lösung, die dir da noch bleibt ist die DSDT, was aber nicht unbedingt für OttoNormalBenutzer geeignet ist... Hier ein Beispiel: Temperaturabhängige Lüftersteuerung für Lenovo T6X - T4XX (möglicherweise auch andere Notebooks)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.