Jump to content

shilohhh

Members
  • Content Count

    128
  • Joined

  • Last visited

Posts posted by shilohhh


  1. T

    Here is the EFI, It think that is back in the exact state it was when it first worked: https://dl.dropboxusercontent.com/u/6316213/Resources/Previously%20working%20EFI%20for%20X99-E%20WS%20%26%20E5-2697%20V3.zip

     

    When it worked, I just assumed something had changed in 10.11.4 and I was out of the loop (haven't read this thread in awhile). I only came here after it stopped working =/

    Thanks, I'll DL and have a look later tonight.

  2. I took the change to mean something around caches, but I was also screwing with Clover on each boot, plus moving the PCI-e devices around.

     

    When it was working, I was using UEFI clover and my EFI folder, but when it stopped I was trying to do a non-UEFI install as I have enough PCI-e devices in that build that it would hit a memmap issue 50% of the time.

     

     

    I will test more today to see if I can get either a real answer, or at least a reproducible method. However, whether this was caches, something in the EFI, or some other variable I have overlooked, this still bodes rather well. ;)

    I've had a look at the X99 ACPI tables and they are huge! I don't own any X99 hardware so I can't really do any testing. It would be awesome if you could post a .ioreg file from ioregistryexplorer v2.1 and a Darwin dump of your system while running el cap (functional).

  3. I don't have a horse in this race but I personally don't want to see this guy on eBay reap any profit. It goes against what built this community. If he didn't have clover, he'd be nowhere! And now he doesn't want to freely share the small piece of the puzzle that he has??? If it wasn't for countless people freely sharing the benefits of their hard work, we wouldn't have the tools we have today. I doubt there is any 1 person in the community that could create everything that we have in clover or chameleon on their own. Everything that we rely on to run OS X on our non-Apple hardware was built by colaborative efforts and the knowledge of many. It has been shared free of charge in the spirtit that makes this community worth loving and participating in. If people start making a profit installing OS X on non-Apple hardware, it makes our community a target for Apple. This eBay seller is also in clear violation of Clover's licence agreement by selling a product based on it's functionality. Should members of this community reward such a person?

     

    It's really none of my business what y'all do but that's my two cents.


  4. Never did that before (since i believe "IGPU" label [as primary / mirror] just for some book / mini / imac family, not macpro), including your style to rename multiple devices with non unique label seem to "hacky" for me, take a good reference here >>> Sorry, no other monitor ready for test right now

    I know that Mac Pros have no IGPUs but you might still be able to use the device if OX S isn't doing something strange to it based on the sys def. But probably not as the cards I had named PXS1 and 2 got disabled. I was just curios if your IGPU worked or would work if you kept the name IGPU.

     

    Technically 2 GPUs named GFX1 are still unique because of their device path. IE: GPU #1 _SB.PCI0.NPE3.GFX1 and GPU #2 _SB.PCI0.NPE7.GFX1. However, OS X should do whatever it's supposed to do to GFX1 to both cards because of their name at the end. I have a Titan X and a GTX 980 both named GFX1 that both work as they should. Hot plugging monitors and swapping ports, multiple displays on either or both cards and you can choose which monitor has the doc and menu bar in system prefs. I don't think you should name a IGPU as GFX because they share system memory and discrete don't.

     

    I am also curious why you prefer MacPro6,1 instead of iMac13,2 which has more similar hardware to your system (IvyBridge CPU, integrated + discrete graphics)?


  5. @shilohhh is right, GFX2 as primary (boot-display), not sure about GFX1 as power only. For me, changing its parent to GFXA/B has no effect. From my experience, if i do reverse those labels: igpu ("GFX0") to "GFX1" & discrete ("PEGP") to "GFX2" everytime i got that black screen (maybe @J Lamp can proof it later). I need to enable Asus MVP from bios to activate both, and maybe because of this kind of technology my board can survive for this method (discrete actually routed from iGPU?), and ppl with no iGPU dont? About "treating" GPU, do you think is really bad idea to use NVDIA with macpro6 sysdef?

     

    The MacPro6,1 kexts must be doing something tricky under the hood. Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. Maybe something to do with "Device (GCON)" in the OEM DSDT. I'm no coder so I don't know. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary.

     

    If you name discrete GPU to GFX1 and leave the IGPU name alone, does the integrated graphics still work? I don't have a system with integrated graphics to test.


  6.  

    5. When you switch to MacPro6,1 definition you may not be able to boot your Hackintosh, because the monitor turns off after the boot process. How to solve this problem? Easy, boot with this boot-args: nv_disable=1, then go to  System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/ copy the info.plist to Desktop and change:

    <key>ConfigMap</key>
    <dict>
        <key>Mac-F60DEB81FF30ACF6</key>
        <string>Config1</string>
    </dict>
    
    To
    
    <key>ConfigMap</key>
    <dict>
        <key>Mac-F60DEB81FF30ACF6</key>
        <string>none</string>
    </dict> 

    Then replace the original info.plist with the modified version.

     

    Instead of patching the plist you can name your GPU to GFX1 in the ACPI tables. NOTE: if you have multiple GPUs you must name them all GFX1. Any other name and they will lose signal when OS X finishes loading. SSDT EXMPLE:

    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20100331
     *
     * Disassembly of iASLr2CDEx.aml, Tue Jan 12 23:12:42 2016
     *
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x00000177 (375)
     *     Revision         0x01
     *     Checksum         0xDA
     *     OEM ID           "shiloh"
     *     OEM Table ID     "GPU-1"
     *     OEM Revision     0x00001000 (4096)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20100331 (537920305)
     */
    DefinitionBlock ("iASLr2CDEx.aml", "SSDT", 1, "shiloh", "GPU-1", 0x00001000)
    {
        Device (_SB.PCI0.NPE3.GFX1)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x10)
                {
                    "AAPL,slot-name", 
                    Buffer (0x0B)
                    {
                        "PCIE_X16_1"
                    }, 
    
                    "@0,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "@1,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "@2,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "@3,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "@4,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "@5,connector-type", 
                    Buffer (0x04)
                    {
                        0x00, 0x08, 0x00, 0x00
                    }, 
    
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }
    
        Device (_SB.PCI0.NPE3.HDAU)
        {
            Name (_ADR, One)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }
        }
    }
    
    

  7. I tried the bin patch and no matter what I do, 1 of my 2 nvidia maxwell card has no signal after booting. It's not predictable which one will work. When I change config1 to none in the plist everything works flawlessly. I will keep using my AGDPfix app to autopatch the plist after updateshttp://www.insanelymac.com/forum/files/file/424-agdpfix/

     

     

     

     

    EDIT: Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary.

     

    The attached SSDTs are for Asus Rampage IV Black Edition and Extreme motherboards (maybe other X79 boards too but you'll need to verify your device paths). You could also just use them for examples.

    Nvidia Maxwell (5port) HDMI GPU SSDT.zip


  8. OK, now for the more interesting stuff. I tried cecekpawons solution now, and what really confuses me it that with my test install I do get the infamous black screen again, but with the recovery partition on the same drive it actually works! Why is that? Have I overlooked something?

     

    Here is what the relevant part of my SSDT looks like:

    Device (_SB.PCI0.NPE3.GFX1)
    {
        Name (_ADR, Zero)
        Method (_DSM, 4, NotSerialized)
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                    0x03
                })
            }
    
            Return (Package (0x12)
            {
                "AAPL,slot-name", 
                Buffer (0x0B)
                {
                    "PCI Slot 1"
                }, 
    
                "@0,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "@1,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "@2,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "@2,AAPL,boot-display", 
                Buffer (One)
                {
                    0x00
                }, 
    
                "@3,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "@4,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "@5,connector-type", 
                Buffer (0x04)
                {
                    0x00, 0x08, 0x00, 0x00
                }, 
    
                "hda-gfx", 
                Buffer (0x0A)
                {
                    "onboard-1"
                }
            })
        }
    }
    
    Device (_SB.PCI0.NPE3.HDAU)
    {
        Name (_ADR, One)
        Method (_DSM, 4, NotSerialized)
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                    0x03
                })
            }
    
            Return (Package (0x02)
            {
                "hda-gfx", 
                Buffer (0x0A)
                {
                    "onboard-1"
                }
            })
        }
    }
    

    I also checked my DSDT and there were no traces of the former device (PXS1), so I do not think I am missing something from that side. But why does it only work with the recovery partition (where Pikes patch did not work)? Do I actually have to "nullify" the original device name as well? Any help greatly appreciated!

     

    Anyone better educated than me, please feel free to correct me. Because I use Nvidia, I named my GPUs PXS1/2 instead of GFX1/2 in my SSDTs to avoid OS X calling to the very unique and specific Real MacPro6,1 AMD GPUs (which don't exist on our X79 machines and neither does a integrated GPU like plain IvyBridge). There is no ACPI code for GPUs (that I can find) in Asus OEM X79 ACPI tables because there is no integrated GPU. In the real Mac Pro, GFX1 is unloaded and used for processing power only. Displays are plugged into GFX2. If you really want to match ACPI names you'd change NPE3 to GFXB and name the Nvidia GPU GFX2. Same as the real mac pro ACPI tables. However, I don't think you want OS X treating your Nvidia GPU like the AMD card from the Mac Pro.

     

    For installing and recovery boot I've always just used nv_disable=1 or you could probably just change MacPro6,1 to MacPro5,1 in the smbios section of the clover GUI for that one boot operation.

     

    EDIT: Even though the plist declares "GFX1" "unload", it seems that GFX1 remains the functional device and GFX2 is dead after OS X loads on a hackintosh. The usual school of thought says, give all individual devices unique names IE: GPU # 1 = GFX1 GPU # 2 = GFX2 etc etc, but naming multiple GPUs GFX1 works! If you have multiple discrete GPUs, use GFX1 in ACPI for all GPUs and they will all work. No kext binary patch or plist edit necessary.


  9. SUCCESS!

     

    After fixHPET and fixIPIC activation on clover usb 2nd hub (1d2d) activated and working.

     

    Thanks dudes i really appreciate your help...I'll try to create a ssdt like fix and if works then i will upload it here. 

     

    shilohhh and RobLans can you take a look on yours clover configuration about the fixHPET and fixIPIC? 

    I don't use that Clover function because I fix it in DSDT as mentioned above. Clover does something very similar but does it on the fly automatically at boot time. It does it by reading your system's DSDT and passing a modified version to OS X. You don't want to use both methods.


  10. News....maybe found the problem, USB controller 1d2d not working on 10.11, 10.10, 10.9. with new or old clover with patched or flat DSDT with or without SSDT, i tried many combinations on Mavericks, Yosemite and El Capitans.

    Something going wrong with IRQ assign and osx report error on boot

     

    Error: USBF: 0.753 AppleUSBEHCI:: unable to get filterInterruptEventSource

    Error: USBF: 0.753 AppleUSBEHCI::UIMInitialize - Error occurred (0xe00002be)

     

    Someone on older topic suggest to  enable FIX_HPET and FIX_IPIC (http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page-179)

    Tonight will test it and will report back for anyone have the same problems.

    You can paste the following code into MaciASL's patch window and apply to strip reserved IRQs from the PS2 keyboard and mouse (If you are not using PS2 in OS X). Then it gives and takes the other IRQs. I had to mention PS2 in case you are using those devices in OS X with special kexts because it will make them quit functioning.

    #—————————————Fix HPET’s IRQs
    into device label PS2K code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched;
    into device label PS2M code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched;
    into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched
    begin
    Name (%1, ResourceTemplate ()\n
    	{\n
    		IRQNoFlags ()\n
    			{0}\n
    		IRQNoFlags ()\n
    			{8}\n
    		IRQNoFlags ()\n
    			{11}\n
    		IRQNoFlags ()\n
    			{12}\n
    %2
    })
    end;
    
    I actually remove the PS2 devices all together but I'm not sure these patches will work right with your R4F without seeing your IOReg and origin ACPI files.

    # Remove PS2 Devices
    into device label PS2K remove_entry;
    into device label PS2M remove_entry;
    into method label SIOH remove_entry;
    into method label _L1D remove_entry;
    into method label PS2K._PRW remove_entry;
    into method label PS2M._PRW remove_entry;
    
    

     

     

     

    Silohhh, just for the record, your ssdt code working fine here, followed you DSDT guide, great!!!

    Thanks! I take a more modular approach now. I like to fix or add all the motherboard's devices VIA 1 SSDT. I use a separate SSDT for each PCI slot and 1 for the CPU. As of 10.11, I add 1 more for the USB2 fix in 10.11 because it (Not Stinga11's method) will cause bugs in 10.9-10.10. If you wan't to use 10.9-10.10, you just remove the SSDT for USB2. I use the DSDT only to strip out code that is un-needed by OS X and fix IRQ Assignment. This is what I use to strip and fix the DSDT on the R4E and R4BE:

    
    # Asus R4E BIOSv4901 & R4BE BIOSv801 DSDT Stripper by shilohh 11/05/2015
    #
    # This patch list is tested only for the Asus Rampage IV Black Edition BIOS v 0801 and Rampage IV Extreme BIOS v 4901.
    #
    # Credit to RevoGirl, PikeRAlph, Master Chief, dgsga.
    #
    
    #——————————————————————————————————————————————————————————————-Fix USB PLD
    into_all all code_regex .*\_PLD,\sBuffer replaceall_matched begin Name (_PLD, Package end;
    
    #—————————————Fix Single RTC Single RAM Bank Used Warning
    into device name_hid PNP0B00 code_regex 0x00, replaceall_matched begin 0x01, end;
    into device name_hid PNP0B00 code_regex 0x02, replaceall_matched begin 0x08, end;
    
    #—————————————Fix HPET’s IRQs
    into device label PS2K code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched;
    into device label PS2M code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} removeall_matched;
    into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;
    into device name_hid PNP0103 code_regex_not IRQNoFlags code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched
    begin
    Name (%1, ResourceTemplate ()\n
    	{\n
    		IRQNoFlags ()\n
    			{0}\n
    		IRQNoFlags ()\n
    			{8}\n
    		IRQNoFlags ()\n
    			{11}\n
    		IRQNoFlags ()\n
    			{12}\n
    %2
    })
    end;
    
    #——————————————————————————————————————————————————————————————————————————————v Stripper v
    
    #——————————————————————————————————————————————————————————————-OS Check = Use Win 2012
    into method label OSFL remove_entry;
    into definitionblock code_regex Name\s\(OSVR,\sOnes\) replace_matched begin
    Name (OSVR, 5)\n
    Method (OSFL, 0, NotSerialized)\n
    {\n
    	Return (OSVR)\n
    }\n
    end;
    
    #—————————————Remove SIO1 Device
    into device label SIO1 remove_entry;
    into method label SIOS remove_entry;
    into method label SIOW remove_entry;
    into_all all code_regex \\_SB.PCI0.SBRG.SIOS\s\(Arg0\) remove_matched;
    into_all all code_regex \\_SB.PCI0.SBRG.SIOW\s\(Arg0\) remove_matched;
    into definitionblock code_regex Name\s\(IOST,.* removeall_matched;
    into method label PTS code_regex \\_SB\.PCI0\.SBRG\.SIOS\s\(Arg0\) remove_matched;
    
    #—————————————Remove Device AMW0
    into device label AMW0 remove_entry;
    into_all all code_regex  If\s\(LEqual\s\(Local0,\s.*\)\)\n.*\{\n.*\\AMW0\.AMWN.*\n.*\}\n.*\n.*If\s\(LEqual\s\(Local0,\s.*\)\)\n.*\{\n.*\\AMW0\.AMWN.*\n.*\} removeall_matched;
    
    
    #—————————————Remove Devices
    # Remove TPM
    into device label _SB.TPM remove_entry;
    into scope label _SB.TPM remove_entry;
    
    # Remove PS2 Devices
    into device label PS2K remove_entry;
    into device label PS2M remove_entry;
    into method label SIOH remove_entry;
    into method label _L1D remove_entry;
    into method label PS2K._PRW remove_entry;
    into method label PS2M._PRW remove_entry;
    
    # Remove WMI1 Device
    into device label WMI1 remove_entry;
    
    # Remove Speaker Device
    into device label SPKR remove_entry;
    #
    into device label ^UNC0 remove_entry;
    into device label RMSC remove_entry;
    into device label CWDT remove_entry;
    # Remove Methods
    into method label UXDV remove_entry;
    into method label RRIO remove_entry;
    into method label RRIO remove_entry;
    
    #—————————————Remove Unused NPE
    into device label NPE2 remove_entry;
    into device label NPE4 remove_entry;
    into device label NPE5 remove_entry;
    into device label NPE6 remove_entry;
    into device label NPE8 remove_entry;
    into device label NPEA remove_entry;
    
    # Remove Unused NPE From L09
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE2,\s0x02\) remove_matched;
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE4,\s0x02\) remove_matched;
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE5,\s0x02\) remove_matched;
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE6,\s0x02\) remove_matched;
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPE8,\s0x02\) remove_matched;
    into method label _L09 code_regex Notify\s\(\\_SB\.PCI0\.NPEA,\s0x02\) remove_matched;
    
    #—————————————Strip SAT0 & Remove SAT1
    into device label SAT1 remove_entry;
    into device label SAT0 replace_content
    begin
    	Name (_ADR, 0x001F0002)\n
    end;
    
    # Remove UnUsed Names
    into_all all code_regex Name\s\(SP1O.* remove_matched;
    into_all all code_regex Name\s\(ENT1.* remove_matched;
    into_all all code_regex Name\s\(EXT1.* remove_matched;
    into_all all code_regex Name\s\(IO1B.* remove_matched;
    into_all all code_regex Name\s\(IO1L.* remove_matched;
    into_all all code_regex Name\s\(IO2L.* remove_matched;
    into_all all code_regex Name\s\(IO2B.* remove_matched;
    into_all all code_regex Name\s\(IO3L.* remove_matched;
    into_all all code_regex Name\s\(IO3B.* remove_matched;
    into_all all code_regex Name\s\(SPIO.* remove_matched;
    into_all all code_regex Name\s\(IOHW.* remove_matched;
    into_all all code_regex Name\s\(IOSB.* remove_matched;
    into_all all code_regex Name\s\(IOSL.* remove_matched;
    into_all all code_regex Name\s\(IOHB.* remove_matched;
    into_all all code_regex Name\s\(IOHL.* remove_matched;
    into_all all code_regex Name\s\(PMLN.* remove_matched;
    into_all all code_regex Name\s\(HPTB.* remove_matched;
    into_all all code_regex Name\s\(PEBS.* remove_matched;
    into_all all code_regex Name\s\(ACPH.* remove_matched;
    into_all all code_regex Name\s\(HIDK.* remove_matched;
    into_all all code_regex Name\s\(HIDM.* remove_matched;
    into_all all code_regex Name\s\(CIDK.* remove_matched;
    into_all all code_regex Name\s\(CIDM.* remove_matched;
    into_all all code_regex Name\s\(ITKE.* remove_matched;
    into_all all code_regex Name\s\(MBEC.* remove_matched;
    into_all all code_regex Name\s\(AMWV.* remove_matched;
    into_all all code_regex Name\s\(SMIA.* remove_matched;
    into_all all code_regex Name\s\(SMIB.* remove_matched;
    into_all all code_regex Name\s\(OFST.* remove_matched;
    into_all all code_regex Name\s\(TRST.* remove_matched;
    into_all all code_regex Name\s\(TPMF.* remove_matched;
    into_all all code_regex Name\s\(TCMF.* remove_matched;
    into_all all code_regex Name\s\(TMF1.* remove_matched;
    into_all all code_regex Name\s\(TMF2.* remove_matched;
    into_all all code_regex Name\s\(TMF3.* remove_matched;
    into_all all code_regex Name\s\(SRSI.* remove_matched;
    into_all all code_regex Name\s\(CSMI.* remove_matched;
    
    ## Simplify _PIC method but keep PICM
    into method label _PIC code_regex If.*\n.*\{\n.*\n.*\}\n.*\n.*\{\n.*\n.*\} replace_matched begin
    		Store (0xAA, DBG8)
    end;
    
    # Remove PRWP
    into_all all code_regex Name\s\(PRWP,\sPackage\s\(0x02\)\n.*\{\n.*\n.*\n.*\}\) remove_matched;
    # Remove GPRW
    into method label GPRW remove_entry;
    into_all all code_regex (.*)\(GPRW\s\((.*)\)\) replaceall_matched begin %1 (Package (0x02)\n{\n %2 \n}) end;
    
    # Remove SS1-4
    into_all all code_regex Name\s\(SS[1-4].* removeall_matched;
    into_all all code_regex If\s\(SS[1-5]\)\n.*(\n.*Name.*\n.*\n.*\n.*\n.*\n.*\n.*\}\))\n.* replaceall_matched begin
    %1
    end;
    
    #—————————————Remove Name PR00
    into_all all code_regex Name\s\(PR00,\sPackage\s\(0x26\)\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\}\) removeall_matched;
    #—————————————Remove Name PRxx
    into_all all code_regex Name\s\(PR[0-9][0-9],\sPackage\s\(0x04\)\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\}\) removeall_matched;
    #—————————————Method _PRT return PICM
    into method label _PRT parent_label PCI0 code_regex If\s\(PICM\)\n.*\{\n.*(Return\s\(AR00\))\n.*\}\n.*\n.*Return\s\(PR00\) replaceall_matched begin %1 end;
    #—————————————Remove LNKx
    into device label LNKA remove_entry;
    into device label LNKB remove_entry;
    into device label LNKC remove_entry;
    into device label LNKD remove_entry;
    into device label LNKE remove_entry;
    into device label LNKF remove_entry;
    into device label LNKG remove_entry;
    into device label LNKH remove_entry;
    #—————————————Remove PRSx
    into_all all code_regex Name\s\(PRS[A-Z],.*\n.*\{\n.*IRQ.*\n.*\{.*\n.*\}\) removeall_matched;
    into_all all code_regex Alias\s\(PRS[A-Z],.* removeall_matched;
    
    # Return ARxx
    into_all all code_regex If\s\(PICM\)\n.*\{\n.*(Return\s\(AR[0-9][0-9]\))\n.*\}\n.*\n.*Return\s\(PR[0-9][0-9]\) replaceall_matched begin %1 end;
    
    #—————————————6 Core - Remove Extra CPUs
    
    into processor label C00C remove_entry;
    into processor label C00D remove_entry;
    into processor label C00E remove_entry;
    into processor label C00F remove_entry;
    into processor label C010 remove_entry;
    into processor label C011 remove_entry;
    into processor label C012 remove_entry;
    into processor label C013 remove_entry;
    into processor label C014 remove_entry;
    into processor label C015 remove_entry;
    into processor label C016 remove_entry;
    into processor label C017 remove_entry;
    into processor label C018 remove_entry;
    into processor label C019 remove_entry;
    into processor label C01A remove_entry;
    into processor label C01B remove_entry;
    into processor label C01C remove_entry;
    into processor label C01D remove_entry;
    into processor label C100 remove_entry;
    into processor label C101 remove_entry;
    into processor label C102 remove_entry;
    into processor label C103 remove_entry;
    into processor label C104 remove_entry;
    into processor label C105 remove_entry;
    into processor label C106 remove_entry;
    into processor label C107 remove_entry;
    into processor label C108 remove_entry;
    into processor label C109 remove_entry;
    into processor label C10A remove_entry;
    into processor label C10B remove_entry;
    into processor label C10C remove_entry;
    into processor label C10D remove_entry;
    into processor label C10E remove_entry;
    into processor label C10F remove_entry;
    into processor label C110 remove_entry;
    into processor label C111 remove_entry;
    into processor label C112 remove_entry;
    into processor label C113 remove_entry;
    into processor label C114 remove_entry;
    into processor label C115 remove_entry;
    into processor label C116 remove_entry;
    into processor label C117 remove_entry;
    into processor label C118 remove_entry;
    into processor label C119 remove_entry;
    into processor label C11A remove_entry;
    into processor label C11B remove_entry;
    into processor label C11C remove_entry;
    into processor label C11D remove_entry;
    into processor label C200 remove_entry;
    into processor label C201 remove_entry;
    into processor label C202 remove_entry;
    into processor label C203 remove_entry;
    into processor label C204 remove_entry;
    into processor label C205 remove_entry;
    into processor label C206 remove_entry;
    into processor label C207 remove_entry;
    into processor label C208 remove_entry;
    into processor label C209 remove_entry;
    into processor label C20A remove_entry;
    into processor label C20B remove_entry;
    into processor label C20C remove_entry;
    into processor label C20D remove_entry;
    into processor label C20E remove_entry;
    into processor label C20F remove_entry;
    into processor label C210 remove_entry;
    into processor label C211 remove_entry;
    into processor label C212 remove_entry;
    into processor label C213 remove_entry;
    into processor label C214 remove_entry;
    into processor label C215 remove_entry;
    into processor label C216 remove_entry;
    into processor label C217 remove_entry;
    into processor label C218 remove_entry;
    into processor label C219 remove_entry;
    into processor label C21A remove_entry;
    into processor label C21B remove_entry;
    into processor label C21C remove_entry;
    into processor label C21D remove_entry;
    into processor label C300 remove_entry;
    into processor label C301 remove_entry;
    into processor label C302 remove_entry;
    into processor label C303 remove_entry;
    into processor label C304 remove_entry;
    into processor label C305 remove_entry;
    into processor label C306 remove_entry;
    into processor label C307 remove_entry;
    into processor label C308 remove_entry;
    into processor label C309 remove_entry;
    into processor label C30A remove_entry;
    into processor label C30B remove_entry;
    into processor label C30C remove_entry;
    into processor label C30D remove_entry;
    into processor label C30E remove_entry;
    into processor label C30F remove_entry;
    into processor label C310 remove_entry;
    into processor label C311 remove_entry;
    into processor label C312 remove_entry;
    into processor label C313 remove_entry;
    into processor label C314 remove_entry;
    into processor label C315 remove_entry;
    into processor label C316 remove_entry;
    into processor label C317 remove_entry;
    into processor label C318 remove_entry;
    into processor label C319 remove_entry;
    into processor label C31A remove_entry;
    into processor label C31B remove_entry;
    into processor label C31C remove_entry;
    into processor label C31D remove_entry;
    
    
    
    This is (Very similar to Andrew's) the Onboard Device SSDT I give to people for the R4E and 6 Core Processor.

    
    
    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20100331
     *
     * Disassembly of iASL6Jlm4H.aml, Wed Nov 11 15:16:10 2015
     *
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x0000067B (1659)
     *     Revision         0x01
     *     Checksum         0xA1
     *     OEM ID           "APPLE"
     *     OEM Table ID     "Device"
     *     OEM Revision     0x00001000 (4096)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20100331 (537920305)
     */
    DefinitionBlock ("iASL6Jlm4H.aml", "SSDT", 1, "APPLE", "Device", 0x00001000)
    {
        External (AR27, IntObj)
        External (\_SB_.C00B)
        External (\_SB_.C00A)
        External (\_SB_.C009)
        External (\_SB_.C008)
        External (\_SB_.C007)
        External (\_SB_.C006)
        External (\_SB_.C005)
        External (\_SB_.C004)
        External (\_SB_.C003)
        External (\_SB_.C002)
        External (\_SB_.C001)
        External (\_SB_.C000)
        External (\_SB_.SLPB)
        External (_SB_.PCI0.GBE_, DeviceObj)
        External (_SB_.PCI0.SMB_, DeviceObj)
        External (\_SB_.PCI0.NPE9)
        External (\_SB_.PCI0.NPE7)
        External (\_SB_.PCI0.NPE1)
        External (\_SB_.PCI0.NPE3)
        External (_SB_.PCI0.SBRG.RTC0, DeviceObj)
    
        Scope (_SB.PCI0.SBRG.RTC0)
        {
            Name (_STA, Zero)
        }
    
        Device (_SB.PCI0.SBRG.RTC)
        {
            Name (_HID, EisaId ("PNP0B00"))
            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16,
                    0x0070,             // Range Minimum
                    0x0070,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
            })
        }
    
        Scope (_SB.PCI0.SMB)
        {
            Device (BUS0)
            {
                Name (_CID, "smbus")
                Name (_ADR, Zero)
            }
    
            Device (BUS1)
            {
                Name (_CID, "smbus")
                Name (_ADR, One)
            }
        }
    
        Device (_SB.PCI0.XRES)
        {
            Name (_HID, EisaId ("PNP0C02"))
            Name (CRS, ResourceTemplate ()
            {
                Memory32Fixed (ReadOnly,
                    0xFED1B000,         // Address Base
                    0x00001000,         // Address Length
                    _Y00)
                Memory32Fixed (ReadOnly,
                    0xDFFF8000,         // Address Base
                    0x00001000,         // Address Length
                    _Y01)
            })
            OperationRegion (MCFG, SystemMemory, 0xE0000000, 0x10000000)
            Field (MCFG, AnyAcc, Lock, Preserve)
            {
                        Offset (0x50), 
                RCBB,   32, 
                        Offset (0x28180), 
                VTDB,   32
            }
    
            Method (_CRS, 0, Serialized)
            {
                CreateDWordField (CRS, \_SB.PCI0.XRES._Y00._BAS, RCB0)
                And (0xFFFFF000, RCBB, RCB0)
                CreateDWordField (CRS, \_SB.PCI0.XRES._Y01._BAS, VTD0)
                And (0xFFFFE000, VTDB, VTD0)
                Return (CRS)
            }
        }
    
        Device (_SB.PCI0.DMI2)
        {
            Name (_ADR, Zero)
        }
    
        Device (_SB.PCI0.IOC0)
        {
            Name (_ADR, 0x00050000)
            Name (_PRW, Package (0x02)
            {
                0x09, 
                0x04
            })
            Method (_PRT, 0, NotSerialized)
            {
                Return (AR27)
            }
        }
    
        Device (_SB.PCI0.IOC2)
        {
            Name (_ADR, 0x00050002)
            Name (_PRW, Package (0x02)
            {
                0x09, 
                0x04
            })
            Method (_PRT, 0, NotSerialized)
            {
                Return (AR27)
            }
        }
    
        Device (_SB.PCI0.IOC4)
        {
            Name (_ADR, 0x00050004)
            Name (_PRW, Package (0x02)
            {
                0x09, 
                0x04
            })
            Method (_PRT, 0, NotSerialized)
            {
                Return (AR27)
            }
        }
    
        Device (_SB.PCI0.HECI)
        {
            Name (_ADR, 0x00160000)
        }
    
        Device (_SB.PCI0.HDEF)
        {
            Name (_ADR, 0x001B0000)
            Name (_PRW, Package (0x02)
            {
                0x09, 
                0x04
            })
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x04)
                {
                    "layout-id", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 
    
                    "PinConfigurations", 
                    Buffer (Zero) {}
                })
            }
        }
    
        Scope (_SB.PCI0.GBE)
        {
            Method (_RMV, 0, NotSerialized)
            {
                Return (Zero)
            }
    
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x04)
                {
                    "model", 
                    "Intel 82579V", 
                    "name", 
                    "Gigabit Network Connection"
                })
            }
        }
    
        Device (_SB.PCIO.SBRG.FWHD)
        {
            Name (_HID, EisaId ("INT0800"))
            Name (_CRS, ResourceTemplate ()
            {
                Memory32Fixed (ReadOnly,
                    0xFF000000,         // Address Base
                    0x01000000,         // Address Length
                    )
            })
        }
    
        Device (_SB.PCIO.SBRG.EC)
        {
            Name (_HID, EisaId ("PNP0C09"))
            Name (_UID, Zero)
            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16,
                    0x0062,             // Range Minimum
                    0x0062,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
                IO (Decode16,
                    0x0066,             // Range Minimum
                    0x0066,             // Range Maximum
                    0x00,               // Alignment
                    0x01,               // Length
                    )
            })
            Name (_GPE, 0x17)
            Name (ECOK, Zero)
            OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
            Field (ECOR, ByteAcc, Lock, Preserve)
            {
                ECVS,   8, 
                        Offset (0x02), 
                        Offset (0x03), 
                G3HT,   1, 
                        Offset (0x04), 
                WBCB,   1, 
                DSLP,   1, 
                        Offset (0x05), 
                        Offset (0x06), 
                WKRS,   8, 
                        Offset (0x10), 
                ECSS,   8, 
                PLIM,   8, 
                ALB0,   8, 
                ALB1,   8, 
                WTLB,   8, 
                WTMB,   8, 
                        Offset (0x20), 
                SPTR,   8, 
                SSTS,   8, 
                SADR,   8, 
                SCMD,   8, 
                SBFR,   256, 
                SCNT,   8, 
                SAAD,   8, 
                SAD0,   8, 
                SAD1,   8, 
                SMUX,   8, 
                        Offset (0x60), 
                ELSW,   1, 
                EACP,   1, 
                ECDI,   1, 
                ENMI,   1, 
                        Offset (0x61), 
                EMHP,   1, 
                        Offset (0x62), 
                        Offset (0x63), 
                        Offset (0x64), 
                SWLO,   1, 
                SWLC,   1, 
                SWAI,   1, 
                SWAR,   1, 
                SWCI,   1, 
                SWCE,   1, 
                SWMI,   1, 
                SWMR,   1, 
                SWPB,   1, 
                SWGP,   1, 
                SWPM,   1, 
                SWWT,   1, 
                SWLB,   1, 
                        Offset (0x66), 
                        Offset (0x67), 
                        Offset (0x68), 
                EWLO,   1, 
                EWLC,   1, 
                EWAI,   1, 
                EWAR,   1, 
                EWCI,   1, 
                EWCE,   1, 
                EWMI,   1, 
                EWMR,   1, 
                EWPB,   1, 
                EWGP,   1, 
                EWPM,   1, 
                ENWT,   1, 
                EWLB,   1, 
                        Offset (0x6A), 
                        Offset (0x6B), 
                        Offset (0x6C), 
                LWLO,   1, 
                LWLC,   1, 
                LWAI,   1, 
                LWAR,   1, 
                LWCI,   1, 
                LWCE,   1, 
                LWMI,   1, 
                LWMR,   1, 
                LWPB,   1, 
                LWGP,   1, 
                LWPM,   1, 
                LWWT,   1, 
                LWLB,   1, 
                        Offset (0x6E), 
                        Offset (0x6F), 
                        Offset (0x70)
            }
    
            Field (ECOR, ByteAcc, Lock, Preserve)
            {
                        Offset (0x03), 
                G3AD,   1, 
                BLOD,   1, 
                S4WE,   1, 
                        Offset (0x04), 
                        Offset (0x6C), 
                LWE0,   8, 
                LWE1,   8, 
                LWE2,   8, 
                LWE3,   8
            }
    
            Field (ECOR, ByteAcc, Lock, Preserve)
            {
                        Offset (0x24), 
                SBDW,   16, 
                        Offset (0x46), 
                SADW,   16
            }
    
            Method (WAKE, 0, NotSerialized)
            {
                If (ECOK)
                {
                    Return (WKRS)
                }
                Else
                {
                    Return (Zero)
                }
            }
    
            Method (_Q5A, 0, NotSerialized)
            {
                Notify (\_SB.SLPB, 0x80)
            }
    
            Method (_Q80, 0, NotSerialized)
            {
                Notify (\_SB.C000, 0x80)
                Notify (\_SB.C001, 0x80)
                Notify (\_SB.C002, 0x80)
                Notify (\_SB.C003, 0x80)
                Notify (\_SB.C004, 0x80)
                Notify (\_SB.C005, 0x80)
                Notify (\_SB.C006, 0x80)
                Notify (\_SB.C007, 0x80)
                Notify (\_SB.C008, 0x80)
                Notify (\_SB.C009, 0x80)
                Notify (\_SB.C00A, 0x80)
                Notify (\_SB.C00B, 0x80)
                Notify (\_SB.PCI0.NPE3, 0x81)
                Notify (\_SB.PCI0.NPE1, 0x81)
                Notify (\_SB.PCI0.NPE7, 0x81)
                Notify (\_SB.PCI0.NPE9, 0x81)
            }
    
            Method (_REG, 2, NotSerialized)
            {
                If (LEqual (Arg0, 0x03))
                {
                    Store (Arg1, ECOK)
                    If (LEqual (Arg1, One))
                    {
                        Store (Zero, ECSS)
                    }
                }
            }
        }
    }
    

  11. Guys thanks for your help, i tried every think without success.

    Last night restored a yosemite backup to a temporary partition for tests and guess what, usb second port not even working on yosemite (on windows working fine).

    OSX doesn't handle controller pci8086,1d2d even if named as ehc1. I tried to swap controllers names and osx handles only  pci8086.1d26 with any name (ehci1,ehc2)

    So my problem isnt the usb restrictions on el capitan.

    Something goes really wrong with my configuration.

    I will report back....

     

    One more thing I noticed in your SSDT that might cause a conflict in Yosemite. One of your USB3 devices is given the name "EHC1" and a DSM method.


  12. Guys thanks for your help, i tried every think without success.

    Last night restored a yosemite backup to a temporary partition for tests and guess what, usb second port not even working on yosemite (on windows working fine).

    OSX doesn't handle controller pci8086,1d2d even if named as ehc1. I tried to swap controllers names and osx handles only  pci8086.1d26 with any name (ehci1,ehc2)

    So my problem isnt the usb restrictions on el capitan.

    Something goes really wrong with my configuration.

    I will report back....

    1d2d loaded and working for me but I strip out the hub and all ports for 1d26 and 1d2d via ACPI as I've outlined in earlier posts. Current code I'm using to do this via SSDT is:

    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20100331
     *
     * Disassembly of iASLp2nhxJ.aml, Thu Nov  5 11:42:57 2015
     *
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x00000838 (2104)
     *     Revision         0x01
     *     Checksum         0x45
     *     OEM ID           "APPLE"
     *     OEM Table ID     "Fix_USB2"
     *     OEM Revision     0x00001000 (4096)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20100331 (537920305)
     */
    DefinitionBlock ("iASLp2nhxJ.aml", "SSDT", 1, "APPLE", "Fix_USB2", 0x00001000)
    {
        External (_SB_.PCI0.USBE, DeviceObj)
        External (_SB_.PCI0.EUSB, DeviceObj)
    
        Scope (_SB.PCI0.EUSB)
        {
            Name (_STA, Zero)
        }
    
        Scope (_SB.PCI0.USBE)
        {
            Name (_STA, Zero)
        }
    
        Device (_SB.PCI0.EH01)
        {
            Name (_ADR, 0x001D0000)
            Name (_S4D, 0x02)
            Name (_S3D, 0x02)
            Name (_S2D, 0x02)
            Name (_S1D, 0x02)
            Name (MBSD, One)
            Name (_PRW, Package (0x02)
            {
                0x0D, 
                0x04
            })
        }
    
        Device (_SB.PCI0.EH02)
        {
            Name (_ADR, 0x001A0000)
            Name (_S4D, 0x02)
            Name (_S3D, 0x02)
            Name (_S2D, 0x02)
            Name (_S1D, 0x02)
            Name (MBSD, One)
            Name (_PRW, Package (0x02)
            {
                0x0D, 
                0x04
            })
        }
    }
    
    NOTE: Paste this into MaciASL and compile as ACPI 4.0. Save as SSDT-0.aml, SSDT-1.aml or SSDT.aml depending on the name of your CPU SSDT if you use one. This is just the part to fix USB2 and requires that EUSB/USBE remain untouched in your DSDT or other SSDTs. My SSDT has fixes for everything else too (Revogirl/PikerAlpha/RampageDev Tiny SSDT method).

     

    This works perfectly in El Capitan as it bypasses the new port injectors in 10.11. No bugs at all. No extra kexts needed. It has bugs in Yosemite on wake from sleep though.

     

    If you want to use Stinga11 USB code withe his kexts, and without modifying your DSDT, you could use this SSDT:

    /*
     * Intel ACPI Component Architecture
     * AML Disassembler version 20100331
     *
     * Disassembly of iASLD08C0t.aml, Thu Nov  5 12:20:29 2015
     *
     *
     * Original Table Header:
     *     Signature        "SSDT"
     *     Length           0x000005E6 (1510)
     *     Revision         0x01
     *     Checksum         0x71
     *     OEM ID           "APPLE"
     *     OEM Table ID     "Stinga11"
     *     OEM Revision     0x00001000 (4096)
     *     Compiler ID      "INTL"
     *     Compiler Version 0x20100331 (537920305)
     */
    DefinitionBlock ("iASLD08C0t.aml", "SSDT", 1, "APPLE", "Stinga11", 0x00001000)
    {
        External (_SB_.PCI0.USBE, DeviceObj)
        External (_SB_.PCI0.EUSB, DeviceObj)
    
        Scope (_SB.PCI0.EUSB)
        {
            Name (_STA, Zero)
        }
    
        Scope (_SB.PCI0.USBE)
        {
            Name (_STA, Zero)
        }
    
        Device (_SB.PCI0.EHC1)
        {
            Name (_ADR, 0x001D0000)
            Name (_S4D, 0x02)
            Name (_S3D, 0x02)
            Name (_S2D, 0x02)
            Name (_S1D, 0x02)
            Name (MBSD, One)
            Device (RHUB)
            {
                Name (_ADR, Zero)
                Device (PRT1)
                {
                    Name (_ADR, One)
                    Name (_UPC, Package (0x04)
                    {
                        Zero, 
                        0xFF, 
                        Zero, 
                        Zero
                    })
                    Name (_PLD, Package (0x10)
                    {
                        0x81, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        0x30, 
                        0x1C, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    })
                    Device (PRT1)
                    {
                        Name (_ADR, One)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT2)
                    {
                        Name (_ADR, 0x02)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1D, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT3)
                    {
                        Name (_ADR, 0x03)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1D, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT4)
                    {
                        Name (_ADR, 0x04)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT5)
                    {
                        Name (_ADR, 0x05)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xB1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT6)
                    {
                        Name (_ADR, 0x06)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xB1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT7)
                    {
                        Name (_ADR, 0x07)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xB1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT8)
                    {
                        Name (_ADR, 0x08)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xB1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
                }
            }
    
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x0D)
                {
                    "AAPL,current-available", 
                    0x0834, 
                    "AAPL,current-extra", 
                    0x0898, 
                    "AAPL,current-extra-in-sleep", 
                    0x0640, 
                    "AAPL,device-internal", 
                    0x02, 
                    "AAPL,max-port-current-in-sleep", 
                    0x0834, 
                    "AAPL,clock-id", 
                    0x02, 
                    Buffer (One)
                    {
                        0x00
                    }
                })
            }
    
            Name (_PRW, Package (0x02)
            {
                0x0D, 
                0x04
            })
        }
    
        Device (_SB.PCI0.EHC2)
        {
            Name (_ADR, 0x001A0000)
            Name (_S4D, 0x02)
            Name (_S3D, 0x02)
            Name (_S2D, 0x02)
            Name (_S1D, 0x02)
            Name (MBSD, One)
            Device (RHUB)
            {
                Name (_ADR, Zero)
                Device (PRT1)
                {
                    Name (_ADR, One)
                    Name (_UPC, Package (0x04)
                    {
                        Zero, 
                        0xFF, 
                        Zero, 
                        Zero
                    })
                    Name (_PLD, Package (0x10)
                    {
                        0x81, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        0x30, 
                        0x1C, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero, 
                        Zero
                    })
                    Device (PRT1)
                    {
                        Name (_ADR, One)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT2)
                    {
                        Name (_ADR, 0x02)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1D, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT3)
                    {
                        Name (_ADR, 0x03)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1D, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT4)
                    {
                        Name (_ADR, 0x04)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT5)
                    {
                        Name (_ADR, 0x05)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xB1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
    
                    Device (PRT6)
                    {
                        Name (_ADR, 0x06)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0xFF, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0xE1, 
                            0x1E, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                        Method (_RMV, 0, NotSerialized)
                        {
                            Return (Zero)
                        }
                    }
                }
            }
    
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }
    
                Return (Package (0x0D)
                {
                    "AAPL,current-available", 
                    0x0834, 
                    "AAPL,current-extra", 
                    0x0898, 
                    "AAPL,current-extra-in-sleep", 
                    0x0640, 
                    "AAPL,device-internal", 
                    0x02, 
                    "AAPL,max-port-current-in-sleep", 
                    0x0834, 
                    "AAPL,clock-id", 
                    0x02, 
                    Buffer (One)
                    {
                        0x00
                    }
                })
            }
    
            Name (_PRW, Package (0x02)
            {
                0x0D, 
                0x04
            })
        }
    }
    
    But again, you can't use this with RampageDev's SSDT unless you remove the parts where he has modified the USB2 devices.

     

    Specifically, you would remove this part:

    
                Scope (EUSB)
                {
                    Name (_STA, Zero)
                }
    
                Scope (USBE)
                {
                    Name (_STA, Zero)
                }
    
                Device (XHC1)
                {
                    Name (_ADR, 0x001D0000)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0F)
                            {
                                "AAPL,current-available", 
                                0x0834, 
                                "AAPL,current-extra", 
                                0x0A8C, 
                                "AAPL,current-extra-in-sleep", 
                                0x0A8C, 
                                "AAPL,max-port-current-in-sleep", 
                                0x0834, 
                                "AAPL,device-internal", 
                                Zero, 
                                "AAPL,root-hub-depth", 
                                0x0A, 
                                "AAPL,xhci-clock-id", 
                                One, 
                                Buffer (One)
                                {
                                    0x00
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
    
                    Device (RHUB)
                    {
                        Name (_ADR, Zero)
                        Device (HS01)
                        {
                            Name (_ADR, One)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS02)
                        {
                            Name (_ADR, 0x02)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS03)
                        {
                            Name (_ADR, 0x03)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS04)
                        {
                            Name (_ADR, 0x04)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP1)
                        {
                            Name (_ADR, 0x05)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP2)
                        {
                            Name (_ADR, 0x06)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP3)
                        {
                            Name (_ADR, 0x07)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP4)
                        {
                            Name (_ADR, 0x08)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
                    }
    
                    Method (MBSD, 0, NotSerialized)
                    {
                        Return (One)
                    }
                }
    
                Device (XHC2)
                {
                    Name (_ADR, 0x001A0000)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0F)
                            {
                                "AAPL,current-available", 
                                0x0834, 
                                "AAPL,current-extra", 
                                0x0A8C, 
                                "AAPL,current-extra-in-sleep", 
                                0x0A8C, 
                                "AAPL,max-port-current-in-sleep", 
                                0x0834, 
                                "AAPL,device-internal", 
                                Zero, 
                                "AAPL,root-hub-depth", 
                                0x0A, 
                                "AAPL,xhci-clock-id", 
                                One, 
                                Buffer (One)
                                {
                                    0x00
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
    
                    Device (RHUB)
                    {
                        Name (_ADR, Zero)
                        Device (HS01)
                        {
                            Name (_ADR, One)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS02)
                        {
                            Name (_ADR, 0x02)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS03)
                        {
                            Name (_ADR, 0x03)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (HS04)
                        {
                            Name (_ADR, 0x04)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP1)
                        {
                            Name (_ADR, 0x05)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP2)
                        {
                            Name (_ADR, 0x06)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP3)
                        {
                            Name (_ADR, 0x07)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
    
                        Device (SSP4)
                        {
                            Name (_ADR, 0x08)
                            Name (_UPC, Package (0x04)
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x10)
                            {
                                0x81, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                0x31, 
                                0x1C, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero, 
                                Zero
                            })
                        }
                    }
    
                    Method (MBSD, 0, NotSerialized)
                    {
                        Return (One)
                    }
                }
    

  13. Hello all,

    Thanks for the great work. I learned a lot digging into this subject. I just wanted to let ya'll know that I found a much easier way to get USB2 working for X79 in El Cap. Just delete EUSB and USBE or EHC1 and EHC2 devices from the DSDT or disable them with a SSDT:

    DefinitionBlock
    {
        External (_SB_.PCI0.USBE, DeviceObj)
        External (_SB_.PCI0.EUSB, DeviceObj)
        Scope (_SB.PCI0.EUSB)
        {
            Name (_STA, Zero)
        }
        Scope (_SB.PCI0.USBE)
        {
            Name (_STA, Zero)
        }
    }

    No kexts or plist edits needed. You can install as MacPro6,1 or whatever you want. This also seems to have cured USB drives being force ejected on wake. No love for the USB3 ports though as it seems they get all their properties from the chip's firmware and they can't be overridden by the ACPI tables.


  14. You can see how it's done here. The devices names may have to be the same length (I'm not completely sure about this).

    Thanks Riley,

    I wound up having to use a ssdt to fix my X79 USB2 ports for el cap because simply renaming the ports wasn't enough.

×