Beiträge von apfelnico

    Bin einen Schritt weiter. USB funktionierte bisher nur, wenn vor dem Start auch ein USB-C Gerät angesteckt wurde. Nur dann zeigt sich in der IORegistry auch ein XHCI-Controller. HotPlug ging nicht. Startete man ohne ein angestecktes USB-Device, so wurde nicht mal ein XHCI-Controller angezeigt. Eine SSDT half da auch nicht weiter, der Controller wird nicht initialisiert, benötigt Hilfe von außen.


    Ich habe jetzt (da mein Board/BIOS dies zulässt) die bordeigenen Thunderbolteinstellungen auf den PCIe Slot gesetzt, in dem die neue gepatchte Karte steckt. Siehe da, der USB-Controller ist da, auch wenn kein Gerät dran steckt, USB-HotPlug funktioniert wie man es kennt.

    Die Karte selbst ist nach wie vor NICHT via Thunderbolt-Header mit dem Mainboard verbunden, weiterhin nur gebrückt! Das heißt, es gibt Unterstützung des Boards an den BUS. Ich werde jetzt diesen vergleichen mit den Werten der BIOS-Umstellung, um dem auf die Spur zu kommen. Wahrscheinlich müssen für ein vollständig autarkes Funktionieren die PCIe-Bridges VOR der Karte noch weitere Properties bekommen.



    Der Stand derzeit ist somit:


    In Rechnern die schon vorher Thunderboltunterstützung hatten und in dem die "Gigabyte Titan Ridge" lief, wird sie auch hinterher uneingeschränkt laufen. HotPlug mit Thunderbolt sowie USB-C ist selbstverständlich via SSDT gewährleistet. Zusätzlich wird der Controller korrekt unter Thunderbolt geführt und verhält sich dahingehend wie ein echter Mac. So läuft unter anderem zum ersten Mal hier "Promise Utility", eine Software zur Konfiguration von Promise Pegasus Thunderbolt RAIDs (RAID5/6). Das ging sonst nur am Original. Auch sind nun pro Port Netzwerkfähigkeiten dazu gekommen, auch das ist ein Novum und entspricht dem Original.


    In Rechnern ohne weitere Thunderboltunterstützung gilt das vorhergesagte mit der Einschränkung, das USB-C HotPlug NICHT funktioniert. Auch funktioniert ein USB-C Gerät nur, wenn es vor dem Start eingesteckt wurde. Thunderbolt betrifft das in keinster Weise, hier mit der SSDT genau so wie zuvor.


    In original Apple MacPro5.1 reduziert sich das Ganze auf: USB-C und Thunderbolt Geräte funktionieren nur, wenn sie vor dem Starten eingesteckt wurden. Kein HotPlug. Allerdings auch kein Windows vorweg. Einfach starten, fertig.

    Nächste Woche Montag werde ich unseren MacPro5.1 mit OpenCore starten. Damit habe ich die Möglichkeit, ebenfalls wie beim Hackintosh zusätzliche SSDT in die ACPI zu schleusen. Wenn das gelingt, dann ist der MacPro auf dem Level, wie "Rechner ohne weitere Thunderboltunterstützung".


    Gelingt es mir zu entschlüsseln und zu simulieren, was bei erstgenannten Rechnern anders läuft, dann wird es für alle perfekt.




    EDIT: ein paar Gedanken …

    Ich habe an diesem Projekt wenig beigetragen, den Löwenanteil haben andere geleistet. Ich hatte mal 'ne Idee wie es vielleicht gehen könnte, war mit Sicherheit auch nicht der erste. Es haben sich einige Leute zusammengefunden, und es sind die richtigen zusammengekommen. :)

    Mit dem Testexemplar das ich habe, kann ich wunderbar testen und es geht zügig voran. Alles war bis dato recht geheim, von alleine hätte ich derzeit noch nichts veröffentlicht, es war eine gemeinsame Entscheidung für den jetzigen Zeitpunkt. Jetzt, da die "Katze aus dem Sack" ist, kann man sich über den Erfolg ärgern oder nicht. Aber es ist etwas blauäugig zu glauben, dass es nur kontrolliert innerhalb dieses Forums geht. Selbstverständlich werde ich derzeit nichts herausgeben außer über den Fortschritt zu berichten. Das Apple davon nichts mitbekommt, die Sorge muss man nicht mehr haben. Das Ding ist raus. Was Apple damit macht, keine Ahnung. Was wir damit machen, ist zu entscheiden. Im Prinzip bin ich bei denen, die für eine offene Community plädieren. Aber es ist nicht meine Entscheidung allein, und derzeit ist's noch nicht fertig.

    "AIC Location Group" und "AIC Location" müssen mit deinem gewählten Steckplatz übereinstimmen. "Windows 10 TB Support" kannst du einschalten, "Boot Support" ebenso.


    Windows brauchst du nicht, du musst nichts updaten. Wenn macOS hochgefahren ist, starte "IORegistryExplorer" und sichere eine Datei ("File"-Menü, "Save"). Lade es hier hoch und wir können weiter schauen.


    … aber es will nicht.

    Woran machst du das fest? Im Systembericht/Systeminformationen steht bei Thunderbolt kein Eintrag. Das ist normal. Trotzdem wird Thunderbolt3 sowie USB-C funktionieren. Für HotPlug benötigst du noch eine angepasste SSDT. Aber Geräte, die vor dem Anschalten angesteckt sind, sollten auch so funktionieren.

    Funktioniert und sollte m.M.n in OpenCore -> Docs -> AcpiSamples integriert werden.

    Nein, das ist sehr individuell.

    Bei mir sieht es zum Beispiel so aus:



    Darin werden zwei weitere Methoden aufgerufen, die ihrerseits weitere Abhängigkeiten haben. Das jetzt einfach zu kübeln und dafür deine Methode zu nehmen, wäre sinnlos.

    soll das heisen.....ich kann ohne WIN 10 meine Titan Ridge benutzen auf meinen Mac Pro 5.1 ?

    Das gilt es noch zu überprüfen. Ich habe hier einen MacPro5.1, das werde ich Montag testen. Für HotPlug wird weiterhin eine SSDT gebraucht, und diese lässt sich nicht ohne weiteres in einen originalen Mac integrieren. OpenCore vorweg wäre eine gute Idee, darüber dann die SSDT in die ACPI einbinden. Ansonsten bin ich guter Hoffnung, dass zumindest die Basis-Funktion, also Mac starten mit bereits angeschlossenem Gerät, funktionieren wird.

    Ich bin ja auch für "Jugend forscht" und fand das Konzept damals von Ozmosis schon sehr charmant. Ein kompatibles Board vorausgesetzt, verhielt sich der Rechner fast wie ein Mac. Nur zeichneten sich dann eh einige Dinge ab: neue Mainboards mit verändertem BIOS, die eine einfache Implementierung nicht mehr ermöglichten sowie eine veränderte Methode, unsignierte und von Apple nicht beglaubigte Kexte zu laden. Auch die letzten fragmentarischen Exemplare von Ozmosis unter aktuellem macOS verwenden größtenteils oder komplett die ESP. Letztendlich ist das auch sicherer geworden, geschrottete Mainboards gab es damals durchaus öfter. Klar, ein Programmer und der Umgang damit kann helfen, und der erste Satz behält ja seine Gültigkeit. Ich kann nur leider auch keinen Sinn darin erkennen.


    Edit: was mir hier aufgefallen ist: EFI-Treiber und Kernel Extensions sind grundverschiedene Dinge. Wurde hier gern vermengt. Und das erklärt auch schon ein gewaltiges Problem an der Nummer.

    DSM2  mhaeuser


    Hier eine sehr erfreuliche Mitteilung. Habe einen geflashten Controller von DSM2 erhalten, Einzelheiten dazu kann er sicher beitragen. Das Problem war immer, dass nur eine SSDT nicht reicht, um alles aus dem Controller rauszuholen (in diesem Fall die Titan-Ridge von Gigabyte), es fehlte eine angepasste EFI-Firmware. Das ist nun gelungen, ein Vorreiter war hier https://osy.gitbook.io/hac-mini-guide/


    Das zu adaptieren vom NUC hin zu einem allgemeinen Controller, das kann besser DSM2 erklären. :)


    Was ist nun anders? Der Controller funktioniert völlig autark. Es wird kein Thunderbolt-Header-Kabel zum Mainboard benötigt, auch keine Unterstützung mehr seitens des BIOS. Das ist sehr interessant auch für AMD Systeme, oder auch originale Apple Käsereiben, MacPro5.1. Es müssen lediglich an der Karte selbst (oder angestecktes TB-HeaderKabel) zwei Pins gebrückt werden:



    Hier Bilder in ungeordneter Reihenfolge, eine SSDT für Hotplug ist natürlich weiterhin notwendig, die hat der originale Mac ebenso:



    Einziges kleines Problem derzeit noch, auch das werden wir gebacken bekommen: USB-Hotplug funktioniert noch nicht (Thunderbolt sehr wohl), USB funktioniert derzeit nur, wenn vor dem booten eingesteckt.

    Aluveitie

    DSDT mit maciASL öffnen, bearbeiten, sichern und in die ACPI wieder einbinden. Bei Clover gehört die dann in EFI\CLOVER\ACPI\patched; bei OpenCore in EFI\CLOVER\ACPI und zusätzlich in die config.plist eingetragen.


    Problem bei der DSDT-Bearbeitung: Hier müssen mitunter erstmal weitere Fehler berichtigt werden, und bei einem BIOS-Update muss dann Ganze eventuell neu erstellt werden. Deshalb ist in den meisten Fällen eine Bearbeitung der DSDT eher unerwünscht. Wenn man weiß, was man tut, dann kann hier aber teils einfacher direkt dran gearbeitet werden.

    … doch der Rechner will nicht mehr in den Ruhezustand gehen, d.h. er wacht direkt wieder auf.

    Schau mal in der DSDT an dem entsprechenden "RPxx" nach, ob dort eine "_PRW" Methode (Power Resources for Wake) enthalten ist und entferne diese.


    Alternativ kannst du testen (Holzhammer-Methode), per Clover ACPI Patches generell "_PRW" in zum Beispiel "XPRW" umzubenennen. Damit werden die komplett wirkungslos und Sleep sollte funktionieren. Aufwachen geht in dem Fall aber nicht mehr über Maus oder Tastatur, sondern nur noch über kurzes Tippen auf den An/Aus-Schalter.


    CommentFindReplaceDisabled
    _PRW to XPRW5F50525758505257

    gibt es eigentlich eine aktualisierte Anleitung, wie man die USB Ports konfiguriert in Verbindung mit OpenCore?

    Völlig egal welcher Bootloader. Du erstellst letztendlich eine Kext, in der das Port-Mapping enthalten ist.


    pstr

    Nein, hatte ich nicht gemacht. Mir ging es nur um USB voran zu bringen. Hätte dir aber antworten sollen, ist unter gegangen.

    derHackfan

    magst du mal diese DSDT ausprobieren? Ist zwar ungefragt, aber ich würde gern wissen ob die läuft. Hab nur etwas aufgeräumt und einige Fixes noch drin (basierend auf deine DSDT #196). Ist experimentell, aber du kannst es ja mal testen …

    Dateien

    • DSDT.aml

      (37,23 kB, 65 Mal heruntergeladen, zuletzt: )