Jump to content

[solved] (PM45/ICH9) EHC2 instantly wakes from sleep


9 posts in this topic

Recommended Posts

So I've been having this issue for over a year I think, but it's just starting to get to the point where it bothers me enough to make me want to do something about it.

 

I'm on a Gateway P-7805u notebook with a PM45/ICH9 chipset and a Core2 Duo (as stated in my sig.. hah) and I've had this problem on every flavor of OSX I've installed... since 10.5. After editing my DSDT with the USB "device-id" trick, sleep works for me -- but only usually after a few tries. Usually when I put it to sleep, it appears to sleep for just a split second before instantly waking back up. After a few attempts it will sleep normally and won't wake back up until I open the lid.

 

I recently learned a new trick to search system logs with the following command:

 

syslog |grep -i "Wake reason ="

 

After trying that, it omitted the following:

 

 

Sat Dec 11 01:42:24 Popo-Bonobos-iMac kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 01:42:40 Popo-Bonobos-iMac kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 01:46:47 Popo-Bonobos-iMac kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 01:47:12 Popo-Bonobos-iMac kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 11:35:14 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 11:35:30 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sat Dec 11 19:16:02 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Sun Dec 12 00:33:59 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 00:34:33 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = USB4 GLAN EHC2
Sun Dec 12 00:35:09 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 00:35:44 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 11:53:32 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Sun Dec 12 12:20:49 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 12:21:26 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 14:49:19 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Sun Dec 12 15:14:35 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 15:15:24 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = power-button GLAN EHC2
Sun Dec 12 15:33:07 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 16:15:53 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Sun Dec 12 16:25:31 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 16:26:18 ip-152010101194 kernel[0] <Debug>: Wake reason = power-button GLAN EHC2
Sun Dec 12 16:26:22 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 16:28:16 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Sun Dec 12 19:14:50 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Sun Dec 12 20:39:34 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = SLPB LID0
Sun Dec 12 23:37:35 ip-152010101194 kernel[0] <Debug>: Wake reason = SLPB LID0
Mon Dec 13 00:20:39 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = SLPB LID0
Mon Dec 13 11:47:37 ip-152010101194 kernel[0] <Debug>: Wake reason = SLPB LID0
Mon Dec 13 13:10:21 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 13:13:29 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Mon Dec 13 13:18:46 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 13:18:54 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 15:52:43 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Mon Dec 13 18:53:48 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 18:53:56 ip-152010101194 kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 19:57:24 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Mon Dec 13 21:44:06 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 21:44:14 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 21:44:22 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 21:44:31 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 21:44:39 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2
Mon Dec 13 23:24:24 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN SLPB LID0 EHC2
Tue Dec 14 00:35:17 Pauls-MacBook-Pro kernel[0] <Debug>: Wake reason = GLAN EHC2

 

 

So while some of those instances are obviously from me opening the lid, you can see where I've tried a few times to get the thing to sleep. It appears it's being woken up instantly by EHC2 (which is a network device, right?).

 

So does anyone know how I can keep this device from giving my notebook insomnia? DSDT edits? A system settings change? Idunno.

 

Attached is my current DSDT.dsl. For the helluvit. :)

dsdt.dsl.txt

Link to comment
Share on other sites

  • 3 months later...

Almost five months later I am still having this problem. I followed advice I found on this forum, which removed "GLAN" from "Wake reason", but EHC2 still is preventing my machine from getting precious sleep (even after removing "_PRW" from both devices in my DSDT).

 

Please, if anyone has some insight on this, I'd really love it!

Link to comment
Share on other sites

I have also ICH9 and my EHC2 device has the following patch.

Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x11)
                       {
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x3A, 0x28, 0x00, 0x00
                           }, 

                           "AAPL,clock-id", 
                           Buffer (One)
                           {
                               0x02
                           }, 

                           "built-in", 
                           Buffer (One)
                           {
                               0x00
                           }, 

                           "device_type", 
                           Buffer (0x05)
                           {
                               "EHCI"
                           }, 

                           "AAPL,current-available", 
                           0x04B0, 
                           "AAPL,current-extra", 
                           0x02BC, 
                           "AAPL,current-in-sleep", 
                           0x03E8, 
                           "AAPL,device-internal", 
                           0x10, 
                           Buffer (One)
                           {
                               0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

EHC device is not a network device. It is an usb hub which in my case includes bluetooth, finger print sensor, tv card etc. Have a look at this post for DSDT fixes including USB for ICH9. Some might apply to your machine as well.

Link to comment
Share on other sites

EDIT: I solved it. I guess.

 

I just went ahead and deleted all things "EHC2" in dsdt.dsl (there were only, like, two).

 

Still not entirely sure what that device was. All my USB's, FireWire, and webcam still work fine. May have been my modem or my card reader, or my empty MiniPCIe half-slot... all three of which are useless in my installation. whatever it was, now my computer sleeps fine everytime, and I'm very happy. Hooray for self-resolution!!

Link to comment
Share on other sites

Oh hey, Mald0n to the rescue again. Haha I'm pretty sure this is the second time you've helped me with a stupid DSDT problem.

So yeah, I looked at your file and I like your solution better. Rather not have to remove a device if I don't have to... Thanks again. What exactly was going on in there then?

 

P.S. I had already removed that PRW line... see above

Link to comment
Share on other sites

P.S. I had already removed that PRW line... see above

 

Device (EHC2)
           {
               Name (_ADR, 0x001A0007)
               OperationRegion (UFCS, PCI_Config, 0x54, 0x04)
               Field (UFCS, DWordAcc, NoLock, Preserve)
               {
                       ,   15, 
                   PMES,   1
               }

               Device (HUB2)
               {
                   Name (_ADR, Zero)
                   Device (PRT1)
                   {
                       Name (_ADR, One)
                   }

                   Device (PRT2)
                   {
                       Name (_ADR, 0x02)
                   }

                   Device (PRT3)
                   {
                       Name (_ADR, 0x03)
                   }

                   Device (PRT4)
                   {
                       Name (_ADR, 0x04)
                   }
               }

               [color="#FF0000"][b]Name (_PRW, Package (0x02)
               {
                   0x0D, 
                   0x03
               })[/b][/color]
               Method (_S3D, 0, NotSerialized)
               {
                   Return (0x03)
               }

               Method (_S4D, 0, NotSerialized)
               {
                   Return (0x03)
               }

Link to comment
Share on other sites

Yeah man, that was my .dsl from 5 months ago before I found your other suggestion on the thread I linked to above (post#2). I guess I should've posted it again today to avoid confusion. No sweat though, again I really appreciate the help from both of you. Everything looks great now.

Link to comment
Share on other sites

 Share

×
×
  • Create New...