Sonnet M.2 4x4 PCIe Card via SSDT als internes Gerät Konfigurieren - Sage 10/G

  • Hallo apfelnico

    Wie kann ich eine Sonnet Fusion SSD M.2 4x4 die als "Extern" angezeigt wird Intern deklarieren?


    Unter PC01.BR1A.SL01.pci-bridge@8 finde ich dann die besagten Laufwerke. VendorID ist wieder 144d für Samsung und DeviceID a808 für die 970Pro.



    Kann ich nun das von DSM2 gepostete Beispiel nehmen und _SB.PC00.RP21.PXSX ersetzen durch _SB.PC00.BR1A.SL01 ersetzen? Wobei die Samsung IDs ja erst unter PC01@0/BR1A@0/SL01@0/pci-bridge@8/pci-bridge@0/pci-bridge@8/pci144d,a808@0 auftauchen. Alles davor sind die Multiplexer für die PCI-Lanes (Vendor 10b5 Device 8747 und 8732)


    Wie ist das mit der UUID...nehme ich da die selbe wie im Beispiel oder ist das bei mir eine andere ?


    lg und Danke

  • Also würde das Beispiel von DSM2 dazu führen dass eine in dem M.2 Anschluss angeschlossene PCIe-NVMe entsprechend angezeigt wird. Da die SM951 aber eine SATA-SSD im M.2 Format ist erscheint diese im Systembericht unter SATA und nicht unter NVME.

    Zum einen ist es eben ein BEISPIEL, zum anderen hast du es immer noch nicht verstanden. Im Systembericht unter PCI würdest du einen Eintrag sehen, so wie du das Gerät unter "name" eben benennst und als Slot eben "M.2". Völlig Wurscht, ob das nun NVMe oder SATA ist. Entsprechend siehst du bei NVMe natürlich nix. Würdest du in der SSDT bei "name" von mir aus "tolles Gerät" schreiben und für den Slot "der kleine" schreiben, dann würde eben das angezeigt werden.

    MEIN PROBLEM liegt ja nicht …

    Das hat hier jeder verstanden. Du anscheinend nicht, dass es nur um ein Beispiel ging, dass lediglich die Syntax erklärt.

    Unter PC01.BR1A.SL01.pci-bridge@8 finde ich dann die besagten Laufwerke.

    Bingo. In deiner SSDT gibst du nun also diese Adresse ein, anstelle von dem derzeit noch nicht in der ACPI vorhandenem Device "pci-bridge@8" denkst du dir ein neues (vier Zeichen) Device aus. Sofern deine Sonnet eben auf "pci-bridge@8" liegt. Liegt sie davor (SL01), dann beschreibst du eben diesen vorhandenen Scope. Anbei mal ein Versuch aus der Ferne, ohne weitere Hintergründe:



    Du siehst, dass hier "hinter" SL01 nun eine neues Device "SOFU" (Sonnet Fusion) eingefügt wurde, mit einer spezifischen Adresse "_ADR, 0x00080000" (pci-bridge@8).

    Und nochmal zur UUID...nehme ich da die selbe wie im Beispiel oder ist das bei mir eine andere ?

    Nein, wieso? Ich schrieb doch, es referenziert auf die Methode "DTGP". Du solltest dir schon die Mühe machen, diese Methode auch mal anzuschauen, dann fällt dir sicher etwas auf. In meinem Beispiel habe ich diese Methode integriert.


    Kann ich nun das von DSM2 gepostete Beispiel nehmen und _SB.PC00.RP21.PXSX ersetzen durch _SB.PC00.BR1A.SL01 ersetzen? Wobei die Samsung IDs ja erst unter PC01@0/BR1A@0/SL01@0/pci-bridge@8/pci-bridge@0/pci-bridge@8/pci144d,a808@0 auftauchen. Alles davor sind die Multiplexer für die PCI-Lanes (Vendor 10b5 Device 8747 und 8732)

    Es geht NICHT um die angeschlossenen NVMe an den vier Steckplätzen. Es geht um den Sonnet-Controller davor. Der sollte, wie im Beispiel beschrieben, als "internes Gerät" definiert werden.

    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)

  • Hi


    apfelnico:

    Doch ich habe das schon so weit verstanden auch wenn es nicht so aussah. Wir haben da wohl aneinander vorbei geredet.

    Das mit UUID kam mir eben etwas seltsam vor deshalb noch mal die Nachfrage.


    Bin jetzt dran und berichte.


    lg und DANKE


    SO apfelnico

    Das hat leider nicht funktioniert .....also es hat schon funktioniert aus dem Device nu nbdas Device SOFU zu machen, aber meine Laufwerke sind immer noch extern.


    Die in Deinem Beispiel verwendete Adresse 0x00080000....ist die erfunden oder woher kommt die?

    Wenn ich versuche tiefer einzusteigen als noch pci-bridge anhänge dann lässt es sich nicht kompilieren.


    lg

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    Edited once, last by pgr69 ().

  • Die in Deinem Beispiel verwendete Adresse 0x00080000....ist die erfunden oder woher kommt die?

    Nein. Wieso sollte ich die "erfinden"?

    spezifischen Adresse "_ADR, 0x00080000" (pci-bridge@8).

    Zeig mal deine IORegistry mit geladener SSDT. Hast du meinen Quellcode 1:1 übernommen? Was ist im Systembericht/Systeminformationen zu sehen?

    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)

  • apfelnico

    Ich meinte ob diese Adresse beliebig ist und wenn nicht woraus resultiert die. Dazu passen würden zahlen die jeweils hinter den Namen mit dem @-Zeichen folgen und das nach hinten auf 8 Stellen mit nullen aufgefüllt: IODeviceTree:/PC01@0/BR1A@0/SL01@0/SOFU@8


    Ja konnte den Code einwandfrei übernehmen. Habs dann noch in die config.plist eingetragen und dann hat er es auch geladen.


    Hier die Screenshots




    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • pgr69

    Nein, es ist "nur" die "@8". Und wahrscheinlich falsch, weil wir damit die "Bridge" beschrieben haben, aber nicht den Controller an sich. Wie ich oben schon schrieb, eventuell das Device davor (SL01), beziehungsweise in einem "Scope" (einem vorhandenen Device weitere Properties hinzufügen). Also noch mal, nun so:


    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)

  • apfelnico

    Okay also diesmal kein neues Device deklarieren sondern dem vorhandenen SL01 die Properties zuweisen.......hat leider auch nichts gebracht. Die Properties wurden übernommen aber die SSDs sind immer noch "externe".


    Kann man das nicht als property direkt auf die 4 einzelnen SSDs bzw. deren Controller schreiben?

    Sobald ich versuche hinter SL01 weiter zu gehen gibt es Fehler...also ....SL01.pci-bridge.pci-bridge mag er nicht

    Oder muss jetzt erst die hintereinander liegenden PCI-Bridges nacheinander als neue Devices definiert werden damit ich ihnen Properties zuweisen kann ?


    lg und Danke

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    • Helpful

    Oder muss jetzt erst die hintereinander liegenden PCI-Bridges nacheinander als neue Devices definiert werden damit ich ihnen Properties zuweisen kann ?

    Genau. Anders geht es nicht via SSDT. Es muss ja ein Device vorhanden sein, das man beschreiben will. Noch mal den Baum genau angeschaut, dann eben ganz tief rein:


    Files

    • SSDT-SOFU.aml

      (982 Byte, downloaded 41 times, last: )

    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)

    Edited once, last by apfelnico ().

  • apfelnico

    Genau so hat es geklappt. Danke dir

    Ich habe zu der SSDT noch eine Frage aber die stelle ich dir morgen ich will heute nicht mehr.


    vielen, vielen Dank

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • pgr69

    OK, bis morgen.


    Edit: Wahrscheinlich kann man den ganzen Krempel auch in eine Kext packen (Properties Injection). Hätte den Vorteil, falls dieses Problem auch richtige Macs (MacPro) betrifft, könnten diese das unkompliziert nutzen. Denn eine SSDT können die nicht nutzen, es sei denn, die hauen zum Beispiel OpenCore davor. :)

    Aber dennoch interessant, das mal an einer SSDT durch zu exerzieren. Über OpenCore direkt geht das natürlich auch.

    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)

  • Guten Morgen Miteinander.


    apfelnico

    Vielen Dank für Deine Hilfe. Ich habe gestern mehr dazu gelernt als in meiner ganzen Hackintosh-Zeit - zumindest kommt es mir so vor.


    Vor Deiner letzten Lösung dachte ich mir schon das die unbekannten Geräte nacheinander deklariert werden müssen nur allerdings dachte ich das erst eins fertig definiert und injiziert sein muss bevor ich an ein darunterliegendes komme. Dass das so schön kaskadiert in einem rutsch geht ist natürlich klasse.


    Gestern stellte sich mir die Frage warum bei _ADR einmal was drin steht und dann wieder nichts......aber es ist ja nicht NICHTS sondern Zero also 0 und diese Werte kommen von dem was jeweils hinter dem "@" stand oder ?


    Bei der Benamung der Devices hast du einfach ABCD genommen und wäre es tiefer gegangen wäre es alphabetisch weiter gegangen mit E usw. ?


    Mir ist im IORegExplorer aufgefallen dass da noch andere Devices rumlungern die nur mit ihrer VendorID und DeviceID aufgeführt sind. Weis nur nicht mehr ob es auf dem Sage10g oder auf meinem derzeitigen Designare EX war. Egal....die Frage ist.....diese Devices kann ich doch dann auf die gleiche Art und Weise mit vernünftigen Properties versehen aus denen hervorgeht um was es sich dabei handelt.


    lg und Danke

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • Gestern stellte sich mir die Frage warum bei _ADR einmal was drin steht und dann wieder nichts......aber es ist ja nicht NICHTS sondern Zero also 0 und diese Werte kommen von dem was jeweils hinter dem "@" stand oder ?

    Exakt.

    Bei der Benamung der Devices hast du einfach ABCD genommen und wäre es tiefer gegangen wäre es alphabetisch weiter gegangen mit E usw. ?

    Genau. Da es so viele sind und ich nix kreatives mehr leisten wollte, eben so. Was da steht, ist letztendlich (oft) Wurscht. Es müssen max. vier Zeichen sein, Buchstaben und Zahlen sind erlaubt, Zahlen allein gehen nicht. Manche Treiber, Kexte reagieren aber auf bestimmte Namen der ACPI-Devices.


    Mir ist im IORegExplorer aufgefallen dass da noch andere Devices rumlungern die nur mit ihrer VendorID und DeviceID aufgeführt sind. Weis nur nicht mehr ob es auf dem Sage10g oder auf meinem derzeitigen Designare EX war. Egal....die Frage ist.....diese Devices kann ich doch dann auf die gleiche Art und Weise mit vernünftigen Properties versehen aus denen hervorgeht um was es sich dabei handelt.

    Kann man machen, muss man nicht. Und immer einen Blick in die DSDT werfen. Wenn dort schon eine _DSM-Methode vorkommt – bei den vielen Basis-Geräten ist das der Fall – dann geht das so über eine zusätzlich SSDT nicht. Denn innerhalb eines Devices bzw dessen Scope dürfen nicht gleiche Methoden angewendet werden, dann wird diese SSDT ignoriert. In vielen Fällen ist es einfacher, Device Properties im Bootloader festzulegen. Der Vorteil einer SSDT ist aber, dass hier schon auf ACPI-Ebene Dinge repariert und oder verbessert werden, auch lassen sich hier Properties verschiedenen Typs einsetzen. Zum Zeitpunkt in dem der Bootloader dies macht, ist schon eine Menge gelaufen und es können nur nach Properties mit dem Type "DATA" injiziert werden. Oftmals, gerade für die kosmetischen Dinge, ausreichend. Mitunter möchte man aber "Number" nutzen, das geht dann direkt über SSDT.

    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)

  • Wenn dort schon eine _DSM-Methode vorkommt –

    Okay dort kann man dann nichts mehr tun weil die _DSM schon für diese Geräte abgearbeitet wurde?


    Du sagtest wenn die Karte sich im MacPro genauso darstellt wäre für die Leute ein KEXT interessant. Wie geht das? Kann man aus einer SSDT ein Kext machen oder ist die Syntax beim erstellen eines KEXT eine ganz andere?


    lg und Danke

    Real Macs

    1. iMac Pro 2017, 10-Core, 64GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

    2. MacMini M1, 16GB RAM, 1TB SSD, 10G Ethernet, Monterey 12.3.1

  • Völlig anders. Nur die Grundidee bleibt, einem spezifischen Gerät weitere Properties einzuimpfen.

    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)