Alternatives FakeSMC.kext mit Ozmosis 1479 verwenden?

  • Hallo Allerseits,


    ist es möglich, eine neuere Version von FakeSMC.kext mit Ozmosis 1479 zu verwenden, ohne eine neues Bios zu erstellen?


    Ich habe die aktuelle FakeSMC.kext in /EFI/Oz/Darwin/Extensions/Common installiert, NVRAM gelöscht, gebotet, aber es wird offensichtlich immer noch die Version aus dem Bios verwendet. Geht das, was ich vorhabe, überhaupt?


    Grund: Ich möchte den Nvidia-Web-Treiber wieder zum Laufen bringen (GTX 760), der bis vor ein paar Versionen bestens funktionierte und sich jetzt kurz nach Neustart mit max. Lüfterdrehzahl ins akustische Aus schießt. Den Web-Treiber will ich als Vorbereitung für eine GTX 970 gerne 100% zum Laufen bringen. Bei der GTX 760 ist er inzwischen nicht mehr notwendig, da das Energiemanagement mit dem OS X Treiber inzwischen zu funktionieren scheint.


    Danke! O.

    Workstation: Gigabyte GA-Z77X-UD5H - i7-3770K @ 4,4GHz - GTX 760 - 16 GB - Apple BT/Wlan-Karte - Bios 16j - Mojave
    Server: Gigabyte GA-Z68MX-UD2H-B3 - I5-2500K - GTX 780 6GB - 1
    6 GB - Bios U1E - Apple BT/Wlan-Karte - Mojave, OS X Server

    MacBookAir 2012, i7, Mojave

  • Geht nicht, die Extension aus dem Bios übergeht eine eventuell im Ordner /EFI/Oz/Darwin/Extensions/Common enthaltende gleichnamige leider. Die einzige Möglichkeit ist die SMCEmulator.kext aus der Firmware zu entfernen...

  • Inzwischen habe ich eine überraschend einfache Lösung gefunden: Aus MultiB... 7.2 FakeSMC mit Sensor-Kexts nach /S/L/E installiert und schon klappt es! OZMOSIS ist viel praktischer, als man so denkt :P


    --> Meine GTX 760-Lüfter jaulen nicht mehr 30s nach Start mit NVIDIA-Treiber!

    Workstation: Gigabyte GA-Z77X-UD5H - i7-3770K @ 4,4GHz - GTX 760 - 16 GB - Apple BT/Wlan-Karte - Bios 16j - Mojave
    Server: Gigabyte GA-Z68MX-UD2H-B3 - I5-2500K - GTX 780 6GB - 1
    6 GB - Bios U1E - Apple BT/Wlan-Karte - Mojave, OS X Server

    MacBookAir 2012, i7, Mojave

  • Besser wäre es in der Konstellation trotzdem auf Sicht die SMCEmulator.kext aus dem Bios zu entfernen um etwaigen bösen Überraschungen zu entgehen.

  • Bin gerade auf dieses Thema gestoßen und muss sagen, dass hat mir bei meinem Problem echt geholfen.
    Bei mir haben die NVIDIA Treiber auch nach kurzer Zeit immer dafür gesorgt, dass die Lüfter dauerhaft auf maximal läuft.


    Ich hab wie Griven es empfohlen hat die Fake SMC und auch alle Sensoren aus dem Bios gegen neue ersetzt und dann neu geflasht.
    Läuft einwandfrei mit allen Sensoren und auch die Grafikkarte ist leise :hurra:


    Scheint bei dem Problem echt zu helfen!

    ASrock Fatal1ty Z370 Professional Gaming i7
    Intel i7-8086k
    Asus Radeon RX 580
    32GB Ballistix Sport LT DDR4-2666

  • Guter proof of concept ;)
    Werde dann mal bei den künftigen OZ MOD´s auch die neueren Versionen verwenden ;)

  • Sorry Leute,


    aber ich verstehs nicht :D


    Sorry aber ich kann euch nicht folgen auch dem FakeSMC einfach austauschen-Thead nicht da dort zwischen verschiedenen Varianten (Clover, Ozmosiz... ) hin und her gewechselt wird.
    Bei meinem Hack scheinen die Sensoren nicht ganz richtig ausgelesen zu werden, was ja auch eure Problematik ist wenn ihr mit dem HW-Monitor euer System überwachen wollt oder Lüfter steuern lasst.
    Ich würde nun gerne verstehen wie ich die FakeSMC richtig einsetze. Ich weiß, absolute Noob-Frage. ?(


    Ich würde nun gerne wissen wie ich die Datei ergänzen kann ohne mein system zu grillen. Da dies ja auch schon von Griven eingeworfen wurde.


    LG Lou

    GA-H77-DS3H (Ozmosis F10-DSDT-G-167X [Sierra] ) / Intel i7 3770 / 16GB RAM XMS3 / NVIDIA GeForce GTX 960 2047 MB / Wlan: Edimax EW-7811UN / Ethernet: onboard / OS: Sierra 10.12.4 / Samsung EVO 850 120GB

  • Was bedeutet in dem Zusammenhang "scheinen nicht richtig ausgelesen zu werden"? Hier musst Du bitte ein wenig konkreter werden welche Sensoren passen nicht, bzw. welche Werte kommen Dir komisch vor?


    Zum grundsätzlichen Verständnis: Die FakeSMC selbst hat erstmal nur am Rande etwas mit den Sensoren zu tun im Grunde ist sie "nur" der Vermittler zwischen dem System Management Controller (SMC) und OS-X sprich sie fungiert als eine Art Übersetzer zwischen der Apple und der PC Welt. Nötig ist der Einsatz einer FakeSMC weil ein "normaler" PC nicht über einen System Management Controller in der Lesart von Apple verfügt sondern dessen Aufgaben übernehmen hier andere Techniken (in der Hauptsache dedizierte Chips die für das Monitoring der Temperaturen zuständig sind und sich als Geräte über die ACPI Spezifikation einfügen). OS-X selbst setzt zwar ebenfalls auf den ACPI Standard auf allerdings erwartet es unter anderem Messdaten der Sensoren nicht da, wo sie die Firmware eines PC´s abbildet sondern eben unter bestimmten Schlüsseln (Key´s) innerhalb des SMC Devices welches ein PC nicht hat. An dieser Stelle kommen die FakeSMC und die Sensor Plugins zum tragen. Die FakeSMC gaukelt OS-X das vorhanden sein eines System Management Controllers vor indem sie die über das OS abgefragten Key´s zum einen bereitstellt und zum anderen aus den ACPI Tabellen der Firmware mit Inhalten versorgt. Das Ganze funktioniert für die Standard Aufgaben ganz ohne weitere Plugins und OS-X lässt sich damit zumeist ohne weiteres betreiben da es dank der FakeSMC alle wichtigen Bestandteile des PC´s ansprechen kann (CPU. Grafik, S-ATA Controller, Memory Controller etc.) aber eben auch nur die Standards will man mehr braucht man Treiber und genau hier kommen die Plugins für die FakeSMC zum tragen. Im Laufe der Zeit wurde die FakeSMC von einem reinen Fake Device zu einem Framework mit eigener kleiner API weiterentwickelt. Durch Plugins lassen sich die Funktionen des SMC dynamisch erweitern zum Beispiel um den Support für die Temperaturüberwachung. Hervorgegangen ist das Ganze aus dem Open Sensors Projekt was seine Wurzeln in der Linux Community hat und dessen Ziel es war die verschiedenen Überwachungs- und Kontrollmethoden aus den ACPI Tabellen auszulesen und zu manipulieren. Hierbei unterscheidet man 3 Hauptgruppen von Sensoren


    -> 1. CPU Sensoren
    -> 2. LPC Sensoren (LowPinCount -> System Sensoren für Ambient Temperatur, Southbridge, Northbridge, HDD usw...)
    -> 3. GPU Sensoren


    Diese 3 Hauptgruppen manifestieren sich bei den aktuellen FakeSMC Versionen auch in 3 Plugins nämlich einmal der CPUSensors.kext dann der LPCSensors.kext und schlussendlich der GPUSensors.kext die wiederum noch zusätzliche Plugins (vgl. Treiber) enthalten können um auf die verschiedenen Hardware Situationen eingehen zu können so enthält die LPCSensors.kext zum Beispiel Plugins für Chips verschiedener Hersteller (winbond, ITE etc.) und die GPUSensors eben Plugins für NVIDIA und AMD. Damit das Ganze nun zuverlässig funktioniert muss zum einen ein Plugin (Treiber) speziell für die auf dem Mainboard vorhandenen Chips zur Verfügung stehen (bei GA meist winbond) und zum anderen zum Beispiel das LPC und das SMBUS Device sauber in den ACPI Tabellen (-> vgl. DSDT) implementiert sein. Je nachdem wie gut oder eben schlecht diese Dinge ineinander greifen liefern die Sensoren mehr oder weniger Werte. Zuverlässig funktioniert zumeist die Darstellung der CPU Temperaturen, der HDD Temperaturen sowie der Temperaturen der GPU weniger gut hingegen funktioniert oft der LPC Bereich sprich die Temperaturen der South und Northbrigde sowie die diversen ambient Sensoren oder die Darstellung der Lüfterdrehzahlen hier werden manchmal nicht alle möglichen Werte angezeigt und/oder gar keine Werte. Sollte das passieren gibt es entweder kein passendes Plugin zu dem auf dem Mainboard verwendeten Chip oder aber die Implementation des LPC Devices in den ACPI Tabellen ist fehlerhaft. Manchmal kommt es aber auch vor, dass für einzelne Werte konstant 127 Grad angezeigt werden hier liegt dann jedoch kein Fehler vor sondern dieser Wert weißt darauf hin, dass ein Sensor schlicht nicht vorhanden ist. Die Bausteine, die diese Werte auslesen sind genormt und bieten eine Anzahl X Inputs die aber nicht zwingend auch verdrahtet sein müssen. Ist ein Input nicht verdrahtet misst der Baustein hier keinen Widerstand und gibt das auch so weiter das Resultat ist die Ausgabe von 127 Grad da für das OS/das Monitor Programm eben nicht die "Kein Sensor vorhanden" Meldung generiert wird sondern ein null Widerstand gemessen wird was für die Lesart von Temperaturfühlern bedeutet die maximal messbare Temperatur ist erreicht (vgl. NTC oder Heißleiter).

  • griven

    Hat das Label Erledigt hinzugefügt