Jump to content

Wakeup Issues


Stabi
 Share

14 posts in this topic

Recommended Posts

Hi, 

 

I am running 10.10.3 on the hardware indicated in my signature and it is running mostly well. However, I am still having issues with sleep. S3 works most of the time, but I am having random reboots/kernel panics after wakeup sometimes. I noticed the other day, that my computer apparently panicked while going to sleep, that is, I heard the EFI initialisation beep and it then turned itself off. So falling asleep is apparently also an issue. 

 

I do unfortunately not really know enough about about DSDTs to debug mine. I have looked at the clover wiki to see which kinds of on-the-fly patching might help, but then again that was more fishing in the dark and I also don't really know if some patches could make it worse or not. 

 

It seems however that FixDarwin seems to improve the situation, but doesn't help completely. It might also do nothing though, and I just got lucky so far.

 

I am running Clover, have generated a SSDT (speedstep works correctly too) and added rampagedev's additional SSDT for my board. AppleLPC.kext is also loaded correctly. I'll attach a Darwin dump as well as my unpatched DSDT.

 

Any suggestions what I could do to stabilise this baby would be much appreciated. 

DSDT.zip

DarwinDumper_2.9.8_AMI_X64_3193_Yos_ck.zip

Link to comment
Share on other sites

Hi,

 

Applying the HPET patch might resolve your issue: 

#Maintained by: RehabMan for: Laptop Patches
#system_HPET.txt

# If you have panic "No HPETs available..." or have a abrubt restart
# after waking from sleep, you may need this patch.
# The patch makes sure the HPET device is always available.

# HPET fix to avoid AppleIntelCPUPowerManagement panic
into method label _STA parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 code_regex Name\s\(_STA\,\s+0x0F\) remove_matched;
into device name_hid PNP0103 insert
begin
Name (_STA, 0x0F)\n
end;

into method label _CRS parent_hid PNP0103 remove_entry;
into device name_hid PNP0103 insert
begin
Method (_CRS, 0, NotSerialized)\n
{\n
    Return (BUF0)\n
}\n
end;

  • Like 2
Link to comment
Share on other sites

Thanks, I will try to do that. I unfortunately ran into lots of syntax errors after decompiling my dumped DSDT (via iasl -da DSDT.aml SSDT*.aml).

 

They are all in the method _CRS. All are more or less repetitions of

Invalid character (0x3E), expecting ASL keyboard or name
syntax error, unexpected PARSEOP_ZERO, expecting '('
syntax error, unexpected '('
Object does not exist (BUF0)

As they're not the common kinds of errors that get addressed in tutorials, I do not really know what to do here. I attached the DSDT.dsl.

 

Is there by the way any principal difference between that HPET patch and what clover patches on-the-fly? Apart from the more permanent nature of it? Also, is there any way (or need) to resolve the remaining missing control methods that still remain (in my case 7)?

DSDT.dsl.zip

Link to comment
Share on other sites

Is there nobody who can help me with my DSDT issues? Should I move over to the DSDT forum with it?

 

Apart from that, I tried out the HPET patch that comes with clover, but it has not solved the issue. I still have random reboots after wake up. I would need some opinions on whether I should pursue the DSDT patching further or if I should look elsewhere for my problem. 

 

 

Link to comment
Share on other sites

Hi, 

 

thank you so much for your help. I loaded it up and will hopefully be able to report back whether it was successful or not in a couple of days.

 

Just one more question, because I like to understand things and not only be handed solutions ;) How come that when I decompile your patched DSDT and try to recompile it, it gives me hundreds of new errors (Mostly "Object does not exist ($object)" and the well known "Name already exists in scope")? Are those iasl shortcoming? Am I dumb and doing something wrong?

Link to comment
Share on other sites

Hi,

 

When using MacIASL, make sure you set the IASL version to 5.0 in the preferences of the program. 

The name already exists, might be that aisl adds the lines as external when decompiling, but it should not. 

 

To solve the issue, just remove the line at the top of the DSDT. 

For example: 

Name already exists in scope (TNOT)

Remove: 

External (TNOT, MethodObj)

Or something similar.

 

Object does not exist would be the other way around. 

Object does not exist (HDOS)

Add: 

External (HDOS, MethodObj)

Note: Just one of the few examples of how it can be done. 

 

It happens :P

  • Like 1
Link to comment
Share on other sites

Hi,

 

Unfortunately, it doesn't seem like the HPET was the issue. I could swear that the computer wakes a little faster, but that might just be my imagination. Irregardless, I encountered two crashes today. Again, it seems completely random if they occur or not. It often wakes up just fine.

 

Any other suggestions what I could try or take a look at? Just to make sure that I did not miss something blatantly obvious: I put the DSDT.aml file in EFI/CLOVER/ACPI/pachted and deactivated clover's dsdt patches to prevent interference. According to the boot log, it found and loaded it fine too. I attached the config.plist and the boot.log for reference, if that helps.

 

 

When using MacIASL, make sure you set the IASL version to 5.0 in the preferences of the program. 

The name already exists, might be that aisl adds the lines as external when decompiling, but it should not. 

Yes, I did that to no avail. However, I noticed that the IASL version that shipped with my MacIASL was two years old, and updating it from within the app didn't work. I therefore opened the app bundle and replaced it with an IASL version that I had previously installed via home-brew (20150205) and voilà, I am now only getting the "Name already exists in scope" errors instead. So that is nice for future changes and patches. Weirdly, the summary window now doesn't work and I have to use the log window to look at errors and warnings. I guess I will look into that at some point, maybe. 

bootlog.log.zip

config.plist.zip

Link to comment
Share on other sites

Hi,

 

Download RehabMan's branch, no autosave. Autosave can be an issue, when you open a file, make various changes, and need to go back more than 5 steps...

https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads

 

It has aisl from feb 2015 included i think.

 

In Clover, set drop OEM SSDT also. After a abrupt restart, save the system.log from the Console app, perhaps it gives some details about the issue. 

Link to comment
Share on other sites

Hi Lex,

 

thanks for the link to RehabMan's branch. I see it has a slightly lower version number (1.3 vs 1.5), but its bundled IASL works a lot better and there's even still an icon for the compile button (the little things ;])! That autosave feature was indeed annoying, also. So we're pretty good on that front. 

 

I will drop the OEM SSDT, no prob. Just for my understanding though: I thought that doing that is unnecessary if one drops individual CPU related tables of it. Then again, I don't really know what a standard SSDT contains except for infos about one's CPU.

 

When it comes to my crashes yesterday: I was unfortunately quite busy yesterday and didn't really spend much time on them because of that. The second one was weird though because the screen stayed blank and I had to boot in safe mode and repair the kernel cache afterwards. I dug into the archived logs at /var/log/ and didn't find much (except for a SIMBL plugin running amok, which was nice enough to find and solve I guess). I'll attach the panic report and that part of the log. I can unfortunately not find the first panic anymore, which is weird. But maybe my memory is just blurry.

 

Bottom line: I will do what you suggested, leave these logs in case there's something in them I missed, monitor it some more and come back with more logs when more problems occur. 

 

Thank you for your patient help, btw.

 

- Stabi

 

syslog_snippet.txt

Kernel_2015-04-28-160000_Hades.panic.txt

  • Like 1
Link to comment
Share on other sites

Hi Lex,

 

Just for my understanding though: I thought that doing that is unnecessary if one drops individual CPU related tables of it. Then again, I don't really know what a standard SSDT contains except for infos about one's CPU.

 

Got a point there. If the CPU codes are removed and an SSDT for that code has been generated, the other tables could stay. Some of them contain information about PCI devices. My notebook for example has 2 SSDT's where the graphic cards are defined, instead of the DSDT. (Example attached)

 

About the log, i did find any usefull information about the lines before the crash, except that hibernation mode could be set from 3 to 0. This will prevent writing the contents of the RAM to disk on sleep. 

 

But from what i read,  the crash happens random when working on the PC? Not when putting it to sleep or waking up? 

 

I made some minor modifications to the last DSDT-4.  IRQ/LPC/RTC/_WAK patches have been applied, warnings have been removed.

ssdt_example.aml.zip

DSDT-4.zip

Link to comment
Share on other sites

Thanks again. I will try your DSDT. 

 

Concerning the SSDT, I looked into the ones that clover dumped and identified the ones that contain some non CPU related stuff. In my case, they are SSDT-5 and 6, which have some definitions for PCI and SATA. I just put them into EFI/CLOVER/ACPI/patched and have clover load them up. That should result in the same result as dropping only CPU-related tables.

 

And no, my reboots do not occur during use. I wasn't clear there. I meant that it is completely random if my computer wakes up or not. It can wake up correctly 10 times in a row, only to then crash twice in a row the next time. I have had many days where all was fine and some sequences of days where I have 2-3 crashes a day.

 

Lastly, what makes you think I have hibernation turned on?

$ pmset -g

Active Profiles:
AC Power		-1*
Currently in use:
 standby              1
 Sleep On Power Button 1
 womp                 0
 autorestart          0
 hibernatefile        /var/vm/sleepimage
 darkwakes            0
 networkoversleep     0
 disksleep            10
 sleep                15 (sleep prevented by coreaudiod, iTunes)
 autopoweroffdelay    14400
 hibernatemode        0
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         10
 standbydelay         10800

Link to comment
Share on other sites

 Share

×
×
  • Create New...