Anyone found a DSDT Patch Solution for the "missing" powermanagement-ability-info on the EHCI Devices?
150 replies to this topic
#41
Posted 16 August 2009 - 10:32 PM
#42
Posted 17 August 2009 - 02:22 PM
Hello.
I have iATKOS v7 10.5.7 on Asus P5N32-E. All works fine. All my USB devices mounting correctly, but it's only until machine go to sleep. After it's wakes up and I trying to mounting flash-drive or external USB HDD i have a kernel panic.
Anyone can halp me?
Sorry for my english.
Thanks.
I have iATKOS v7 10.5.7 on Asus P5N32-E. All works fine. All my USB devices mounting correctly, but it's only until machine go to sleep. After it's wakes up and I trying to mounting flash-drive or external USB HDD i have a kernel panic.
Anyone can halp me?
Sorry for my english.
Thanks.
#43
Posted 29 August 2009 - 02:46 PM
Unloading the Controller during Sleep results in USB Drives being removed by force without unmounting, which might result in data-loss:
kernel USBF: 0.392 AppleUSBEHCI[0x6838800]::CheckSleepCapability - controller will be unloaded across sleep
The Apple USB Drivers search for a device property "AAPL,clock-id", if it is found the ports are flagged built-in, if not, they will be unloaded during sleep. I renamed my EHCI Devices to EHC1 and EHC2. This is just cosmetical, search for your EHCI Devices by the adresses (e.g 0x001D0007 , 0x001A0007 for Gigabyte)
Here is my EHCI DSDT Part:
Device (EHC1)
{
Name (_ADR, 0x001D0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (EHC2)
{
Name (_ADR, 0x001A0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x02
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
#44
Posted 29 August 2009 - 03:48 PM
Hi ApexDE,
Very nice finding. I don't have this message in my log file:-
but I'm too experiencing the same problem where USB drives violently ejected without properly unmounted during sleep.
This may fix the problem. Thank you for sharing.
kizwan
Very nice finding. I don't have this message in my log file:-
Quote
kernel USBF: 0.392 AppleUSBEHCI[0x6838800]::CheckSleepCapability - controller will be unloaded across sleep
This may fix the problem. Thank you for sharing.
kizwan
#45
Posted 30 August 2009 - 02:59 AM
Apex - great patch confirmed working in 10.6 on my ep45 ud3p -- i wish i could say the same for the other guides floating around
#46
Posted 30 August 2009 - 03:19 PM
Works for me as well. Using ep45 ud3
#47
Posted 30 August 2009 - 04:14 PM
my usb2 (ehci) port are now reported as built-in, no "controller will be unloaded across sleep" error anymore, but my system refuse to sleep with this patch
i also noticed that my usb1 (uhci) port are still not built-in
i also noticed that my usb1 (uhci) port are still not built-in
#48
Posted 30 August 2009 - 05:02 PM
For me this works on both Leopard and SL, now if it was only possible to wake up with keyboard or mouse or Apple remote, on my old MSI P43-Neo I was able to use all those for waking up.
#49
Posted 30 August 2009 - 11:39 PM
Guys, please help a noob. I have been looking for a solution to this problem for weeks and weeks.
How exactly do I use Apex's code in my dsdt? I know how to do the patching and all; I have partched my file for Audio, network, and video.
But exactly WHERE do I put this code in my dsdt.dsl, before reassembling? Do I paste these 2 devices at the end of the file, or am I supposed to replace an existing section with these sections. I could not locate any EHC devices in my current patched dsdt.
I do have the EP45-UD3P board that you guys have, with an nVidia 9800 GTX.... I am attaching my dsdt.dsl file.
EDIT: NEVER MIND I figured it out.... I works perfectly for me in SL.
Thanks guys!! APEX
How exactly do I use Apex's code in my dsdt? I know how to do the patching and all; I have partched my file for Audio, network, and video.
But exactly WHERE do I put this code in my dsdt.dsl, before reassembling? Do I paste these 2 devices at the end of the file, or am I supposed to replace an existing section with these sections. I could not locate any EHC devices in my current patched dsdt.
I do have the EP45-UD3P board that you guys have, with an nVidia 9800 GTX.... I am attaching my dsdt.dsl file.
EDIT: NEVER MIND I figured it out.... I works perfectly for me in SL.
Thanks guys!! APEX
Attached Files
#50
Posted 31 August 2009 - 12:07 AM
Apex,
Added the fix to my blog, http://stellarola.tumblr.com/
Thanks a lot for this, it's sure to help out a lot of folks.
-Stell
Added the fix to my blog, http://stellarola.tumblr.com/
Thanks a lot for this, it's sure to help out a lot of folks.
-Stell
#51
Posted 31 August 2009 - 07:55 AM
here's for my dsdt:
tia.
btw, tried to follow the aboveposted fix by ApexDE, no dsdt.aml can be compiled. i'm getting this:
Device (USBE)
{
Name (_ADR, 0x001D0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
}
Name (NATA, Package (0x01)
{
0x001F0001
})
will u, ApexDE &/or stell, help me how to proceed?tia.
btw, tried to follow the aboveposted fix by ApexDE, no dsdt.aml can be compiled. i'm getting this:
Intel ACPI Component Architecture ASL Optimizing Compiler version 20080926 [Oct 4 2008] Copyright (C) 2000 - 2008 Intel Corporation Supports ACPI Specification Revision 3.0a ./dsdt_fixed.txt 222: Method (_WAK, 1, NotSerialized) Warning 1080 - ^ Reserved method must return a value (_WAK) ./dsdt_fixed.txt 3121: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Error 4063 - Object does not exist ^ (DTGP) ASL Input: ./dsdt_fixed.txt - 4532 lines, 147797 bytes, 1624 keywords Compilation complete. 1 Errors, 1 Warnings, 0 Remarks, 34 Optimizations Compiling done, if it worked, you have now a patched DSDT in dsdt.aml If the compiling went wrong, you could force to build it with ./DSDT\ Patcher -f (try this DSDT at your own risk)
#52
Posted 31 August 2009 - 08:59 AM
@ kizwan
does your Applesystemprofiler show the highspeed ports as built-in? Search your logs for Sleepcapability. If your ports are unloaded at sleep then you need the fix too.
@ macinized
You need to add the DTGP Method just after the _WAK Method in your DSDT:
does your Applesystemprofiler show the highspeed ports as built-in? Search your logs for Sleepcapability. If your ports are unloaded at sleep then you need the fix too.
@ macinized
You need to add the DTGP Method just after the _WAK Method in your DSDT:
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (One)
}
#53
Posted 31 August 2009 - 01:26 PM
kewl!
got it working now ApexDE. tnx a lot.
no more "The disk was not ejected properly. ..." error after waking-up from sleep.
OSx86 just gets better. tnx to people like u.
[update]
this patch to dsdt seems to distort my sound. using voodoohda & after booting using the newly-patched dsdt, my sounds sound broken (i.e. "krrk... krrk..." from time to time).
anyone got this same problem?
while at this, is there anyone who can point me to the right direction on how/what to edit in dsdt to make my alc888 work w/out any extra kext?
[update2]
it seems that the dsdt-patch is NOT the cause of distortion of my sounds. sound distortion only happens after waking-up from sleep.
when i rebooted, sounds fine again.
then my macPC still has sleep-problem.
got it working now ApexDE. tnx a lot.
no more "The disk was not ejected properly. ..." error after waking-up from sleep.
OSx86 just gets better. tnx to people like u.
[update]
this patch to dsdt seems to distort my sound. using voodoohda & after booting using the newly-patched dsdt, my sounds sound broken (i.e. "krrk... krrk..." from time to time).
anyone got this same problem?
while at this, is there anyone who can point me to the right direction on how/what to edit in dsdt to make my alc888 work w/out any extra kext?
[update2]
it seems that the dsdt-patch is NOT the cause of distortion of my sounds. sound distortion only happens after waking-up from sleep.
when i rebooted, sounds fine again.
then my macPC still has sleep-problem.
#54
Posted 31 August 2009 - 10:48 PM
ApexDE, on Aug 29 2009, 02:46 PM, said:
OK guys, i managed to patch my DSDT to get the EHCI USB Ports sleeping.
Unloading the Controller during Sleep results in USB Drives being removed by force without unmounting, which might result in data-loss:
The Apple USB Drivers search for a device property "AAPL,clock-id", if it is found the ports are flagged built-in, if not, they will be unloaded during sleep. I renamed my EHCI Devices to EHC1 and EHC2. This is just cosmetical, search for your EHCI Devices by the adresses (e.g 0x001D0007 , 0x001A0007 for Gigabyte)
Here is my EHCI DSDT Part:
Unloading the Controller during Sleep results in USB Drives being removed by force without unmounting, which might result in data-loss:
kernel USBF: 0.392 AppleUSBEHCI[0x6838800]::CheckSleepCapability - controller will be unloaded across sleep
The Apple USB Drivers search for a device property "AAPL,clock-id", if it is found the ports are flagged built-in, if not, they will be unloaded during sleep. I renamed my EHCI Devices to EHC1 and EHC2. This is just cosmetical, search for your EHCI Devices by the adresses (e.g 0x001D0007 , 0x001A0007 for Gigabyte)
Here is my EHCI DSDT Part:
Device (EHC1)
{
Name (_ADR, 0x001D0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (EHC2)
{
Name (_ADR, 0x001A0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x02
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Thanks man I have a Gigabyte EP45C-DS3R and worked perfectly!!!
#55
Posted 01 September 2009 - 05:45 PM
Hi,
I have the same problem with my EP35-DS3 here ist my DSDT: http://pastebin.com/fa6c132a.
Is it possible to fix the error on my board?
I have the same problem with my EP35-DS3 here ist my DSDT: http://pastebin.com/fa6c132a.
Is it possible to fix the error on my board?
#56
Posted 01 September 2009 - 08:56 PM
Thank you so much, it's working great also on GA-965p-DS4
#57
Posted 01 September 2009 - 10:53 PM
I try this fixes without any success: http://pastebin.com/f72848271
#58
Posted 02 September 2009 - 12:01 AM
I have an MSI Wind U100 that got the Device Removal Error. After performing that patch it made it worse. This is what I got:
Picture_1.png 84.52K
79 downloads
Picture_1.png 84.52K
79 downloads
#59
Posted 02 September 2009 - 09:52 AM
when i compile i get always these two errors:
/Users/mash/Desktop/SL Pack/DSDTs/dsdt.dsl 4182: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
Users/mash/Desktop/SL Pack/DSDTs/dsdt.dsl 4222: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
any idea?
this is what it looks like:
/Users/mash/Desktop/SL Pack/DSDTs/dsdt.dsl 4182: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
Users/mash/Desktop/SL Pack/DSDTs/dsdt.dsl 4222: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error 4067 - Object is not accessible from this scope ^ (DTGP)
any idea?
this is what it looks like:
Device (USBE)
{
Name (_ADR, 0x001D0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (USE2)
{
Name (_ADR, 0x001A0007)
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Return (0x03)
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"AAPL,clock-id",
Buffer (0x01)
{
0x02
},
"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
#60
Posted 02 September 2009 - 09:56 AM
look at post #52
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users



Sign In
Create Account










