frankiee Posted April 2, 2016 Share Posted April 2, 2016 Hi, I always had aapl-clock-id set to disable wake from USB, i.e. my computer only woke up when pressing the power button. Now with all that changed USB handling in El Capitan, this does not seem to work anymore. Strangely, I also have wakereason "?" when waking from keyboard or mouse. Is there any other way to explicitly prohibit wake from sleep caused by USB devices (esp. keyboard and mouse, which are connected to USB 2 ports) using DSDT / SSDT? This is how my current USB related SSDT settings look like: Name (_SB.PCI0.EUSB._STA, Zero) Name (_SB.PCI0.USBE._STA, Zero) Device (_SB.PCI0.EH01) { Name (_ADR, 0x001D0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) } Device (_SB.PCI0.EH02) { Name (_ADR, 0x001A0000) Name (_S4D, 0x02) Name (_S3D, 0x02) Name (_S2D, 0x02) Name (_S1D, 0x02) Name (MBSD, One) } Any hints would be greatly appreciated! Link to comment Share on other sites More sharing options...
Allan Posted April 2, 2016 Share Posted April 2, 2016 If you use Clover, you can disable AddClockID Link to comment Share on other sites More sharing options...
frankiee Posted April 2, 2016 Author Share Posted April 2, 2016 ClockId seems to not work anymore, no matter if I set it from clover or using a DSDT / SSDT patch. And you had to add a clock id to disable wake from USB, not disable it. Again, my goal is to disable wake from USB, so the system only wakes when pressing the power button. Link to comment Share on other sites More sharing options...
Allan Posted April 2, 2016 Share Posted April 2, 2016 Well, in this case, just search and delete the PRW_ methods in your DSDT/SSDT: http://www.insanelymac.com/forum/topic/286907-dsdt-help-for-lenovo-g480-ehci-wakeup/ Good luck! Link to comment Share on other sites More sharing options...
frankiee Posted April 2, 2016 Author Share Posted April 2, 2016 Hi Allan, thanks for the hint! But actually I already have tried that. I.e. deleted these methods with both the "USBE" and "EUSB" devices in my original DSDT. I also tried this: Name(_PRW, Package() { 0x0D, 0 }) ... and added this name to my "EH01" and "EH02" devices in my SSDT as well. No dice, still wakes when pressing a key or moving my mouse Any other ideas? Link to comment Share on other sites More sharing options...
Allan Posted April 4, 2016 Share Posted April 4, 2016 What is your hibernate mode? How do you want wake your Hack? Link to comment Share on other sites More sharing options...
frankiee Posted April 4, 2016 Author Share Posted April 4, 2016 Hibernate mode is "0". And I want to wake my hack as I always did before it stopped working, i.e. using the power button only. Ah and I dont want to have KPs anymore when I restart my machine after waking, but think this is another topic ... Link to comment Share on other sites More sharing options...
Allan Posted April 4, 2016 Share Posted April 4, 2016 You always use Hibernate mode '0'? Maybe you can try another value, like 21 or 29. I know that you want Sleep mode, not Hibernation, but it's all i can think at moment... I recommend use Hibernation, because i have 90% sure that you can wake your Hack using power button. Link to comment Share on other sites More sharing options...
frankiee Posted April 5, 2016 Author Share Posted April 5, 2016 No I do not want hibernation. This is a desktop with lots of RAM, so I would needlessly thrash my SSD. And I can wake with Powerbutton right now. The point is, I want to wake with Poweerbutton only. Link to comment Share on other sites More sharing options...
Allan Posted April 5, 2016 Share Posted April 5, 2016 Truth, i forgot that you use SSD, it's a bad idea. Well, i have no more ideas for wake only via PWB, sorry bro.... Link to comment Share on other sites More sharing options...
frankiee Posted April 5, 2016 Author Share Posted April 5, 2016 No prob, thanks for help nonetheless! Anyone else, any ideas? Link to comment Share on other sites More sharing options...
frankiee Posted May 13, 2016 Author Share Posted May 13, 2016 FYI: I at least have found a way to achieve the desired functionality again, but it feels like its not the best way to do so (but I know no other ...) So what works is just doing this in my SSDT: Name (_SB.PCI0.EUSB._STA, Zero) Name (_SB.PCI0.USBE._STA, Zero) I.e. I do not add Device (_SB.PCI0.EH01) and Device (_SB.PCI0.EH01) after that, like I did before. Apparently USB still seems to work OK, and finally wake on USB is disabled as well - but it still feels a bit strange to do it this way ... Link to comment Share on other sites More sharing options...
duffs Posted May 13, 2016 Share Posted May 13, 2016 Like this. Device (USB1) { Name(_ADR, 0x001d0000) 29 30 OperationRegion(U01P, PCI_Config, 0, 256) 31 Field(U01P, DWordAcc, NoLock, Preserve) 32 { 33 Offset(0xc4), 34 U1WE, 2 // USB Wake Enable 35 } 36 37 Name (_PRW, Package(){ 3, 4 }) // Power Resources for Wake 38 39 Method (_PSW, 1) // Power State Wake method 40 { 41 // USB Controller can wake OS from Sleep State 42 If (Arg0) { 43 Store (3, U1WE) 44 } Else { 45 Store (0, U1WE) 46 } 47 } 48 49 // Leave USB ports on for to allow Wake from USB 50 51 Method(_S3D,0) // Highest D State in S3 State 52 { 53 Return (2) 54 } 55 56 Method(_S4D,0) // Highest D State in S4 State 57 { 58 Return (2) 59 } 60 } 61 62 63 // USB Controller 0:1d.1 64 185 Device (EHC1) 186 { 187 Name(_ADR, 0x001d0007) 188 189 Name (_PRW, Package(){ 13, 4 }) // Power Resources for Wake 190 191 // Leave USB ports on for to allow Wake from USB 192 193 Method(_S3D,0) // Highest D State in S3 State 194 { 195 Return (2) 196 } 197 198 Method(_S4D,0) // Highest D State in S4 State 199 { 200 Return (2) 201 } in chipset manual USB EHCI PCI Register Address Map 62h–63h PWAKE_CAP Port Wake Capabilities 01FFh R/W 1 Link to comment Share on other sites More sharing options...
frankiee Posted May 14, 2016 Author Share Posted May 14, 2016 Hi Duffs, looks interesting, not sure if that works with my config tough. So this also disables USB wake from sleep? Am a bit confused since the comments in the code suggest it does the opposite? Link to comment Share on other sites More sharing options...
Twa Posted July 13, 2016 Share Posted July 13, 2016 And when i knew exactly what USB-port caused wake problem, how can i disable it from wake my Hack ? Link to comment Share on other sites More sharing options...
frankiee Posted July 14, 2016 Author Share Posted July 14, 2016 Look at this post, this is how I do it right now: http://www.insanelymac.com/forum/topic/311678-how-to-disable-wake-from-usb/?p=2237748 Havent tried duffs suggestion though, and frankly I doubt this will work anyways. But be aware that you might have to adapt the SSDT to your config, won't work as it is for different hardware. My "solution" also disables wake on USB for the whole controller, not just a single port. And I still would prefer a better solution but haven't found one. Link to comment Share on other sites More sharing options...
Recommended Posts