Vielen Dank für diese Anleitung. Ich habe das soeben getestet und es hat feherfrei geklappt. Bei dieser Methode besteht nicht die Gefahr, dass man einen Fehler einfach händisch löscht oder auskommentiert und damit vielleicht Informationen eliminiert, die eigentlich noch gebraucht werden. Sehr schön.
DSDT Sammelthread (Hilfe und Diskussion)
-
- Erledigt
- derHackfan
- Erledigt
-
-
Irgendwie bin ich wohl zu blöd für die neue Methode.
Vielleicht kann mir jemand das mal anhand meines origin Ordner erklären, bei mir schmeisst er im Terminal bei der SSDT-3.aml einen Fehler und ich bekomme auch keinen fehlerfreien Compile.
Zum Vergleich habe ich die händische Lösung im Anhang dabei.
-
Vielleicht ist dir nur ein kleiner Fehler passiert. Ich habe die Anleitung mit deinem Ordner nochmal durchgespielt, hat fehlerfrei funktioniert.
derHackfan.zipEDIT: Hier die Schritte die ich ausgeführt habe.
1. Mit “sudo cp /Applications/MaciASL.app/Contents/MacOS/iasl61 /usr/bin/iasl” iasl nach /usr/bin/ kopiert.
2. Im Terminal in den Ordner gewechselt, in dem die DSDTs und SSDTs liegen.
3. Diesen Text in die Zwischenablage kopiert.
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)4. “pbpaste>refs.txt” im Terminal ausführen.
5. “iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml” im Terminal ausführen.
-
Zitat von Doctor Plagiat
5. “iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml” im Terminal ausführen.
Jup, jetzt gehts auch bei mir, der Fehler war dass ich die SSDT einzeln nacheinander abgearbeitet habe.
iasl -da -dl -fe refs.txt DSDT.aml SSDT-0.aml
iasl -da -dl -fe refs.txt DSDT.aml SSDT-1.aml
iasl -da -dl -fe refs.txt DSDT.aml SSDT-2.aml
iasl -da -dl -fe refs.txt DSDT.aml SSDT-3.aml
iasl -da -dl -fe refs.txt DSDT.aml SSDT-7.amlDie Idee gefiel mir aber ganz gut.
-
ACPI-Introduction copy.pdfFür den groben Überblick (habe ich nur auf Englisch gefunden).
Ich suche immer noch ein Dokument über den strukturellen Aufbau einer DSDT. Bin bisher nur auf das große ACPI Manual (http://www.uefi.org/sites/defa…es/resources/ACPI_6_2.pdf) gestoßen, wo man alle möglichen Definitionen und Methoden usw. nachschauen kann. Ist aber eigentlich was für Developer.
Vielleicht hat ja jemand eine Empfehlung?
Edit: Im verlinkten Dokument steht wohl schon alles drin, leider auf ganz ganz vielen Seiten. Grundstruktur findet sich auf S. 253, 254.
Edit 2: Baumstruktur -
Nur das PDF hier welches noch ausführlicher ist aber vielleicht hilft es ja jemandem.
-
Für alle DSDT Fetischisten hier etwas Abhilfe gegen die recht häufige Compilerwarnung "Missing dependency (Device object requires a _HID or _ADR in same scope)", wobei zumeist die Geräteadresse statt direkt im Device in einem zugehörigen Scope steht:
Durch Anklicken der Warnung ein betroffenes Device ausfindig machen. Normal sollte darin als erstes die Adresse deklariert werden, was hier offensichtlich nicht der Fall ist. Nun könnte man den Scope mit der Adresse suchen, was aber für viele nicht intuitiv sein dürfte...
Wenn man einen "Dummy" Adresseintrag macht, wirft der Compiler einen Fehler, da zwei Adressen beim gleichen Device unweigerlich zu Problemen führen würden. Dadurch wird man aber leicht zum gesuchten Scope geführt.
Hier ist die Adresse, welche man gleich ausschneiden und später im Device einfügen kann.
Durch das Ausschneiden ist im Scope nichts mehr enthalten, man kann ihn also komplett entfernen.
Zurück im Device ersetzt man die Adresse 0x0 durch die korrekte Adresse. -
eigentlich so aussehen müsste: Return(SDSM(Arg0, Arg1, Arg2, Arg3)),
hatte ich mir auch gedacht, und probiert, gab mächtig errors, destawegen hab ich die 4 args dann doch gelöscht. hats bei dir so geklappt?
-
Nein, das war reinste Theorie. Wahrscheinlich ist die Lösung bei dir ähnlich, aber da kann ich so ohne Weiteres leider nicht mehr zu schreiben. Vielleicht gibt es bei dir auch Probleme, weil ein relevanter Teil in eine SSDT ausgelagert wurde, aber das ist unwahrscheinlich.
-
Hi Leute,
so richtig hab ich es noch nicht gecheckt...
Hab mir jetzt schon diverse Anleitungen durchgelesen, leider verwirrt es mich dadurch immer mehr..
Hier aber vielleicht eins nach dem anderen, hoffe das ich auch an der richtigen Stelle poste.Wie extrahiere ich mit Clover oder einem anderen Tool ein cleane DSDT aud meinem BIOS ?
-
Mit Clover einfach die F4-Taste im Clover Bootmenü drücken.
Damit werden die DSDT und andere ACPI-Tabellen-Dateien in den Ordner /EFI/CLOVER/ACPI/origin extrahiert. -
hab diese nun extrahiert, siehe Anhang.
Könnte die sich jemand mal bitte anschauen?
Hab einen Skylake (i3-6100 mit MSI Z170A PC Mate)Vielen Dank...
-
Deinen ersten Fehler bekommst Du so BNUM, 8,//BNUM, 8, weg, damit kannst Du dann schonmal arbeiten.
Was zum lesen gibt es im Wiki https://www.hackintosh-forum.d…gepatchten-DSDT-Desktops/Immer schön nach jedem Patch schauen ob Fehler kommen und speichern und dann zum nächsten....
-
Da gehts schon los...
wo muss ich diese 2 Einträge einsetzen? -
Du machst einfach // oder zwei Schräger vor BNUM und klickst auf Complie.
-
die Fehler mit dem gelben Ausrufezeichen kann ich erstmal ignorieren?
-
Das sind keine Fehler, das sind Warnings, bitte genau lesen!
Ja, jetzt hast du einen clean Compile und kannst mit dem eigentlichen patchen beginnen. -
Btw: Kann mir jemand helfen bei meinem SSDT Gefummel?
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20160422-64(RM)
* Copyright (c) 2000 - 2016 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of iASL6z7HAS.aml, Sun Feb 25 18:55:00 2018
*
* Original Table Header:
* Signature "SSDT"
* Length 0x00000181 (385)
* Revision 0x01
* Checksum 0xF4
* OEM ID "toleda"
* OEM Table ID "nuc9hd60"
* OEM Revision 0x00003000 (12288)
* Compiler ID "INTL"
* Compiler Version 0x20141107 (538185991)
*/
DefinitionBlock ("", "SSDT", 1, "toleda", "nuc9hd60", 0x00003000)
{
External (_SB_.PCI0, DeviceObj) // Warning: Unknown object
External (_SB_.PCI0.B0D3._ADR, UnknownObj) // Warning: Unknown object
External (_SB_.PCI0.GFX0._ADR, UnknownObj) // Warning: Unknown objectMethod (XOSI, 1, NotSerialized)
{
Return (LEqual (Arg0, "Windows 2009"))
}Scope (\_SB.PCI0)
{
Name (GFX0._STA, Zero) // _STA: Status
Device (IGPU) //or Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x04)
{
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x04, 0x00, 0x26, 0x16
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
Device (HDAU)
{
Name (_ADR, 0x00030000) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device- Specific Method
{
If (LEqual (Arg2, Zero)) {
Return (Buffer (One) {
0x03 })
}
Return (Package (0x02)
{
"hda-gfx", Buffer (0x0A)
{
"onboard-1"
}
})
}
}
}
}Ich finde den Fehler nicht ...
-
Und ich finde die Zeile, in der der Fehler sein soll, nicht...
-