Da das Aktualisieren des VoodooSDHC.kext von Thogg Niatiz für die internen Realtek SD-Cardreader mangels passendem Laptop momentan stoppt, habe ich den Sinetek-Treiber mal probiert. (Ich hoffe, der gute Thogg Niatiz ist mir nicht böse – sobald sein Projekt weitergeht, bekommt er meine volle Unterstützung. Nur bis dahin wäre ich doch froh, wenn der Cardreader funktionieren würde.)
Mit dem Sinetek-rtsx.kext wird mir im Systembericht – Hardware – PCI schon mal angezeigt, daß der Treiber installiert ist. Allerdings kann er bisher keine SD-Karte erkennen. Im Festplattendienstprogramm sehe ich auch nicht, wenn die SD-Karte eingelegt ist. Vendor- und Device-ID habe ich schon kontrolliert. Die sind im Treiber intergriert und vorhanden.
Sinetek gibt an, daß man bei Problemen noch die SSDT-XOSI.aml in ACPI/patched und den _OSI -> XOSI Patch in Clover installieren soll. Ich habe Beides getan, aber funktioniert hat es nicht. Wahrscheinlich liegt es am Zusammenspiel zwischen meiner aktuellen DSDT und den beiden Patches. Möglicherweise weiß @al6042 wie man statt der beiden Patches die DSDT direkt anpaßt, so daß der Treiber vielleicht doch noch funktioniert? Ich wäre also für Eure Hilfe dankbar!
Der SD-Card-Eintrag in meiner DSDT unter EXP6:
Device (SDSX)
{
Name (_ADR, 0x00) // _ADR: Address
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
{
0x69,
0x04
})
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x10)
{
"AAPL,slot-name",
"Built In",
"name",
"Realtek PCIe Controller",
"model",
"Realtek RTS522A Card Reader",
"device_type",
"PCIe Controller",
"vendor-id",
Buffer (0x04)
{
0xEC, 0x10, 0x00, 0x00
},
"device-id",
Buffer (0x04)
{
0x2A, 0x52, 0x00, 0x00
},
"built-in",
Buffer (One)
{
0x01
},
"compatible",
"pci10ec,522a"
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Die _OSI-Einträge in meiner DSDT:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x01, \WNTF)
Store (0x01, \WXPF)
Store (0x00, \WSPV)
Store (0x07D1, OSYS)
}
If (\_OSI ("Windows 2001 SP1"))
{
Store (0x01, \WSPV)
Store (0x07D1, OSYS)
}
If (\_OSI ("Windows 2001 SP2"))
{
Store (0x02, \WSPV)
Store (0x07D2, OSYS)
}
If (\_OSI ("Windows 2006"))
{
Store (0x01, \WVIS)
Store (0x07D6, OSYS)
}
If(LOr(_OSI("Darwin"),_OSI("Windows 2009")))
{
Store (0x01, \WIN7)
Store (0x07D9, OSYS)
}
If(LOr(_OSI("Darwin"),_OSI("Windows 2012")))
{
Store (0x01, \WIN8)
Store (0x07DC, OSYS)
}
If (\_OSI ("Windows 2013"))
{
Store (0x01, \WIN8)
Store (0x07DD, OSYS)
}
If (\_OSI ("Windows 2015"))
{
Store (0x01, \WIN8)
Store (0x07DF, OSYS)
}
If (\_OSI ("Linux"))
{
Store (0x01, \LNUX)
Store (0x03E8, OSYS)
}
If (\_OSI ("FreeBSD"))
{
Store (0x01, \LNUX)
Store (0x03E8, OSYS)
}
}
Der SSDT-XOSI-Patch in ACPI/patched:
/*
* 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 iASLpzPuUw.aml, Wed Jul 12 15:27:13 2017
*
* Original Table Header:
* Signature "SSDT"
* Length 0x000000A2 (162)
* Revision 0x02
* Checksum 0x9D
* OEM ID "hack"
* OEM Table ID "XOSI"
* OEM Revision 0x00000000 (0)
* Compiler ID "INTL"
* Compiler Version 0x20160422 (538313762)
*/
DefinitionBlock ("", "SSDT", 2, "hack", "XOSI", 0x00000000)
{
Method (XOSI, 1, NotSerialized)
{
Store (Package (0x07)
{
"Windows",
"Windows 2001",
"Windows 2001 SP2",
"Windows 2006",
"Windows 2006 SP1",
"Windows 2009",
"Windows 2012"
}, Local0)
Return (LNotEqual (Ones, Match (Local0, MEQ, Arg0, MTR, Zero, Zero)))
}
}
Und der _OSI -> XOSI Patch in Clover als Bildanhang!