Contribute
Register

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

Status
Not open for further replies.
Joined
Feb 24, 2012
Messages
117
Motherboard
EVGA Z68FTW
CPU
i7 2600K
Graphics
EVGA GTX 590 Classified
Mac
  1. MacBook Air
Classic Mac
  1. 0
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.
Back
Top