Jump to content

[Solved] Dell Vostro200 - DSDT patching for Wake


  • Please log in to reply
41 replies to this topic

#1
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
Hi folks,

Got SL 10.6.8/Lion 10.7.5/ML 10.8.2 running on my oldish Vostro 200 (SlimTower). Everything works great, except one damn thing...

Specs:
. Foxconn G33M02 motherboard
. modded/unlocked Award BIOS 10.0.16, supporting HDD AHCI mode selection (from www.bios-mods.com)
. Intel G33 chipset
. Intel C2D E8600 3.33GHz FSB1333
. 4Go DDR2-800
. Intel 82562V-2 10/100Mb built-in Ethernet
. Realtek ALC888 audio
. ATI Radeon Pro X1300/X1550 (RV516 chip) 256Mb graphics card (low-profile fanless, 1 DVI dual-link + 1 S-Video). PCI dev id=0x7183
. TEAC CA200 internal-USB 19-in-1 card reader
. Logitech wireless (BT) keyboard and mouse

I got everything to work through myHack-based full Vanilla installation (32/64bit kernel mode, audio, full QE/CI (under SL-only), card reader, SpeedStep, sleep), but I just cannot get the computer to wake properly. It goes to sleep ok though: screen shuts off, fan stops, power button goes blinking, etc. I can press a key or move/click the mouse to try and wake it and the fan will resume, the power button will go solid and BT led will blink once on keyboard and mouse; the screen however stays off, no way to wake it.

There's no NullCPUPowerManagement kext, no SleepEnabler kext and it's running with Chameleon v2.2 r2181.

I did some DSDT patching to get things like HDD icons and restart/shutdown fixed, but I admit defeat on this wake business. I've tried to include some of the stuff MacNB did for his Inspiron 530 DSDT table, but that has not made any difference so far...

Is there any DSDT guru who could have a look or point me in the right direction? It's annoying having just one thing not working properly...

Many thanks.

Attached Files


Edited by Hervé, 30 December 2013 - 11:56 PM.


#2
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
Hi,

by no means am I a DSDT guru but you could try editing the "_INI" method which sets some variables according to the OS type, which in turn are checked during many operations.
Under Mac it would be "Darwin" but as a PC's DSDT isn't laid out for a Mac, the general recommendation is to mask the type as Windows 2001 as it greatly relies on the ACPI system.
I suggest you delete the whole block and just leave the three "Store .." lines from the Windows 2001 code block.

The Wake (_WAK) method checks "OSFL" which might cause the problem. At least I hope so, that would be easily solved .. :P
Good luck.

#3
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
Thajnks for the quick reply.

I have tried to replace the "Windows 2001" and "Windows 2006" by "Darwin", but that made no difference; I had seen that in MacNB's Inspiron530 table.
Re: Wake method, are you suggesting to remove the OSFL checkup?

#4
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
It is worth a try at least.

EDIT:
Actually it is a bad idea to replace both statements with Darwin, as both will be executed and the values of the last one will be used - Windows 2006.
Just remove everything else, you won't use this DSDT with Windows anyway.

Edited by k3nny, 05 March 2013 - 05:38 PM.


#5
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
I have tried:
. editing _INI section, replacing either Win 2001 or Win 2006 string by Darwin -> no change
. adding package return Zero, Zero at end of _WAK section -> no change
. modifying the _WAK method to match that of MacNB's Inspiron 530 table -> no change

I guess it's that _WAK section that requires editing, but with what ??? I'm really wondering what MacNB modified to get Wake to work on his Inspiron 530. I even tried his DSDT on my Vostro (the 2 systems are very very close) but it still behaved the same: goes to sleep Ok, but no proper/full wake.

Edited by Hervé, 05 March 2013 - 10:38 PM.


#6
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
I would recommend you to go through the _WAK method line by line and compare the invoked functions with MacNB's version. Can you link to it by the way?

EDIT:
Found a possible fix by accident. Try replacing / adding the missing info to your PWRB device. This seems to be present in most newer boards:
Device (PWRB)
{
  Name (_HID, EisaId ("PNP0C0C"))
  Name (_UID, 0xAA)
  Name (_STA, 0x0B)
  Method (_PRW, 0, NotSerialized)
  {
    Return (GPRW (0x08, 0x04))
  }
}

Edited by k3nny, 06 March 2013 - 01:38 AM.


#7
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
Thanks, would you happen to have the definition for the GPRW object? That does not exist in my DSDT table...

Here's what I entered:

Device (PWRB)
{
	  Name (_CID, EisaId ("PNP0C0C"))
	  //Name (_HID, EisaId ("PNP0C0C"))
	  Name (_UID, 0xAA)				 // *** new
	  Name (_STA, 0x0B)				 // *** new
	  /* Method (_STA, 0, NotSerialized)
	  {
		  Return (0x0B)
	  } */
	  Method (_PRW, 0, NotSerialized)	 // *** New
	  {
		  Return (Package (0x02)
		  { 
			 0x08,
			 0x04
		  })
	  } 
}

And below, MacNB's table:

Attached Files


Edited by Hervé, 06 March 2013 - 03:57 AM.


#8
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
Looks good. Did you have any success with it?

#9
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
Unfortunately, no... :unsure:

#10
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
Let's continue then .. :P

It seems the "Scope (_GPE)" is used to inform the OS of different device events, including wake events which are resembled by id "2".
You should try including "Notify (\_SB.PWRB, 0x02)" in the different methods, like in MacNB's DSDT.

PS: You didn't inject a device-id into device PX40, which is named LPC in MacNB's DSDT. Just as a side note. Don't know how important that is.

#11
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!

Added the "Notify (\_SB.PWRB, 0X02)" to the various methods as per MacNB -> no change.

I found the following old post from MacNB on the GodForbidden site and got all excited:

I commented out the whole If/Else section in the _INI method of my DSDT and simply put the 3 lines of code, but it still does not wake the computer... :wallbash:


Edited by iFIRE, 14 January 2014 - 09:20 AM.
removed TMAC links


#12
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
Does the Console app say anything that might be related to Sleep at the time of Sleep / Wakeup ?

Would you mind uploading the dmesg?

#13
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
Nothing at all in the console messages I'm afraid. Here's the syslog for a system startup, upon which I just went Apple Menu -> Suspend, followed by forced PWR OFF/ON to restart...

System PWR ON after failed wake from sleep ->
Mar 6 17:18:38 localhost com.apple.launchd[1]: *** launchd[1] has started up. ***
Mar 6 17:18:43 localhost DirectoryService[11]: Improper shutdown detected
Mar 6 17:18:45 localhost mDNSResponder[17]: mDNSResponder mDNSResponder-258.21 (May 26 2011 14:40:13) starting
Mar 6 17:18:46 Vostro200-SL configd[14]: setting hostname to "Vostro200-SL.local"
Mar 6 17:18:46 Vostro200-SL configd[14]: network configuration changed.
Mar 6 17:18:48: --- last message repeated 2 times ---
Mar 6 17:18:47 Vostro200-SL bootlog[56]: BOOT_TIME: 1362586716 0
Mar 6 17:18:48 Vostro200-SL fseventsd[49]: event logs in /.fseventsd out of sync with volume. destroying old logs. (176 12 361)
Mar 6 17:18:48 Vostro200-SL fseventsd[49]: log dir: /.fseventsd getting new uuid: 145D0E87-7CBF-48B6-8F82-CF9288C0FAFE
Mar 6 17:18:51 Vostro200-SL com.apple.usbmuxd[38]: usbmuxd-296.4 on Dec 21 2012 at 16:11:14, running 64 bit
Mar 6 17:18:51 Vostro200-SL fseventsd[49]: check_vol_last_mod_time:{censored} failed to get mount time (25; &mount_time == 0x10047f8b8)
Mar 6 17:18:51 Vostro200-SL fseventsd[49]: log dir: /Volumes/DIAGS/.fseventsd getting new uuid: 1A7E1D4D-DB69-4B49-9C48-00314D8D31CA
Mar 6 17:18:53 Vostro200-SL blued[57]: Apple Bluetooth daemon started
Mar 6 17:18:53 Vostro200-SL /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow[45]: Login Window Application Started
Mar 6 17:18:54 Vostro200-SL com.apple.kextd[10]: Can't load /System/Library/Extensions/IOSerialFamily.kext/Contents/PlugIns/InternalModemSupport.kext - no code for running kernel's architecture.
Mar 6 17:18:54 Vostro200-SL com.apple.kextd[10]: Failed to load /System/Library/Extensions/IOSerialFamily.kext/Contents/PlugIns/InternalModemSupport.kext - (libkern/kext) requested architecture/executable not found.
Mar 6 17:18:54 Vostro200-SL com.apple.kextd[10]: Load com.apple.driver.InternalModemSupport failed; removing personalities.
Mar 6 17:18:56 Vostro200-SL iStatLocalDaemon[61]: Waiting for connections on port 5204.
Mar 6 17:19:02 Vostro200-SL loginwindow[45]: Login Window Started Security Agent
Mar 6 17:19:03 Vostro200-SL loginwindow[45]: Login Window - Returned from Security Agent
Mar 6 17:19:03 Vostro200-SL com.apple.loginwindow[45]: top level name dc in dc.config is invalid
Mar 6 17:19:03 Vostro200-SL loginwindow[45]: USER_PROCESS: 45 console
Mar 6 17:19:03 Vostro200-SL com.apple.launchd.peruser.501[109] (com.apple.ReportCrash): Falling back to default Mach exception handler. Could not find: com.apple.ReportCrash.Self
Mar 6 17:19:04 Vostro200-SL configd[14]: network configuration changed.
Mar 6 17:19:04 Vostro200-SL com.apple.SystemStarter[39]: Loading DoubleCommand
Mar 6 17:19:05 vostro200-sl configd[14]: setting hostname to "vostro200-sl.home"
Mar 6 17:19:05 vostro200-sl com.apple.SystemStarter[39]: dc.config: 0 -> 65536
Mar 6 17:19:12 vostro200-sl com.apple.launchd.peruser.501[109] (com.apple.Kerberos.renew.plist[139]): Exited with exit code: 1
Mar 6 17:19:12 vostro200-sl WindowServer[87]: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Mar 6 17:19:12 vostro200-sl com.apple.WindowServer[87]: Wed Mar 6 17:19:12 vostro200-sl.home WindowServer[87] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Mar 6 17:19:13 vostro200-sl com.apple.launchd.peruser.501[109] (com.apple.mrt.uiagent[138]): Exited with exit code: 255
Mar 6 17:19:15 vostro200-sl SystemUIServer[114]: MenuCracker 2.2 (/Library/Application Support/iStat local/extras/MenuCracker.menu)\n See http://sourceforge.n...s/menucracker\n MenuCracker is now loaded. Ready to accept new menu extras.
Mar 6 17:19:15 vostro200-sl SystemUIServer[114]: failed to instantiate and get the principal class of bundle: NSBundle </Library/Application Support/iStat local/extras/MenuCracker.menu> (loaded)
Mar 6 17:19:16 vostro200-sl SystemUIServer[114]: MenuCracker: Allowing "iStatMenusCPU".
Mar 6 17:19:16 vostro200-sl SystemUIServer[114]: MenuCracker: Allowing "iStatMenusNetwork".
-> System put to sleep here

Forced PWR OFF/ON to restart here ->
Mar 6 17:20:45 localhost com.apple.launchd[1]: *** launchd[1] has started up. ***
Mar 6 17:20:49 localhost DirectoryService[11]: Improper shutdown detected
Mar 6 17:20:58 localhost mDNSResponder[19]: mDNSResponder mDNSResponder-258.21 (May 26 2011 14:40:13) starting
Mar 6 17:20:58 localhost bootlog[56]: BOOT_TIME: 1362586836 0
Mar 6 17:20:59 localhost configd[15]: network configuration changed.
Mar 6 17:20:59 Vostro200-SL configd[15]: setting hostname to "Vostro200-SL.local"
Mar 6 17:20:59 Vostro200-SL com.apple.usbmuxd[38]: usbmuxd-296.4 on Dec 21 2012 at 16:11:14, running 64 bit
[...]



In DirectoryService.server.log, I see:
2013-03-06 17:18:43 CET - T[0x00007FFF709D7CC0] - DirectoryService 6.5 (v621.15) starting up...
2013-03-06 17:18:43 CET - T[0x00007FFF709D7CC0] - Detected 2 logical CPUs
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <Cache>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <Configure>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <Local>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <LDAPv3>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <Search>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x000000010058D000] - Plugin <BSD>, Version <6.5>, processed successfully.
2013-03-06 17:18:43 CET - T[0x0000000101981000] - Registered node /Configure
2013-03-06 17:18:43 CET - T[0x0000000101981000] - Plug-in Configure state is now active.
2013-03-06 17:18:43 CET - T[0x0000000101A87000] - Plug-in LDAPv3 state is now active.
2013-03-06 17:18:43 CET - T[0x0000000101B8D000] - Registered Locally Hosted Node /BSD/local
2013-03-06 17:18:43 CET - T[0x0000000101B8D000] - Registered node /BSD/local
2013-03-06 17:18:43 CET - T[0x0000000101B8D000] - Plug-in BSD state is now active.
2013-03-06 17:18:43 CET - T[0x0000000101A04000] - Registered Locally Hosted Node /Local/Default
2013-03-06 17:18:43 CET - T[0x0000000101A04000] - Registered node /Local/Default
2013-03-06 17:18:43 CET - T[0x0000000101A04000] - Plug-in Local state is now active.
2013-03-06 17:18:43 CET - T[0x0000000101B0A000] - Registered node /Search
2013-03-06 17:18:43 CET - T[0x0000000101B0A000] - Registered node /Search/Contacts
2013-03-06 17:18:43 CET - T[0x0000000101B0A000] - Registered node /Search/Network
2013-03-06 17:18:43 CET - T[0x0000000101B0A000] - Plug-in Search state is now active.
2013-03-06 17:18:43 CET - T[0x0000000100781000] - Database '/var/db/DirectoryService/flatfile.db' passed integrity check
2013-03-06 17:18:44 CET - T[0x0000000100487000] - Database '/var/db/dslocal/indices/Default/index' passed integrity check
2013-03-06 17:18:45 CET - T[0x0000000100781000] - Registered node /Cache
2013-03-06 17:18:45 CET - T[0x0000000100781000] - Plug-in Cache state is now active.
2013-03-06 17:18:45 CET - T[0x0000000100381000] - Listening for DirectoryService API mach messages
2013-03-06 17:18:45 CET - T[0x0000000100381000] - Listening for Libinfo API mach messages
2013-03-06 17:18:45 CET - T[0x0000000100381000] - Listening for Membership API mach messages
2013-03-06 17:18:45 CET - T[0x0000000101981000] - Successfully registered for Kernel identity service requests
2013-03-06 17:18:45 CET - T[0x000000010058D000] - Plugin "Active Directory", Version "6.5.1", is set to load lazily.
2013-03-06 17:18:45 CET - T[0x000000010058D000] - Plugin "PasswordServer", Version "6.1", is set to load lazily.
2013-03-06 17:18:49 CET - T[0x0000000100404000] - Network transition occurred.
2013-03-06 17:18:50 CET - T[0x0000000100404000] - Network transition occurred.
2013-03-06 17:19:04 CET - T[0x0000000100404000] - Network transition occurred.
2013-03-06 17:19:04 CET - T[0x0000000100404000] - Network transition occurred.
2013-03-06 17:19:40 CET - T[0x00007FFF709D7CC0] - Sleep Notification occurred.
2013-03-06 17:20:49 CET - T[0x00007FFF709D7CC0] -


See dmesg output below:
Attached File  Vostro200_dmesg.txt.zip   2.35KB   4 downloads

Edited by Hervé, 06 March 2013 - 04:53 PM.


#14
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
It seems you got some extension conflicts:
rm, v1.3.5: already have prelinked v1111.0.\
Refusing new kext com.apple.driver.AppleACPIButtons, v1.3.5: already have prelinked v1111.0.\
Refusing new kext net.osrom.kext.Disabler, v1.0.1: already have prelinked v1111.0.\
Refusing new kext com.EVOenabler, v1.0: already have prelinked v1111.0.\
Refusing new kext org.netkas.FakeSMC, v4.2: already have prelinked v1111.0.\
Refusing new kext com.tootoosoft.driver.Intel82566MM, v1.0d1: already have prelinked v1111.0.\
Refusing new kext org.mozodojo.IntelCPUMonitor, v1.0.1: already have prelinked v1111.0.\
Refusing new kext org.voodoo.driver.VoodooTSCSync, v1.1: already have prelinked v1111.0.\
Old kernel cache? Duplicates in /Extra & /S/L/E?

Is the video card running well? Apparently there is a framebuffer error present:
ATY,Sphyrna: Not usable\
ATY,Sphyrna: Not usable\

Brb

#15
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
The conflict messages are normal, that's a result of "overriding" /S/L/E kexts with other kexts in /E, myHack versioning those latter kexts at 1111 to ensure they're preferred over kexts from /S/L/E.

Graphics card working 100% yes, I don't know what that message means. I'm using an injector, maybe that's causing it.

Edited by Hervé, 06 March 2013 - 10:39 PM.


#16
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
From what I know it is better to keep all extensions in /S/L/E to avoid possible dependency issues.

You could try injecting the video properties via DSDT and see if it gets rid of the messages.

I haven't got any experience with other platforms than mine but is there any way you can use native power management with your system? As far as I know most workarounds have a great chance of breaking the sleep functionality.

Have you defined C/P-states for the CPU?

Try the attached DSDT, it has got some additional minor changes.
Attached File  DSDT_Vostro200.tar.gz   30KB   6 downloads

Now it's time to get some real sleep :P

Edited by k3nny, 07 March 2013 - 12:13 AM.


#17
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
There's no kext problems with the myHack method. It's well proven and that's what we use in combination with EDP at OSXLatitude.

I thought of injecting graphics properties in the DSDT indeed, but I'm not skilled enough to do that (yet)!

I'm not using any CPU power management kext, so I believe I'm currently running native power management. My Chameleon boot plist does use C/P-States as a consequence.

I'll try your DSDT version tonight and will let you know how it goes. Thanks.

#18
Hervé

Hervé

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 839 posts
  • Gender:Male
  • Location:Rennes, BZH of course!
No joy with your edits either K3nny... I even had a BIOS reset to default on restarting the computer

#19
k3nny

k3nny

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 560 posts
  • Gender:Male
I see, the error messages would still bug me, though.

The video injection is really easy compared to this.
You will most probably just need a new _DSM method in the right device with the device id and the same framebuffer name for each of the connectors.

The BIOS reset sounds like the famous RTC reset. It can be fixed with a patched AppleRTC.kext - in case you didn't hear about it yet.
I will note it as a sign of small progress :P

I mentioned power management because you use several extensions for the CPU. MacNB doesn't seem to use them if you look at post #27.
But again, I don't know the requirements for getting a C2D to work.
If the system can run without them though, we could rule out one possible error cause.

Edited by k3nny, 08 March 2013 - 12:03 AM.


#20
MacNB

MacNB

    InsanelyMac Protégé

  • Members
  • PipPip
  • 95 posts
  • Gender:Male
Wow...this is blast from the past :whistle:
I'll have to fire up that Dell 530..if I can find it :)

Herve, I saw your PM.

One key difference between your system and my 530 is that you are using a modded BIOS.
Any reason for that ?

I'll have to take a look at what I did with my DSDT and compare with yours....Please post your latest compiled dsdt.aml (not dsdt.dsl)

Can you please remind us what are the symptoms ?
You say it sleeps fine...but what happens when you wake the system ?

How are you waking the system ?

What USB devices are attached ?





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy