Contribute
Register

AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep (DSDT-Patch)

Status
Not open for further replies.
Joined
Feb 24, 2012
Messages
124
Motherboard
EVGA Z68FTW
CPU
i7 2600K
Graphics
EVGA GTX 590 Classified
Mac
  1. MacBook Air
Classic Mac
Mobile Phone
  1. iOS
Greetings,

I have the following message displayed during boot

Sleep failure code 0x4ff52080 0x06f66004
USBF: 1.645 AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep
USBF: 1.645 AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep
USBF: 1.746 AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep
USBF: 1.746 AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep


I was able to find a DSDT patch that is supposed to address this error, however I'm not sure how to make it work for my DSDT, which does not contain _ADR, 0x001D0007.

Patch:
Code:
# Fix for "AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep"
#
into method label _DSM parent_adr 0x001D0007 remove_entry;
into device name_adr 0x001D0007 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
   Store (Package (0x04)\n
       {\n
         "AAPL,clock-id",\n
         Buffer (0x01)\n
         {\n
             0x01\n
         },\n
         "device_type",\n
         Buffer (0x05)\n
         {\n
            "EHCI"\n
         }\n
        }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end;
into method label _DSM parent_adr 0x001A0007 remove_entry;
into device name_adr 0x001A0007 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
   Store (Package (0x04)\n
       {\n
         "AAPL,clock-id",\n
         Buffer (0x01)\n
         {\n
             0x02\n
         },\n
         "device_type",\n
         Buffer (0x05)\n
         {\n
            "EHCI"\n
         }\n
        }, Local0)\n
    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
    Return (Local0)\n
}
end

Hoping someone can help me modify the patch to work for my DSDT. Thanks in advance.

This is for a Dell Dimension 9200 w/ Core2 Duo E6600 processor and Nvidia 9600 GT 512mb Graphics.
8086,2836 Intel 82801H (ICH8 Family) USB2 EHCI Controller #1
8086,283a Intel 82801H (ICH8 Family) USB2 EHCI Controller #2

I have tried to search DSDT by Device Id 0x3a, 0x28, 0x00, 0x00 and 0x36, 0x28, 0x00, 0x00 to get Device_ADR but no luck.

UPDATE: (Credit: Cassio)
Based on IOReg, @1D,7 and @1A,7 where EHCI is located I translated it to

@1D,7 = 0x001D0007
@1A,7 = 0x001A0007

For the patch/s to apply, I convert _ADRs
0x001D007->0x001D000
0x001A007->0x001A000

Patch:
Code:
[SIZE=1][FONT=Monaco]# Fix for "AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep"[/FONT]
[FONT=Monaco]#[/FONT]
[FONT=Monaco]into method label _DSM parent_adr 0x001D0000 remove_entry;[/FONT]
[FONT=Monaco]into device name_adr 0x001D0000 insert[/FONT]
[FONT=Monaco]begin[/FONT]
[FONT=Monaco]Method (_DSM, 4, NotSerialized)\n[/FONT]
[FONT=Monaco]{\n[/FONT]
[FONT=Monaco]   Store (Package (0x04)\n[/FONT]
[FONT=Monaco]       {\n[/FONT]
[FONT=Monaco]         "AAPL,clock-id",\n[/FONT]
[FONT=Monaco]         Buffer (0x01)\n[/FONT]
[FONT=Monaco]         {\n[/FONT]
[FONT=Monaco]             0x01\n[/FONT]
[FONT=Monaco]         },\n[/FONT]
[FONT=Monaco]         "device_type",\n[/FONT]
[FONT=Monaco]         Buffer (0x05)\n[/FONT]
[FONT=Monaco]         {\n[/FONT]
[FONT=Monaco]            "EHCI"\n[/FONT]
[FONT=Monaco]         }\n[/FONT]
[FONT=Monaco]        }, Local0)\n[/FONT]
[FONT=Monaco]    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n[/FONT]
[FONT=Monaco]    Return (Local0)\n[/FONT]
[FONT=Monaco]}[/FONT]
[FONT=Monaco]end;[/FONT]
[FONT=Monaco]into method label _DSM parent_adr 0x001A0000 remove_entry;[/FONT]
[FONT=Monaco]into device name_adr 0x001A0000 insert[/FONT]
[FONT=Monaco]begin[/FONT]
[FONT=Monaco]Method (_DSM, 4, NotSerialized)\n[/FONT]
[FONT=Monaco]{\n[/FONT]
[FONT=Monaco]   Store (Package (0x04)\n[/FONT]
[FONT=Monaco]       {\n[/FONT]
[FONT=Monaco]         "AAPL,clock-id",\n[/FONT]
[FONT=Monaco]         Buffer (0x01)\n[/FONT]
[FONT=Monaco]         {\n[/FONT]
[FONT=Monaco]             0x02\n[/FONT]
[FONT=Monaco]         },\n[/FONT]
[FONT=Monaco]         "device_type",\n[/FONT]
[FONT=Monaco]         Buffer (0x05)\n[/FONT]
[FONT=Monaco]         {\n[/FONT]
[FONT=Monaco]            "EHCI"\n[/FONT]
[FONT=Monaco]         }\n[/FONT]
[FONT=Monaco]        }, Local0)\n[/FONT]
[FONT=Monaco]    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n[/FONT]
[FONT=Monaco]    Return (Local0)\n[/FONT]
[FONT=Monaco]}[/FONT]
[FONT=Monaco]end[/FONT][/SIZE]

But still I have the error: AppleUSBEHCI::CheckSleepCapability - controller will be unloaded across sleep


Any ideas on how to proceed from here? Any help, is much appreciated.


Attached: DSDT & IOReg

View attachment Patched DSDT.aml.zipView attachment Archive.zip
 
Status
Not open for further replies.
Top