YEAH cool that works great!!! glitches at boot now gone too...))
That's funny, there's no internal Speaker recognized at all, but my mic works perfectly fine. I repaired permissions and rebuild cache...
To enable trim i used just this command in Terminal:
It works an i read that we can use it since 10.10.4.
System profiler shows yes at trim and my Sata tree says now "Intel ESB2 AHCI" ...don't know what that means...
With the FakePCIID.kext and the FakePCIID_XHCIMux.kext i used the following DSDT-Patches as well:
hmmm i just double checked and it seems i didn't use the dsdt patches... anyway i really tried a lot and reverted a lot... lol, but anyway here they are...
but i really think that usb started working right after these patches.....maybe i messed up my dsdt and the use with the port replicator with overpatching it???!!!
I try to start with the fresh original dsdt tomorrow...
#Maintained by: RehabMan for: Laptop Patches
#usb_USB_7-series.txt
# USB property injection for 7-series boards (originally HM76)
# Insert Apple USB properties into EHC1
into method label _DSM parent_adr 0x001D0000 remove_entry;
into device name_adr 0x001D0000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"AAPL,clock-id", Buffer() { 0x01 },\n
"built-in", Buffer() { 0x00 },\n
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
"AAPL,current-available", 2100,\n
"AAPL,current-extra", 2200,\n
"AAPL,current-extra-in-sleep", 1600,\n
"AAPL,device-internal", 0x02,\n
"AAPL,max-port-current-in-sleep", 2100,\n
})\n
}\n
end;
# Insert Apple USB properties into EHC2
into method label _DSM parent_adr 0x001A0000 remove_entry;
into device name_adr 0x001A0000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"AAPL,clock-id", Buffer() { 0x01 },\n
"built-in", Buffer() { 0x00 },\n
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
"AAPL,current-available", 2100,\n
"AAPL,current-extra", 2200,\n
"AAPL,current-extra-in-sleep", 1600,\n
"AAPL,device-internal", 0x02,\n
"AAPL,max-port-current-in-sleep", 2100,\n
})\n
}\n
end;
# Insert Apple USB properties into USB 3.0 XHC
into method label _DSM parent_adr 0x00140000 remove_entry;
into device name_adr 0x00140000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"AAPL,clock-id", Buffer() { 0x02 },\n
"built-in", Buffer() { 0x00 },\n
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
"AAPL,current-available", 2100,\n
"AAPL,current-extra", 2200,\n
"AAPL,current-extra-in-sleep", 1600,\n
"AAPL,device-internal", 0x02,\n
"AAPL,max-port-current-in-sleep", 2100,\n
})\n
}\n
end;
——————————————————————————————————————————————————————————————————————
#Maintained by: RehabMan for: Laptop Patches
#usb_7-series-multiplex.txt
# Originally Maintained by: PJALM for: PJALM Intel7 at: Thu Aug 15 09:07:46 UTC 2013
# Intel z77 USB2/USB3 Multiplexing Fix
# USB3 patches in thanks to SJ_Underwater and Mieze
# Code optimizations thanks to RehabMan and PikeRAlpha
# Further optimizations by RehabMan 2013-10-14
#
# Note: These patches are often not universal. If your DSDT is substantially
# different, you may need to tweak them or refer to the various
# guides for XHC patching to implement it correctly for your
# board.
#
# Fix method _OSC
into method label _OSC parent_label PCI0 remove_entry;
into device label PCI0 parent_label _SB insert
begin
Method (_OSC, 4, Serialized)\n
{\n
Store (Arg3, Local0)\n
CreateDWordField (Local0, Zero, CDW1)\n
CreateDWordField (Local0, 0x04, CDW2)\n
CreateDWordField (Local0, 0x08, CDW3)\n
//was: Store (CDW2, SUPP)\n
Store (CDW3, Local3) //was: Store (CDW3, CTRL))\n
If (LAnd (LEqual (Arg0, GUID), NEXP))\n
{\n
If (Not (And (CDW1, One)))\n
{\n
If (And (Local3, 0x02)) //was: And (CTRL, 0x02)\n
{\n
NHPG ()\n
}\n
If (And (Local3, 0x04)) //was: And (CTRL, 0x04)\n
{\n
NPME ()\n
}\n
}\n
If (LNotEqual (Arg1, One))\n
{\n
Or (CDW1, 0x08, CDW1)\n
}\n
If (LNotEqual (CDW3, Local3)) //was: LNotEqual (CDW3, CTRL)\n
{\n
Or (CDW1, 0x10, CDW1)\n
}\n
Store (Local3, CDW3) //was: Store(CTRL, CDW3)\n
Store (Local3, OSCC) //was: Store(CTRL, OSCC)\n
}\n
Else\n
{\n
Or (CDW1, 0x04, CDW1)\n
}\n
Return (Local0)\n
}\n
end;
# Fix EHC1
into device label PR11 code_regex Name\s\(MUXS[^)]+\) remove_matched;
into device label PR11 parent_label PR01 insert begin Name (MUXS, "XHCA") end;
into device label PR12 code_regex Name\s\(MUXS[^)]+\) remove_matched;
into device label PR12 parent_label PR01 insert begin Name (MUXS, "XHCB") end;
into device label PR13 code_regex Name\s\(MUXS[^)]+\) remove_matched;
into device label PR13 parent_label PR01 insert begin Name (MUXS, "XHCC") end;
into device label PR18 code_regex Name\s\(MUXS[^)]+\) remove_matched;
into device label PR18 parent_label PR01 insert begin Name (MUXS, "XHCD") end;
into method label XHCA parent_label EHC1 remove_entry;
into method label XHCB parent_label EHC1 remove_entry;
into method label XHCC parent_label EHC1 remove_entry;
into method label XHCD parent_label EHC1 remove_entry;
into method label EHCA parent_label EHC1 remove_entry;
into method label EHCB parent_label EHC1 remove_entry;
into method label EHCC parent_label EHC1 remove_entry;
into method label EHCD parent_label EHC1 remove_entry;
into method label XHCN parent_label EHC1 remove_entry;
into device label EHC1 code_regex Name\s\(XHCN,\sOne\) remove_matched;
into device label EHC1 insert begin
Name (XHCN, One)\n
Method (XHCA, 0, NotSerialized) { Store (1, ^^XHC1.PAHC) }\n
Method (XHCB, 0, NotSerialized) { Store (1, ^^XHC1.PBHC) }\n
Method (XHCC, 0, NotSerialized) { Store (1, ^^XHC1.PCHC) }\n
Method (XHCD, 0, NotSerialized) { Store (1, ^^XHC1.PDHC) }\n
Method (EHCA, 0, NotSerialized) { Store (0, ^^XHC1.PAHC) }\n
Method (EHCB, 0, NotSerialized) { Store (0, ^^XHC1.PBHC) }\n
Method (EHCC, 0, NotSerialized) { Store (0, ^^XHC1.PCHC) }\n
Method (EHCD, 0, NotSerialized) { Store (0, ^^XHC1.PDHC) }\n
end;
# Fix EHC2
into method label XHCN parent_label EHC2 remove_entry;
into device label EHC2 code_regex Name\s\(XHCN,\sOne\) remove_matched;
into device label EHC2 insert begin Name (XHCN, One)\n end;
# Fix XHC1
into device label XHC set_label begin XHC1 end;
into_all all code_regex XHC(?=\W) replaceall_matched begin XHC1 end;
into method label _WAK code_regex \_SB.PCI0.XHC1.XWAK replace_matched begin _SB.PCI0.XHC1._INI end;
# Rewrite XHC/XHC1 device
into device label XHC1 replace_content
begin
Name (_ADR, 0x00140000)\n
Name (_S3D, 0x02)\n
Name (_S4D, 0x02)\n
Name (XRST, Zero)\n
\n
OperationRegion (XPRT, PCI_Config, 0x74, 0x10)\n
Field (XPRT, DWordAcc, NoLock, Preserve)\n
{\n
Offset (0x01),\n
PMEE, 1,\n
, 6,\n
PMES, 1\n
}\n
\n
OperationRegion (XH1C, PCI_Config, 0xD0, 0x10)\n
Field (XH1C, ByteAcc, NoLock, Preserve)\n
{\n
PAHC, 1,\n
PBHC, 1,\n
PCHC, 1,\n
PDHC, 1,\n
Offset (0x08),\n
PASS, 1,\n
PBSS, 1,\n
PCSS, 1,\n
PDSS, 1\n
}\n
\n
OperationRegion (XHC2, PCI_Config, 0x44, 0x04)\n
Field (XHC2, ByteAcc, NoLock, Preserve)\n
{\n
Offset (0x01),\n
MIAI, 2\n
}\n
\n
Method (_INI, 0, NotSerialized)\n
{\n
Store (Zero, MIAI)\n
}\n
\n
Device (RHUB)\n
{\n
Name (_ADR, Zero)\n
Name (UPCP, Package() { 0xFF, 0x03, Zero, Zero })\n
Device (PRT1)\n
{\n
Name (_ADR, One)\n
Alias (UPCP, _UPC)\n
Name (_PLD, Package()\n
{\n
Buffer()\n
{\n
0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,\n
0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00\n
}\n
})\n
Name (MUXS, "EHCA")\n
}\n
Device (PRT2)\n
{\n
Name (_ADR, 0x02)\n
Alias (UPCP, _UPC)\n
Name (_PLD, Package()\n
{\n
Buffer()\n
{\n
0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,\n
0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00\n
}\n
})\n
Name (MUXS, "EHCB")\n
}\n
Device (PRT3)\n
{\n
Name (_ADR, 0x03)\n
Alias (UPCP, _UPC)\n
Name (_PLD, Package()\n
{\n
Buffer()\n
{\n
0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,\n
0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00\n
}\n
})\n
Name (MUXS, "EHCC")\n
}\n
Device (PRT4)\n
{\n
Name (_ADR, 0x04)\n
Alias (UPCP, _UPC)\n
Name (_PLD, Package()\n
{\n
Buffer()\n
{\n
0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,\n
0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00\n
}\n
})\n
Name (MUXS, "EHCD")\n
}\n
}\n
\n
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"AAPL,clock-id", Buffer() { 0x02 },\n
"built-in", Buffer() { 0x00 },\n
"subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n
"subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n
"AAPL,current-available", 2100,\n
"AAPL,current-extra", 2200,\n
"AAPL,current-extra-in-sleep", 1600,\n
"AAPL,device-internal", 0x02,\n
"AAPL,max-port-current-in-sleep", 2100,\n
})\n
}\n
\n
Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) }\n
// alternate for above\n
//Method (_PRW, 0, NotSerialized) { Return (Package() { 0x0D, 0x04 }) }\n
Method (XHCA, 0, NotSerialized) { Store (One, PAHC) }\n
Method (XHCB, 0, NotSerialized) { Store (One, PBHC) }\n
Method (XHCC, 0, NotSerialized) { Store (One, PCHC) }\n
Method (XHCD, 0, NotSerialized) { Store (One, PDHC) }\n
Method (EHCA, 0, NotSerialized) { Store (Zero, PAHC) }\n
Method (EHCB, 0, NotSerialized) { Store (Zero, PBHC) }\n
Method (EHCC, 0, NotSerialized) { Store (Zero, PCHC) }\n
Method (EHCD, 0, NotSerialized) { Store (Zero, PDHC) }\n
end;
I need to sleep now...have to get up early in the morning...
I report back tomorrow...
Thank you for you help Jake Lo!!!