Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
Hello guys, I am having issues with power (shutdown, sleep) after upgrading to El Capitan, and it seems it is related to the new way to override USB ports, I didn't have access to the ports either so I followed this guide and ended up fixing it by just adding the "connectable" line, however power issues are still present. I manage to get sleep and power working by using a dummy injector that completely disables the USB part (so that's why I keep thinking there is something I did not get right) Also if I insert an SD card I get an instant KP, so there is that as well.

I recently replaced my wireless card for an original one with adapter from osxwifi I don't think thats an issue.

Here is my ioreg, how my IOAPCIPlane looks and my dsdt and ssdt with usb patches

really hope I can get a point to the right direction to solve this issue, It's been weeks with literary "no sleep"

Thanks in advance.
 

Attachments

  • Screen Shot 2015-10-07 at 20.30.13.png
    Screen Shot 2015-10-07 at 20.30.13.png
    27.1 KB · Views: 123
  • Screen Shot 2015-10-07 at 20.28.30.png
    Screen Shot 2015-10-07 at 20.28.30.png
    117.9 KB · Views: 176
  • Screen Shot 2015-10-07 at 20.27.41.png
    Screen Shot 2015-10-07 at 20.27.41.png
    25.8 KB · Views: 142
  • DSDT.aml
    38.1 KB · Views: 96
  • SSDT-5.aml
    1.6 KB · Views: 97
  • M2420.ioreg
    2.6 MB · Views: 95
Hello guys, I am having issues with power (shutdown, sleep) after upgrading to El Capitan, and it seems it is related to the new way to override USB ports, I didn't have access to the ports either so I followed this guide and ended up fixing it by just adding the "connectable" line, however power issues are still present. I manage to get sleep and power working by using a dummy injector that completely disables the USB part (so that's why I keep thinking there is something I did not get right) Also if I insert an SD card I get an instant KP, so there is that as well.

I recently replaced my wireless card for an original one with adapter from osxwifi I don't think thats an issue.

Here is my ioreg, how my IOAPCIPlane looks and my dsdt and ssdt with usb patches

really hope I can get a point to the right direction to solve this issue, It's been weeks with literary "no sleep"

Thanks in advance.

You didn't mention the specific issue with sleep. But if it is instant wake, you need the _PRW patch. It is covered in the ACPI patching guide: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html
 
It is not instant wake, it is just no sleep, I mean it freezes, if I send it to sleep, black screen hard reset needed, if I send it to power off it closes os x and black screen afterwards with system on.

wake up reason is power button (I kinda blocked the process to black screen once)

this dsdt ssdt combo worked very nice in yosemite, very fast sleep/wake, nothing disabled after wake, and I got it to work again (the power part) by completely disabling the USB kexts, I feel I am missing something here...
 
It is not instant wake, it is just no sleep, I mean it freezes, if I send it to sleep, black screen hard reset needed, if I send it to power off it closes os x and black screen afterwards with system on.

wake up reason is power button (I kinda blocked the process to black screen once)

It could be anything. I'd check ACPI patching first.
 
It could be anything. I'd check ACPI patching first.
this dsdt ssdt combo worked very nice in yosemite, very fast sleep/wake, nothing disabled after wake, and I got it to work again (the power part) by completely disabling the USB kexts, I feel I am missing something here...
 
this dsdt ssdt combo worked very nice in yosemite, very fast sleep/wake, nothing disabled after wake, and I got it to work again (the power part) by completely disabling the USB kexts, I feel I am missing something here...

10.11 is different than 10.10.

You should first try the solutions for instant wake, as I can see your DSDT does not have them.
 
Hi RehabMan,

Thanks for the great white up. I've found a very simple fix for my system. Can you please give me your thoughts on my post here

Ok... first USBE/EUSB will not match on any built-in port injectors. So port injectors that Apple created are not an issue for you.

The drivers will use DSDT to determine the available ports.

By removing the ACPI identity for the controllers (USBE/EUSB) you effectively remove the ability for the system to get port information from ACPI. So, the code probably just enables all the ports...

The _STA SSDT trick works as long as there isn't already an _STA defined in the native DSDT.

The alternative would be to create a port injector for all your ports and not have to play the _STA trick.
 
Thanks!

It seems this is the simplest fix for Asus X79 so I'll stick with it. I also tried:
Code:
DefinitionBlock ("iASL8jUuUZ.aml", "SSDT", 1, "APPLE", "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)
    }


    Device (_SB.PCI0.EH02)
    {
        Name (_ADR, 0x001A0000)
    }
}

which works fine too, but it seems that it's not necessary to even specify a device name and address.
 
Thanks!

It seems this is the simplest fix for Asus X79 so I'll stick with it. I also tried:
Code:
DefinitionBlock ("iASL8jUuUZ.aml", "SSDT", 1, "APPLE", "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)
    }


    Device (_SB.PCI0.EH02)
    {
        Name (_ADR, 0x001A0000)
    }
}

which works fine too, but it seems that it's not necessary to even specify a device name and address.

That would attach an APCI identity (EH01/EH02) to the two devices. But there is still no DSDT definition of ports (_UPC/etc) so the kext will still activate all the ports. End result is the same, but with a "prettier" ioreg.
 
Status
Not open for further replies.
Back
Top