Thermal subsystem, was ist das und wie kann man das nutzen?

  • Hallo liebe Forenteilnehmer,
    Durch den PropertyInjector.kext von @Brumbaer und @NoirOSX tun sich ganz unerwartete Dinge auf und man findet Devices welche einem vorher noch nicht mal aufgefallen sind.
    So ist es auch mit dem "Thermal subsystem". Hier ein link zu meinem.


    Was macht ein "Thermal subsystem"?
    Es ist ein allgemeiner Mechanismus um das Wärmemanagement in verschiedenen Zonen zu steuern. Normalerweise besteht es aus einer oder mehreren thermischen Zonen und Kühlvorrichtungen.
    Für Windows und auch Linux kann man dazu Treiber finden über welche man dieses System ansprechen kann.
    Hier ein Link zum Linux Treiber.


    Nun zu OSX:
    Unter OSX ist es mir möglich das Device unter Systeminformationen PCI anzeigen zu lassen. Nur leider wird dazu kein Treiber geladen.
    Drei Möglichkeiten fallen mir dazu ein warum das so ist:
    > "Thermal subsystem" wird vom Kernel unterstützt. Wäre der optimale Weg
    > "Thermal subsystem" gibt es bei Apple nicht und wird daher auch nicht unterstützt.
    > "Thermal subsystem" auf meinem Laptop ist abweichend zum Apple "Thermal subsystem" und muss bei einem Hacki entsprechend gefaket werden.


    Genau an dieser Stelle komme ich nicht weiter und schreibe daher diese Zeilen. Eventuell hat jemand mehr Ahnung und kann zu diesem Thema weiterhelfen.


    Für alle die ein "Thermal subsystem" besitzen hier eine kleine Anleitung wie ich das Device unter PCI sichtbar machen kann.
    Auf meinem Laptop fehlt dieses Device bereits in der DSDT. Daher habe ich eine eigene Device THRC erzeugt. THRC ist frei erfunden und soll heißen "Thermal Controller".


    Über "Name(_ADR, 0x00140002)" wird das Device angesprochen.


    Wie kommt man zu dem richtigen Wert von _ADR?
    Über den IORegistryExplorer. Diesen Starten und dann nach PCI suchen. Bei mir findet man das "Thermal subsystem" unter "pci8086,9d31@14,2".

    Wichtig ist die Info 14,2. Der Wert ergibt dann den Eintrag "Name(_ADR, 0x00140002)" mit welcher man dieses Device ansprechen kann.



    PS: die THRC.dsl muß am Ende mit dem MaciASL als THRC.aml abgespeichert werde und dann nach "\EFI\CLOVER\ACPI\patched" kopiert werden.

  • Moin,


    das Ganze klingt sehr interessant!
    Damit könnte man die ganzen FAN-Header der Mainboards steuern und ggf. ähnlich wie mit dem smcfancontrol Einfluss auf die Lüftersteuerung ausüben.
    Wenn man das Ganze zudem noch richtig aufzieht, dann könnte man sogar eigene Lüfterkurven anlegen und nicht nur zwischen "auto" und "manuell" mit deinem Drehzahlregler wählen.
    Für Windows-PC's gibt es so ein Tool von nahezu jedem Mainboard-Hersteller und auch "freie" Tools sind haufenweise vorhanden.
    Für Mac/Hacks vermisse ich so ein Tool (in dem Umfang) allerdings.



    Das wäre doch mal ein Projekt für die Programmierer hier im Forum?!


    Oder interpretiere ich das alles hier gerade falsch?



    Gruß
    Tim

    Rechner Mainboard CPU GPU RAM SSD/HDD OS
    Clover
    iHack18,3 Asus Prime Z370-A Intel i7-8700K Radeon RX 580 8GB 64GB, DDR4 NVMe 500GB
    SATA SSD 500GB,1TB
    macOS10.14.6
    aktuell
    iMac11.3 Apple Intel i5-760 Radeon HD 5750 16Gb, DDR3 1TB HDD,
    256GB SSD
    macOS10.12.6 -
    MBP 15 Retina
    (early 2013)
    Apple Intel i7-3630QM
    Intel HD Graphics 4000
    nVidia GF GT 650M
    16GB, DDR3 500GB mSATA macOS 10.16.1 -
  • Hallo @FARV,
    das ist schon richtig. Eine entscheidende Frage dazu ist ob Apple ein solches Sub System bei den Real Apple Geräten überhaut unterstützt. Dazu ist leider nichts zu finden.

  • Keine Ahnung, ob es ein regelrechtes Subsystem in echten Macs gibt, aber Apple verbaut haufenweise Temperaturfühler und co. in seinen Geräten. Diese werden ja auch von smcfancontrol oder HWMonitor ausgelesen und angezeigt.


    Zudem bessert Apple immer mal wieder die Lüftersteuerung von den Rechnern per Firmware-Update nach. Jetzt bin ich kein Spezi in diesem Bereich, aber für mich klingt das schon so, als wenn da so etwas wie ein Thermal Subsystem am Gange ist.
    Doch dazu sollten vielleicht einmal die Spezis was sagen!


    Gruß
    Tim

    Rechner Mainboard CPU GPU RAM SSD/HDD OS
    Clover
    iHack18,3 Asus Prime Z370-A Intel i7-8700K Radeon RX 580 8GB 64GB, DDR4 NVMe 500GB
    SATA SSD 500GB,1TB
    macOS10.14.6
    aktuell
    iMac11.3 Apple Intel i5-760 Radeon HD 5750 16Gb, DDR3 1TB HDD,
    256GB SSD
    macOS10.12.6 -
    MBP 15 Retina
    (early 2013)
    Apple Intel i7-3630QM
    Intel HD Graphics 4000
    nVidia GF GT 650M
    16GB, DDR3 500GB mSATA macOS 10.16.1 -
    • Hilfreich

    Läuft. Schreibe gleich etwas dazu. Danke für den entscheidenden Ansatz.


    Edit:


    Wie auf Bild "001" zu sehen ist, gibt es ein "Thermal Subsystem".
    "pci8086,a2b1" kennt macOS nicht, aber interessanterweise gibt es ebenfalls im Bild "001" gleich darunter einen alten Bekannten, den "PMCR", bzw "Power Management Controller". Der hat nur eine kleine Abweichung, "pci8086,a2a1", also höchstwahrscheinlich eine ähnliche Funktion. Dieser ist bei mir erfolgreich ins System integriert.
    Also einfach mal probiert, der entscheidende Eintrag ist bei mir "compatible" :)



    Viel Spaß

  • Voll cool wenn das geht. Teste das dann später. Vielen Dank für deine Info :thumbsup:

  • Bei dir wäre der compatible Eintrag "pci8086,9d21".
    Darauf matcht "com.apple.driver.AppleIntelPCHPMC" ebenso.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • Das Device THSS fehlt in meiner DSDT.aml. Kannst du mir deine DSDT.aml zur Verfügung stellen. Möchte mal versuche ob ich das einfach kopieren kann oder anhand deiner Einträge bei mir in der DSDT.aml suchen ob das irgendwie anders heißt.

  • Sorry, das habe ich ebenfalls nicht. Ist in meiner SSDT jetzt neu drin, worin ich auch sonstige Geräte näher spezifiziere. Fand nur den Namen "THSS" passender. :)
    Wenn in eine eigene SSDT, dann darauf achten, dass im Header auch der Verweis auf die externe Methode "DTGP" gesetzt wird.


    Edit:
    Du kannst deine SSDT nutzen, nur noch in der _DSM-Methode den "compatible"-Eintrag "pci8086,9d21" einfügen …

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • Verstanden, das werde ich Testen. :thumbup:

  • Hallo @apfelnico,
    Ich glaub es fast nicht 8o , aber das war der Trick. "pci8086,9d21" war der entscheidente Hinweiß und das gleich bei beiden Devices. :D


    Ich Danke für deine Untersützung. :danke:



  • Welches zweite Device? HECI? Das solltest du nur einfach umbenennen in "EMEI". Ach so, du meinst den PMC.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)

  • Das hier im Bild. Dazu gibt es auch ein DSDT Device, hat aber bis jetzt nicht funktioniert.



    Wird mit dem gleiche Trick geladen. :D

  • Hat es abseits von Kosmetik auch einen nutzen, hat das jemand von euch bereits testen können ?

  • Denke schon das es einen nutzen hat da jetzt der Power Management Controller Kext AppleIntelPCHPMC für diese beiden Device geladen wird.
    Welchen kann ich dir noch nicht sagen da das ganze erst seit heute für mich existiert und funktioniert.


  • Das funktioniert auf meinem Dell Vostro 5370 auch (pci8086,9d31@14,2). Ein Device B0D4@4 sehe ich ebenfalls, es ist dieses hier.

  • Danke @anonymous writer das Du es hier nochmal in einen extra Beitrag geschrieben hast und @apfelnico das dann umgesetzt hat.


    Mal sehen was es bewirkt.


    Bei mir wird er nun auch geladen


    iMac17,1 GA-Z170N WiFi F22f |i5-6600 HD530 |RX560 |16GB |250GB SSD |macOS 14.4.1 |*
    MacBook9,1XiaoMi Air 12,5"(erster XiaoMi im Forum)|M3 6Y30 HD515 |4GB |128 & 250GB SSD |macOS 11.6 |Clover
    MacBookPro15,4XiaoMi-Pro-15,6" |i5-8250U UHD620 |8GB |250 & 250GB SSD |macOS 14.4.1 |*
    MacBookPro16,1XiaoMi RedMi 14" (erster RedMe im Forum)|i7-10510U | 8GB | 512GB SSD | macOS 14.4.1 |*
    MacMini8,1 NVISEN Y-MU01(erster NVISEN im Forum)|i7-10510U |24GB |256GB SSD |macOS 14.4.1 |*
    MacMini8,1HYSTOU S210H (Adventskalender vs. DSM2 samt Fake Profil)|i9-9880H UHD630|32GB |250GB SSD |macOS 14.4.1 |*
    MacMini8,1HYSTOU P05B (erster Hack mit OpenCore im Forum)|I7-8550U UHD620|16GB |500GB SSD |macOS 14.4.1 |*

    * BootLoader OpenCore REL-100-2024-04-16


    Experte ist nicht immer gleich Expertise

  • Interessant, auf meinem Z370er Aorus Ultra Gaming ist dergleichen nicht zu finden. IOJones listet hier nur zwei unbekannte Geräte "pci8086,3ec2@0" und "pci8086,1911@8". Die haben aber was mit USB zu tun - vermutlich meine nicht injecteten 3.1er Ports.

    LG Chris


    Meine Hardware:

  • Moment...ich komm grade nicht mehr mit.
    Wofür benutzt ihr diesen PropertyInjector.kext?


    ich steig da grade nicht hinter.

    MacBook Pro 15.4" Late 2015
    iPhone 7+ 128GB




    Stay calm 'til valhall

  • @the_viking90
    du kannst Eigenschaften für Geräte in DSDT, SSDT und/oder in einer Kext definieren.

    ASUS PRIME X299-DELUXE i9-9940X • DDR4 64GB • SSD 960 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon RX Vega 64 • BMD Intensity Pro 4K

    ASUS WS X299 SAGE/10G i9-10980XE • DDR4 64GB • SSD 970 PRO 1TB • Thunderbolt3 Titan Ridge • 2x AMD Radeon VII • BMD DeckLink 4K Extreme 12G


    Ordnung ist die primitivste Form von Chaos. (Hans-Jürgen Quadbeck-Seeger)