I have some questions about the original guide and DSDT patching techniques:
1. Should I use refs.txt all the time while decompiling? If I have decompiled the files w/o refs.txt and got them compiling resolving all the compilation errors by myself? Is it ok or it can cause some problems in the future?
The use of refs.txt can be useful in reducing the number of errors you need to fix.
2.
How can I move these External declarations so they follow other External declarations?
Select, cut, paste. Just like you'd move a paragraph after another paragraph in a word processor.
3. I have an error on line: And(Local0, 0x60). Should I fix it just commenting the line or adding one more argument like so: And(Local0, 0x60, Local0) ?
I tend to leave this code as the OEM wrote it. In that case, And(Local0,0x60) does nothing. So you can remove the code. If you changed it to And(Local0,0x60,Local0) you would then be doing something with Local0 that the original code didn't do.
Obviously, it is strange that the original programmer wrote a line of code that has no effect. Perhaps they meant to store the result of And into Local0, or perhaps they meant to store it into some other variable. How can we know? What we do know is that the code as written has no effect. And we know that the OEM tested the code to their satisfaction. And that's why I assume the code should be left as is... and in order to get it to compile, you remove the code.
If you found an issue with the code (eg. a demonstrable bug), you might be tempted to investigate and test the alternative.
4. Is this a correct fix?
There is a patch already in the repo for that. In the cases I looked at, MMTB is not defined anywhere, and this code never executes due to the conditions placed on it.
5.
It is better to use these patches by default not worrying that they can cause a problem?
You should read the comments in the patch to better answer your question... Or...to at least come up with better, more specific questions.
6. Can I apply more than one OS Fix patch?
Yes, but it would be rather unusual to do so. You can read the documentation on _OSI to understand more.
7.
How do I know what *USB*.kext am I using? What kext am I supposed to use? Which one is better?
Not sure what you're asking... Please be more specific.
8.
Can I use "Haswell LPC" patch together with "USB _PRW(0x6D) and Rename XHC to XHC1"?
Each patch solves an independent problem. They are not related in any way.
Can I use together "USB _PRW(0x6D) and Rename XHC to XHC1", "Haswell LPC" and "7-series/8-series USB"?
7-series/8-series USB is not needed with the _PRW patch, as the _PRW patch is a superset of it.
9. Can "Removing _DSM methods" cause any problems? It feels weird deleting a lot of code.
OS X will not use any of the _DSM methods as written. We remove them so we can add OS X specific _DSM methods without issue.
The reason I am asking those questions is that I can't get really rock stable El Capitan working on my Lenovo Yoga 2 13". Machine is going to sleep and waking normally, but sometimes two problems appear.
I. If I leave the notebook and it does something due to inactivity (swithing screen off, going to sleep), sometimes it is getting stuck on: black, switched off screen, fans working, no response if I try to wake it up. The only solution is to do hard shutdown by holding power button.
II. Sometimes the touchpad simply disconnects. The interesting thing is that the keyboard is still working. The most interesting thing is - if I connect my external wireless mouse I can move the cursor BUT the clocks aren't working.
I have attached a copy of my Clover folder w/o themes. Thank you.
Download patchmatic:
https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.
In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract
Note: It is easier if you use copy/paste instead of typing the commands manually.
Post contents of Downloads/RehabMan directory (as ZIP).
Also, post ioreg:
http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
Also, post EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory, especially if you have an overabundance of themes installed.
Also post output of:
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.