Neuer Hackintosh wacht sofort aus dem Ruhezustand auf

  • Hallo ihr Lieben,


    ich habe mir einen neuen Hackintosh gebaut und soweit bin ich auch sehr zufrieden - allerdings funktioniert der Ruhezustand nicht. Ich kann ihn nur sehr kurz hervorrufen, der PC geht dann aber sofort wieder an.


    Das Deaktivieren der Energiesparoptionen habe ich schon ausprobiert - ohne Erfolg.
    Als "Wake reason" gibt das Terminal "XDCI XHC" aus. Das bedeutet wohl, es liegt an einem USB-Gerät?


    Ich habe die USB-Ports zuvor mithilfe dieser Anleitung hier bereits spezifiziert und damit USB 3.0 zum Laufen bekommen: Anleitung: USB 3.0 El Capitan / (High-) Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)


    Aber was muss ich nun tun, damit der Mac nicht mehr aufweckt? Ich habe ein paar Threads überflogen und etwas von interner/externer Definition von Ports gefunden, aber das Ganze nicht so wirklich verstanden. Was wäre hier die optimale Lösung und gibt es dafür eventuell eine verständliche Anleitung?



    Viele Grüße

  • Moin,


    könntest du vielleicht gerade nochmal dein SMBios Typen nennen? Und vielleicht auch mal deinen EFI Ordner anhängen?


    Hast du eine DSDT für dein Board?


    Mein HackMac zickt ab und an auch mal rum, und wacht beim ersten Sleep Versuch direkt wieder auf. Manchmal dauert es 3 Anläufe bis er dann endlich schläft. Hast das mal probiert?


    Grundsätzlich ist aber die USB SSDT schon mal ein guter Ansatz.


    Grüße und Willkommen hier :)

  • Dazu zwei Fragen:


    1. Sind Geräte verbaut, die an einem internen USB-Header hängen? Das wäre z.B. eine WLAN-/Bluetooth-Kombokarte
    2. Nutzt du eine Negativliste (uia_exclude in der config.plist) oder eine Positivliste (SSDT-UIAC.aml)?

  • Die Anleitung von @kuckkuck führt dazu das man keinen uia_exclude mehr braucht sondern eine Positivliste anhand der USB SSDT hat.


    @DannyKrabs falls du einen uia_exclude trotz Positivliste in der Config hast, dann lösch bitte den uia_exclude. Denn brauchst du nicht mehr.

  • Naja. Entweder oder, würde ich sagen.

  • Naja. Entweder oder, würde ich sagen.


    Das ist Definitionssache, auf jeden Fall können wir uns darauf einigen das man nicht beides braucht, oder? :)

  • Das ist richtig. Würde ich USBInjectAll nutzen, wäre eine Positivliste meine erste Wahl. Für Anfänger ist aber eine Negativliste einfacher umzusetzen.

  • Hallo ihr beiden, vielen Dank erstmal für eure Antworten!



    Mit SMBios-Typ ist das Produkt gemeint? Ich habe iMac18,3 ausgewählt und auch alle Werte ausgefüllt, sodass iMessage etc. funktionieren.


    Der EFI-Ordner ist im Anhang.


    DSDT habe ich nicht - das ist genau das, was ich nie so wirklich verstanden habe. Ich habe das im Wiki mal überflogen, mir hat sich aber absolut nicht erschlossen, was das überhaupt ganz konkret sein soll (mal abgesehen von einer Datei) und wie ich die erstelle bzw. wofür das gut ist. Vor meinem jetzigen Build hatte ich das auch nicht und alles lief einwandfrei.
    Wenn das hilfreich ist, lese ich mir da gerne noch etwas durch, aber vielleicht könntet ihr mir sagen, welches Tutorial genau bei meinem Problem hilft?



    Dazu zwei Fragen:


    1. Sind Geräte verbaut, die an einem internen USB-Header hängen? Das wäre z.B. eine WLAN-/Bluetooth-Kombokarte
    2. Nutzt du eine Negativliste (uia_exclude in der config.plist) oder eine Positivliste (SSDT-UIAC.aml)?


    1. Ja, ich habe eine interne Broadcom-Karte.
    2. Ich nutze ausschließlich eine Negativliste, die ich mithilfe des Tutorials aus dem ersten Post erstellt habe.

    Dateien

    • EFI.zip

      (17,98 MB, 96 Mal heruntergeladen, zuletzt: )
  • Ich versuche das mal zu erklären, vielleicht können mich andere auch noch ergänzen:


    Du kennst sicher Apple Geräte? Apple Geräte (zb. iMac, MacBook etc.) sind ja praktisch ein Biotop für sich. Die Hardware eines Apple Geräts ist vorselektiert. Also zB. die CPU, das Board samt dessen Anschlüsse für USB, Ethernet aber auch die W-Lan Karte. Das System macOS wird auf die Hardware eines iMac oder MacBook (etc.) zugeschnitten.
    Windows zB. ist so ausgelegt das jegliche Hardware irgendwie (mehr oder weniger) unterstützt wird. macOS eben nicht. Da kann es dir passieren das die GPU - die du gerade gekauft hast - nicht funktioniert, weil es schlichtweg keinen Treiber gibt.


    Mit einer DSDT versuchen wir einen Hackintosh ebenfalls in so ein Biotop zu verwandeln. Gelingt mehr oder minder ganz gut. Mit einer DSDT kannst du zB. deine iGPU, die ACPI Ports oder andere Ports so patchen, dass diese funktionieren oder eben vom System nicht berücksichtigt werden.


    Ein Experte hierzu ist zB. @al6042 . Wenn du ihn ganz freundlich fragst, wird er dir sicher unterstützend zur Hand gehen.


    //Mehr dann später.

  • Als "Wake reason" gibt das Terminal "XDCI XHC" aus. Das bedeutet wohl, es liegt an einem USB-Gerät?


    1. Ja, ich habe eine interne Broadcom-Karte.


    Sehr schön, das ist die Info die wir brauchen :thumbup:


    Was wäre hier die optimale Lösung und gibt es dafür eventuell eine verständliche Anleitung?


    Eine USB-SSDT wäre eine mögliche Herangehensweise zur optimalen Lösung. Zur Erstellung der SSDT verlinke ich immer folgende Sachen:
    USBInjectAll - Elmaccis Guide mit Beispiel- und Erläuterungs-SSDTs
    Brumbaers USB-SSDT Guide
    Ab "Sei doch nicht so negativ"
    Konkrete Erläuterung zur Erstellung
    Rehabmans Beispiel-SSDT


    Die Forensuche spuckt aber noch einiges mehr aus, da findest du sicherlich noch mehr hilfreiche Beiträge.


    Ansonsten einfach nachfragen und zur Kontrolle eine IORegistryExplorer-Datei/Dump (speichern) sowie deine USB-SSDT anhängen und erklären welcher HS/SS Port zu welchem Port am Hacky gehört.
    ZB:
    HS02 --> USB 2.0 Back
    HS11 + SSP2 --> USB 3.0 Back

    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.

  • Moin Leute,


    hatte er nicht von einer Broadcom BT Karte im PCI gesprochen inkl. Anschluss am internen USB?


    Sollte da nicht auch der USB Port in der SSDT-UIAC entsprechend auf 255 geändert werden? :)


    Das führt doch wohl zum beliebten Wake After Sleep, wenn ich nicht irre - zumindest bei mir.


    Pack doch mal deine SSDT-USB hier rein und prüfe mal im IORegExplorer welcher HS Port mit der BT Karte belegt ist.

  • So ist es, das ist ja auch das, was ich in meinem obigen Beitrag thematisiert habe ;)

    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,


    besten Dank für die Zusammenstellung der Links. Ich habe nun einmal versucht, eine passende SSDT-USB Datei für mein Mainboard zu erstellen.
    Eventuell könntet ihr einmal einen Blick in den Anhang werfen, ob das so sinnig aussieht?


    Am meisten verwirrt haben mich meine USB 3.1 Gen 2 Ports. Das Mainboard hat hinten nämlich einen vom Typ C und einen vom Typ A, die aber im IORegistryExplorer nicht unter den normalen USB Ports angezeigt werden, sondern in einer separaten Kategorie unter PRT1 / PRT2. Außerdem waren diese Ports, bevor ich ungenutzte durch uia_exclude ausgeschlossen habe, eigentlich auch PRT 3 / PRT 4. Nachdem ich dann uia_exclude eingefügt habe, waren es plötzlich PRT1 / PRT2. Ich habe in der SSDT die nun auch als PRT1 und PRT2 aufgeführt.


    Liebe Grüße

  • Versuche es mal mit der SSDT im Anhang. Die USB-3.1-Ports laufen über einen anderen Controller von ASMedia, der von USBInjectAll nicht unterstützt wird und ohne weiteres Zutun laufen sollte. Hast du überhaupt noch USB-2-Ports im Einsatz? Ich habe mal alle HS-Ports bis auf HS12 als USB-3-Ports konfiguriert, das müsstest du ggfs. ändern. Du hast in deiner config.plist auch sehr viele ACPI-Fixes aktiviert, benötigst du die wirklich alle?

    Dateien

    • SSDT-USB.aml

      (504 Byte, 241 Mal heruntergeladen, zuletzt: )
  • Versuche es mal mit der SSDT im Anhang. Die USB-3.1-Ports laufen über einen anderen Controller von ASMedia, der von USBInjectAll nicht unterstützt wird und ohne weiteres Zutun laufen sollte. Hast du überhaupt noch USB-2-Ports im Einsatz? Ich habe mal alle HS-Ports bis auf HS12 als USB-3-Ports konfiguriert, das müsstest du ggfs. ändern. Du hast in deiner config.plist auch sehr viele ACPI-Fixes aktiviert, benötigst du die wirklich alle?


    Hallo,


    danke, an welcher Stelle genau ändere ich die Konfiguration? In der Anleitung, die ich las, stand, dass man 0 für USB 2, 3 für USB 3 und 255 für Bluetooth eintragen soll, ich finde diese Stellen der .dsl Datei aber so nicht mehr in der .aml.
    Meinst du die Stellen nach "UsbConnector", also 0x03 z.B. wird dann zu 0x00, 0x03 oder 0x255?


    Ich habe es doch schon gefunden, denke ich. Ich muss einfach meine .dsl-Datei anpassen und dann als .aml-Datei speichern, dann ändert sich die Form automatisch. Mir ist auch aufgefallen, dass du bei der Datei als Anzahl Ports 16 angegeben hast, hat das einen bestimmten Sinn? Denn eigentlich sind es doch nur 10. Oder kommt bei "port-count" gar nicht die konkrete Anzahl der Ports, sondern einfach die höchste Zahl hinein - das wäre ja 16 von SS16?


    Im Anhang ist nochmal mein EFI-Ordner, darin befindet sich meine angepasste AML und auch die Config ohne die ganzen Fixes. Allerdings hat sich dadurch nichts geändert. Die AML ist im richtigen Ordner. Ich habe die exclude-Sachen erst rausgenommen, dann hat er wieder einige USB 3.0 Ports nicht erkannt. Dann wieder reingenommen. USB funktioniert, aber der Ruhezustand wird dennoch unterbrochen. Muss ich noch irgendetwas zusätzlich machen?


    In der Anleitung von elMacci steht "USBInjectAll.kext kann in Clover deaktiviert werden (der kexttopatch Eintrag)" - was genau ist damit gemeint? Im Konfigurator habe ich da gar keine Einträge.


    Zu ACPI: Da hast du Recht, mich hat das auch gewundert. Die ganzen Fixes hat mir Clover direkt zur Installation angehakt, deswegen dachte ich mir, ich lasse es lieber so. Ich habe aber jetzt mal alles bis auf "FixShutdown" deaktiviert (das soll bei ASUS Boards wohl aktiviert sein) und es funktioniert alles wie bisher.


    P.S. Ich nutze die hinteren USB 2.0 Ports für meine Tastatur und meinen Drucker.

    Dateien

    • EFI.zip

      (17,98 MB, 128 Mal heruntergeladen, zuletzt: )

    4 Mal editiert, zuletzt von DannyKrabs ()

  • Ich habe es doch schon gefunden, denke ich. Ich muss einfach meine .dsl-Datei anpassen und dann als .aml-Datei speichern, dann ändert sich die Form automatisch.


    Genau. DSL ist eine Text-Datei, AML eine kompilierte Datei. 0 wird zu 0x00, 3 --> 0x03 und 255 --> 0xff...


    Mir ist auch aufgefallen, dass du bei der Datei als Anzahl Ports 16 angegeben hast, hat das einen bestimmten Sinn? Denn eigentlich sind es doch nur 10. Oder kommt bei "port-count" gar nicht die konkrete Anzahl der Ports, sondern einfach die höchste Zahl hinein - das wäre ja 16 von SS16?


    Bei Port-Count kommt die Nummer des höchsten SSP Ports rein. Bei dir steht am Ende:


    SS06 ist der höchste Port und hat die Adresse 0x16, 0x00, 0x00, 0x00, welche auch bei port-count rein muss.


    USB funktioniert, aber der Ruhezustand wird dennoch unterbrochen. Muss ich noch irgendetwas zusätzlich machen?


    Bitte häng mal einen IORegistryExplorer Dump an. Einfach Programm öffnen und die Datei speichern, komprimieren und anhängen...


    In der Anleitung von elMacci steht "USBInjectAll.kext kann in Clover deaktiviert werden (der kexttopatch Eintrag)"


    Das bootarg (uia_exclude) sollte entfernt werden und auch alle Einträge im Bereich KernelAndKextPatches, die sich auf USB beziehen.

    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.

  • Das bootarg (uia_exclude) sollte entfernt werden und auch alle Einträge im Bereich KernelAndKextPatches, die sich auf USB beziehen.


    Okay. Wenn ich das bootarg entferne, verhält sich mein Hackintosh aber genauso wie zuvor - also bevor ich die Ports spezifiziert habe. Sprich, USB 3.0-Ports funktionieren gar nicht. Es kommt mir ein bisschen so vor, als würde die AML nicht eingelesen/berücksichtigt werden. Muss ich das vielleicht einstellen?


    Der Bereich KernelAndKextPatches ist in meinem Configurator leer. Deswegen kann ich da auch nirgends auf "Deaktivieren" klicken, was USBInjectAll betrifft.


    Im Anhang ist der Dump (einmal mit dem bootarg, woraus ich die Werte gezogen habe, und einmal ohne).

  • Moin,


    da war noch der falsche Controllername angeben, 8086_a12f statt wie bei dir verbaut 8086_a2af. Versuche es bitte nochmal mit der SSDT im Anhang und ohne uia_exclude. Die beiden USB-2-Ports (HS) auf dem Mainboard müsstest du in der SSDT noch entsprechend anpassen (USBConnector Zero statt 0x03). Einer davon dürfte HS14 sein, wenn wie du geschrieben hast die Tastatur daran angeschlossen ist. Diesen Port habe ich schonmal entsprechend angepasst. Laut IOReg-Dump dürfte es sich bei HS09 um den zweiten USB-2-Port handeln, da ist zumindest ein Gerät sichtbar. Auch diesen Port habe ich als USB2-Port eingetragen. Interessant wäre, ob man auch HS08 als intern konfigurieren muss, da hängt der LED-Controller dran. Versuche es aber erstmal so.

    Dateien

    • SSDT-USB.aml

      (502 Byte, 79 Mal heruntergeladen, zuletzt: )
  • Moin,


    da war noch der falsche Controllername angeben, 8086_a12f statt wie bei dir verbaut 8086_a2af. Versuche es bitte nochmal mit der SSDT im Anhang und ohne uia_exclude. Die beiden USB-2-Ports (HS) auf dem Mainboard müsstest du in der SSDT noch entsprechend anpassen (USBConnector Zero statt 0x03). Einer davon dürfte HS14 sein, wenn wie du geschrieben hast die Tastatur daran angeschlossen ist. Diesen Port habe ich schonmal entsprechend angepasst. Laut IOReg-Dump dürfte es sich bei HS09 um den zweiten USB-2-Port handeln, da ist zumindest ein Gerät sichtbar. Auch diesen Port habe ich als USB2-Port eingetragen. Interessant wäre, ob man auch HS08 als intern konfigurieren muss, da hängt der LED-Controller dran. Versuche es aber erstmal so.


    Super, vielen Dank! Ich habe die USB 2.0 Ports angepasst und es noch einmal probiert - Sleep und USB 3.0 funktionieren. :) Danke, danke, danke!


    P.S. Mir ist eben aufgefallen, dass komischerweise USB 2.0-Sticks nun aber nicht mehr an USB 3.0 Ports funktionieren. Ist das normal? Also für mich ist das jetzt nicht tragisch, aber es verwundert mich.

  • Schick mal bitte noch einen IOReg Dump.


    Außerdem die Info, wenn du an deine 2 UBS 2.0 Ports einen Stick ansteckst, wo erscheinen die? Bei HS09 und HS14?
    Eine kleine Anpassung braucht es wohl noch, das gröbste ist geschafft ;)

    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.