USB mittels SSDT deklarieren

  • cobanramo

    Ich habe versucht zu jeden Ausgang eine neue _DSM Methode zu schreiben, um damit den comment in IOReg. zu zeigen, hat leider nicht geklappt.


    Vlt. kann hier apfelnico weiterhelfen :thumbup:

  • N0b0dy  cobanramo

    Wobei könnte ich helfen?

    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)

  • Er möchte jeden Ausgang seine Position in IOReg mittel Comment zeigen lassen.

    Ich habe zu den anderen Methoden UPC und PLD noch die bekannte DSM Methode hinzugefügt aber leider wird nicht gezeigt.

  • Dafür ist PLD da. Dort kann auf den Millimeter genau mit welcher Form und welche Farbe, zu welchem Subset etc. zugehörig exakt definiert werden. Wozu auch immer sich das ausgetüftelt wurde und was auch immer diese Infos darstellen kann. Mir erscheinen dort zwei Infos wichtig: Visable und Ejectable.

    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  N0b0dy


    Hab mir die Beschreibung für _PLD durchgelesen:


    https://uefi.org/specs/ACPI/6.…tml#buffer-0-return-value


    Das Codesnippet scheint mir ein wenig veraltet. "Visible" scheint sich auf die Sichtbarkeit des Physischen Ports zu beziehen, nicht auf die Sichtbarkeit im Betriebssystem selbst. Der Wert heißt eigentlich "User Visible" – also das es einen physischen Port gibt, den man erreichen kann: "set if the device connection point can be seen by the user without disassembly."


    Mir scheinen nur relevant:


    - Revision: 0x02 (im Snippet noch 0x01)

    - Ejectable (Set if the device is ejectable. Indicates ejectability in the absence of _EJx objects.)


    Für die Position könnte man es versuchen mit:


    - Group Token

    - Group Position und evtl

    - Group Orientation


    Aber mir scheint das eher ne Spielerei zu sein im Privatbereich. Ich glaube, das Macht nur Sinn, für irgendwelche großen Anlagen mit etlichen Ports, um den Port überhaupt erstmal zu finden, weil es so viele gibt. :D

  • Ich spiel mal bissl rum mit deinem beispiel nachher Nico.
    Es wäre schön gewesen wenn man das wie beim Kext "Comment" definieren könnte dachte ich mir. :-)

    So wichtig ist das ja jetzt auch nicht.

    Gruss Coban

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Es wäre schön gewesen wenn man das wie beim Kext "Comment" definieren könnte dachte ich mir.

    Das könnte ja so aussehen:


    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)

  • Verstehe ich richtig Nico das das Info eben nur für den SSDT ist und nicht im Ioreg auftaucht wie mit der Kext & Comment lösung?

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • Das war nur mal so ein Gedanke, auf jeden Fall APCI-konform. Bin immer noch unterwegs und habe keinen Zugang zu meinem Rechner, kann nichts testen.

    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)

  • Kein Problem Nico, das eilt nicht, wie gesagt das ist nur ne test und soll informativ beitragen.
    Hab mal deine "Name Info" mit meinem ssdt bestückt, wäre halt schon bissl luxus gewesen wenn die infos`s auch im Ioreg auftauchen würden :-)


    Dank N0b0dy und dir hab ich jetzt auch ein lupenrein funktionierendes ssdt für diesen Board.


    Hier hab ich noch ein paar Kleinigkeiten korrigiert auf dem SSDT.

    Dateien

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • cobanramo Hast Du das alles so strukturiert, oder war das schon so?


    Also erst die Routinen, dann der Device Pfad und dann die XHUB und RHUB und die Ports.


    ?

  • Das ist das kunst vom N0b0dy gewesen, er hat also die ganze Arbeit geleistet, hab nur die adressen und die infos nachgebessert :-)


    Gruss Coban


    EDIT: Original sieht das bei mir so aus;

    Dateien

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • apfelnico ST33Z0

    Aus eure verlinkte Webseiten könnte ich die Method GPLD entziffern. zum Beispiel nehme ich sie aus Coban's SSDT

    1-CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV) beschreibt "Revision", daher stehet REV und hat 8 bits von null bis 7

    Store (0x02, REV) dann gibt immer Revision 2


    2-CreateField (DerefOf (Index (PCKG, Zero)), 0x07, One, RGB) beschreibt "Ignore Color", daher steht auch RGB und ha nur ein Bit.

    Store (One, RGB) dann gibt immer eins, das heißt inaktive


    CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI) beschreibt "User Visible", daher steht VISI und ebenfalls hat ein Bit also aktive oder inaktive.

    Bei "Store (Arg0, VISI)" steht erstes Argument für die Methode entweder 0 invisible oder 1 visible


    CreateField (DerefOf (Index (PCKG, Zero)), 0x57, 0x08, GPOS)

    Store (Arg1, GPOS) hier beschreibt "Group Position" an den Bit 87, daher steht auch GPOS

    Bei "Store (Arg1, GPOS) ist das zweite Argument für die Methode, die eben falls hier ändern können


    In diesem Beispiel


    Code
    1. Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
    2. {
    3. Return (GPLD (One, One))
    4. }

    gibt uns GPLD zurück (Revesion=2, RGB=0, Visible=Yes, Postion=1)

    das in Buffer nicht anders als so sehen würde

    Code
    1. /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    2. /* 0008 */ 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  • Hab gerade mal QtiASL ausprobiert:


    https://github.com/ic005k/QtiASL/releases


    Sieht nicht so schick aus, aber es ist cross-platform und man hat gestrichelte Linien zwischen den Klammern, wodurch man die Hierarchie leichter erkennt.




    cobanramo Wenn man in "GPLD" 4 von diesen "createfield" Funktionen drin hat, warum brauch man dann nicht unter "Return" nicht auch 4 werte, sondern trotzdem nur 2?

    Einmal editiert, zuletzt von 5T33Z0 ()

  • ST33Z0
    Ich vermute mal das du den N0b0dy fragen wolltest warum das so ist,

    Ich bin wirklich absolut nicht fit im Bereich Acpi, denke aber das es bei den returns eben nur das angegeben wird was nötig ist und bei denen wo es nötig wird die fehlenden auch mitgegeben wird.


    Gruss Coban


    EDIT: vielleicht lieg ich auch völlig falsch aber ich könnte mir noch vorstellen das man eben über diesen "Visible=Yes, Postion=1" genau die Ports die am Board (interne header oder fest verdrahtet und herausgeführte Usb Ports) darstellt oder steuert.

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • GPLD gibt immer diese 4 Werte zurück aber der erste und zweite sind immer gleich für alle Ports daher müssen sie nicht geändert werden.

    Dritte und vierte müssen nun ja angepasst werden daher sind sie variabel


    Wie oben schon geschrieben bei dem dritte handelt es sich um den Ausgang, ob er für uns sichtbar ist oder nicht, wenn _UPC deaktiviert dann _PLD ist irrelevant also für uns nicht sichtbar daher null aber wenn aktiviert ist dann muss sichtbar sein, dass heißt eins


    beim vierten Wert entspricht USB Position und ist gleich wie USB Nummer 1, 2, 3, ....

  • Genau, das ist mir mit der 4. wert auch aufgefallen, die entspricht immer den _ADR wert.

    Die 3. wert mit visible ist in dem fall die Interne header Port oder Real Port nehm an.

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina bis Sequoia / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."