Jump to content
arsradu

[HOW TO] Fix second stage boot logo and loading bar for some dedicated desktop video cards

389 posts in this topic

Recommended Posts

Hey guys,

This is a tutorial on how to fix (or at least try to fix) the second stage boot, when you're having these issues: missing logo and loading bar being displayed on the bottom left corner of the screen.

 

Might or might not work for other issues. So proceed with caution.

This is an issue that I experienced starting with early stages of development in Yosemite. Still continued in El Capitan. So this thread is primarily for these two versions of Mac OS X. Not sure it will work on earlier versions, cause I never tried it. So far it worked in Yosemite, El Capitan and Sierra.

Please, note that I did not test this on all video cards. So it might or might not work, depending on that. Don't take this as a final solution for everything. Also, I'm pretty sure this won't work with iGPUs. So I would strongly suggest to look around for solutions if that's your case.

This tutorial is not for multiple display setups! Please, don't use it for that! Especially not in iGPU + dedicated GPU combos.
 

Known issue: if you're using the auto-login feature, try to disable it and use the regular login screen. Otherwise you won't get the second stage boot (confirmed as fixed in Sierra).

 

This tutorial would have not been possible without the help and insight of:
Pike R. Alpha
cecekpawon
Mirone
Riley Freeman
 
So all the credit goes to them. I just put this together based on my successes and failures.

Succesfully tested with:
 
NVidia cards:

  • GeForce 210
  • GT 640
  • GTX 650
  • GTX 660
  • GTX 670 Superclocked+ 4GB - works partially (ok for 1080p, with CSM disabled, but no second stage in higher resolutions)
  • GTX 750 Ti - works partially (ok for 1080p, but no Apple logo for second stage in higher resolutions)
  • GTX 760
  • GTX 780
  • GTX 960
  • GTX 970 - works partially (ok for 1080p, and 1440p with CSM disabled, but no second stage in higher resolutions)

ATI cards:

Might work on other graphic cards, as well. But these are the ones that worked so far. Please, share if you got good results with another video card.

Also, the same thing can be achieved by modding your DSDT. Unfortunately this thread does not make the object of that method, nor am I able to help you with that, since I really have no idea how to mod a DSDT, so far. Also, to be honest, this method seems a bit easier.

Nonetheless, try this at your own risk! I'm not responsible for any damage that you might cause to your computer/components etc.
Also, please, note that this tutorial is not perfect. I'm doing my best to make it as easy to understand as possible. Also, I'm opened to suggestions and I'm doing my best to improve this in the future. Still, it's not perfect. So keep that in mind. Suggestions are appreciated though.

Please, note that, if you've got a video card with GOP UEFI Bios, you most likely don't need this tutorial in the first place. All you need is to disable CSM in BIOS (motherboard dependent). Note that, by doing this, only GPT drives will be loaded. So if you've got Windows installed on another drive, for example, you won't be able to select it anymore, if it's installed in "legacy" mode.


With that being said, let's get to work. :)

Prerequisites:

Mandatory:

  • a computer running Mac OS X Yosemite or newer
  • Clover bootloader (changes are gonna be saved to the config.plist file)
  • IORegistryExplorer v 2.1 (attached)
  • gfxutil (attached)
  • gfx_hex (attached) - script credit to cecekpawon

Optional:

  • Sublime Text Editor
  • Clover Configurator
  • a Windows PC for reading the graphic card's VBios version. So far, I couldn't find a way to do it from OS X. But if you know how to do it, please, share. I'll update this accordingly. An alternative (though not really the same thing) is this.
  • an USB installer might come in handy, so keep one close by.

Extra:

  • If you want to try the modded Bootx64.efi (rev 3279), thanks to cecekpawon, featuring an option to easily enable/disable string injection in Clover (in case you're stuck outside your OS, and don't have a USB drive or something else to boot from), click here to get it. Please, note that this revision might not work with newer versions of OS X/macOS.
    You will need to replace the one in your EFI/EFI/CLOVER folder. If you want to revert to the previous one, you can either reinstall Clover, or make a backup of your current one before replacing it.

I would recommend creating a single folder with all the necessary files and tools and putting it on your Desktop, just to have all the needed things in one place.

Note: If you use a custom SSDT/DSDT, I would try first without it, and using Clover's patches instead, so that you minimize the risk for failure due to custom DSDTs. I don't use a custom DSDT, didn't test in collaboration with a custom DSDT, so I don't know if it will work. If you wanna try it this way, I would love to know your results.

What to do:

Step 1 (establishing the port):

Open up your IOreg file (or just open IORegistryExplorer if you don't want to save it as a separate file), and search for "display".

You should see something like this:

post-1303722-0-18242900-1444055080_thumb.png

Now, depending on your card, you might have more or less ports. The important thing is to note the one that has the AppleDisplay attached to it. In this example, the second port (B@1) is the one in use. So that's the one we need to set as default. Please, note that they start at 0, so first port is A@0, the second one is B@1 and so on so forth.

Step 2 (extracting device-properties.hex):

Open up a terminal window, navigate to the desktop folder you're using, and do this (make sure gfxutil is present into that folder):

ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > "device-properties.hex" && ./gfxutil -s -n -i hex -o xml "device-properties.hex" "device-properties.xml"

This will extract two new files into that folder: device-properties.hex and device-properties.xml

Step 3 (modding the device-properties.xml):

Open up the xml file using any text editor (I'm gonna use Sublime here) and ADD the number of ports you need for your card (the same number of ports, with the same name as in the IOreg) and the rest of the information, as described in the example below (use the attached xml as reference):

post-1303722-0-46844400-1445715282_thumb.png

Don't forget that the first port is port 0!

In this example, we're using an MSi GTX 650 OC with 2GB of RAM, which has 3 ports, and we want to set as default port #2 (B@1).
Attached you can find my device-properties.xml file, if you wanna use it as reference.

The first section will set port B@1 as default. Change this according to your case.

<!-- Primary display -->
<key>@1,AAPL,boot-display</key>
<string>0x00000001</string>

Whereas on the bottom you can see regular values. Here we can set the amount of VRAM, the name of the card and the VBios version.
 

<key>VRAM,totalMB</key>
<string>0x00000800</string> // for 2048 MB or 2 GB of RAM
<key>device_type</key>
<string>NVDA,Parent</string>
<key>model</key>
<string>MSi GeForce GTX 650</string> // Name of your card
<key>rom-revision</key>
<string>80.07.35.00.04</string> //VBIOS version

In my experience, these values are rather cosmetic than anything else. For an accurate version of your VBios, you can use either the Nvidia driver on Windows, or any hardware information software like GPU-Z, aida64 or nvflash.
 
Here's a little table with hex values for different amounts of RAM. If you need other values than the ones specified in this table, please, ask. Also, if you spot a mistake, let me know so I can correct it.
 
Amount of memory  Hex value
128 MB                      0x00000080
256 MB                      0x00000100
512 MB                      0x00000200
1024 MB (1 GB)        0x00000400
2048 MB (2 GB)        0x00000800
3072 MB (3 GB)        0x00000C00
4096 MB (4 GB)        0x00001000
5120 MB (5 GB)        0x00001400
6144 MB (6 GB)        0x00001800
7168 MB (7 GB)        0x00001C00
8192 MB (8 GB)        0x00002000
9216 MB (9 GB)        0x00002400
10240 MB (10 GB)    0x00002800
11264 MB (11 GB)    0x00002C00
12288 MB (12 GB)    0x00003000
13312 MB (13 GB)    0x00003400
14336 MB (14 GB)    0x00003800
15360 MB (15 GB)    0x00003C00
16384 MB (16 GB)    0x00004000
 
Once we're done modding, we're gonna save the changes and convert the xml file back into hex, using this command:

./gfxutil -i xml -o hex device-properties.xml device-properties.hex

Step 4 (reading the modded hex):

Unpack gfx_hex (attached) file into your working directory and double click to run it.
 
It should output the content of your modded hex into a terminal window, and it should look something like this:
 
post-1303722-0-85170500-1444154243_thumb.png
 
Select and copy that code. After that, open up Clover Configurator and paste that hex code in Devices -> Properties section (see below) and check the box for Inject. You can also add this manually into the config.plist file, if that's more of your thing.

post-1303722-0-50532800-1444057472_thumb.png

Step 5 (setting up final arrangements):

We're almost done. But, if your experience is the same as mine, at this point you only got the loading bar back centered. Which, of course is a step forward. But we're not quite there yet.

So, to add the logo as well, we will check the boxes for Patch VBios and Inject EDID in Clover Configurator (Graphics section). You can inject your own EDID if you have one. Though, in my experience, Clover does a really good job in adding the correct one itself. So you don't really need to add a custom EDID. Just to use Clover's InjectEDID feature.

post-1303722-0-91610300-1444057617_thumb.png

Also, in my experience, you don't need CsmVideoDrv.efi for this to work. And I've got pretty similar results with and without it. So, if you have issues with it, you can try without it, and vice-versa.

When it's all done, save the changes to your config.

Now, I would highly recommend you to make a backup of your current config.plist from EFI/EFI/Clover/config.plist anywhere you want. You might need it later.

When that's done too, replace the config.plist in your Clover folder with the one you just modded, and restart.

Keep your fingers crossed (toes too). And hope for the best. If everything ok, you should have a pretty close to perfect second stage boot. If not, you might have nothing or an unbootable system.

To fix this, boot from your USB installer, or use boot flag nv_disable=1 (for Nvidia cards), upon booting, and revert the changes. Or, if you already know where is the problem, fix that and restart.

That's it.

Please, let me know if it worked for you.

gfx_hex.zip

IORegistryExplorer.app.zip

gfxutil.zip

device-properties.xml

Share this post


Link to post
Share on other sites
Advertisement

Great guide mate!!! I was going to pm you to ask for help on this exact matter... Kudos!!  :thanks_speechbubble:  :thanks_speechbubble:

Share this post


Link to post
Share on other sites

Great guide mate!!! I was going to pm you to ask for help on this exact matter... Kudos!!  :thanks_speechbubble:  :thanks_speechbubble:

You're welcome.

 

If there's anything that's not clear enough or if you have any suggestions to make this tutorial clearer/better, please, don't hesitate to tell me and I'll see what I can do. :)

Share this post


Link to post
Share on other sites

Hi arsadu

great guide, very detailed!

would you mind testing something?

instead of this patch,

can you try this 3 settings in clover:

I think the result might be the same. Although I don't see anything related to Patch VBios. Which is needed to get the logo back (or at least it was in my case).

 

Nonetheless, I'll try this, and update this post when done. :)

 

UPDATE:

post-1303722-0-56151500-1444063873_thumb.png post-1303722-0-75926300-1444063885_thumb.png post-1303722-0-19369900-1444063898_thumb.png

 

With this configuration, and with or without Patch VBios and Inject EDID, I got the old issue back: no logo and loading bar on the bottom left corner. Without PatchVBios and Inject EDID I also got the first stage boot resolution higher than it should be. :)

Share this post


Link to post
Share on other sites

So I enabled patch vbios and inject edid turned off verbose boot and rebooted. then my motherboard died, I blame this thread. Had to run out and buy a new one...typing from it now, that is all. asus z97-a I was running pci and integrated gfx at the same time. now  on z97-e but no usb3.1 support in 10.11 oh well.

Share this post


Link to post
Share on other sites

So I enabled patch vbios and inject edid turned off verbose boot and rebooted. then my motherboard died, I blame this thread. Had to run out and buy a new one...typing from it now, that is all. asus z97-a I was running pci and integrated gfx at the same time. now on z97-e but no usb3.1 support in 10.11 oh well.

I don't see how patching the video bios could damage the motherboard. Were you running dual monitors? How exactly were you running two graphic sources at the same time?

Nonetheless, I'm sorry about your motherboard. I still don't know how could this thread contribute to that, but I feel obligated to remind you what I wrote above:

1. I am not responsible for any damage that you might do to your hardware

2. This has not been tested on all video cards and under all circumstances.

So you're doing it at your own risk.

 

Could you please tell me which dedicated graphics card are you using?

Share this post


Link to post
Share on other sites

Added more option to en/disable EFI Strings injection for your risk free if you want to, BOOTX64.efi rev 3279

 

GTCKdlV.jpg

 

Dump device-properties

ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > "device-properties.hex" && ./gfxutil -s -n -i hex -o xml "device-properties.hex" "device-properties.xml"

Small util to show gfx hex (place in same directory with "gfxutil" & "device-properties.xml") for easy to copy & paste into config.plist. Save as "gfx.command" & chmod +x:

#!/bin/bash

cd "`dirname "$0"`"
./gfxutil -i xml -o hex "device-properties.xml" "device-properties.hex"
cat <<EOF
---
`cat device-properties.hex`
---
EOF

VRAM values table would be nice too, 0x40000000 = 1024 | 0x80000000 = 2048 | etc : )))

Edited by cecekpawon

Share this post


Link to post
Share on other sites

Added more option to en/disable EFI Strings injection for your risk free if you want to, BOOTX64.efi rev 3279

 

GTCKdlV.jpg

 

Cool, but what exactly does this do? Also, will you be able to do it for newer Clover versions (like 3280 now), in case people want it?

 

Dump device-properties

ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > "device-properties.hex" && ./gfxutil -s -n -i hex -o xml "device-properties.hex" "device-properties.xml"

 

I'll add this to the thread. Thank you. So with this, the user doesn't need to use DarwinDumper anymore to extract the device-properties.hex file, since the command automatically outputs both the hex and the xml files in the same folder. Nice!

 

Small util to show gfx hex (place in same directory with "gfxutil" & "device-properties.xml") for easy to copy & paste into config.plist. Save as "gfx.command" & chmod +x:

#!/bin/bash

cd `dirname $0`
./gfxutil -i xml -o hex "device-properties.xml" "device-properties.hex"
cat <<EOF
---
`cat device-properties.hex`
---
EOF
VRAM values table would be nice too, 0x40000000 = 1024 | 0x80000000 = 2048 | etc : )))

 

 

Ok, I'll add this, as well. So with this we don't need HexEdit anymore. :) Interesting.

 

I'll also add a little table or something close to that (though I'm still not sure this forum supports tables). I guess I could do it in xls and take a screenshot of it.

 

Thank you! :)

Share this post


Link to post
Share on other sites

I don't see how patching the video bios could damage the motherboard. Were you running dual monitors? How exactly were you running two graphic sources at the same time?

Nonetheless, I'm sorry about your motherboard. I still don't know how could this thread contribute to that, but I feel obligated to remind you what I wrote above:

1. I am not responsible for any damage that you might do to your hardware

2. This has not been tested on all video cards and under all circumstances.

So you're doing it at your own risk.

 

Could you please tell me which dedicated graphics card are you using?

 

Running triple display with dvi+hdmi on gtx970, and hdmi on hd4600. After setting patch vbios and inject edid I did reboot, and it froze at the login prompt. after rebooting it wouldn't even post, just rebooting over and over. This is what I get for trying to fix something that isn't broken. Off to fill out some RMA forms!

 

Also if I disable verbose boot I get the loading screen just fine, so I'm pretty sure I did this for no reason other than to destroy stuff.

Share this post


Link to post
Share on other sites

Running triple display with dvi+hdmi on gtx970, and hdmi on hd4600. After setting patch vbios and inject edid I did reboot, and it froze at the login prompt. after rebooting it wouldn't even post, just rebooting over and over. This is what I get for trying to fix something that isn't broken. Off to fill out some RMA forms!

 

Also if I disable verbose boot I get the loading screen just fine, so I'm pretty sure I did this for no reason other than to destroy stuff.

Did you try booting from a USB installer?

 

This tutorial is not for multiple display setups. I will add this to the thread. You are adding the default display port. This doesn't even consider the possibility of a multiple display setup. Also, I did mention it's not for iGPUs.

Share this post


Link to post
Share on other sites

Cool, but what exactly does this do? Also, will you be able to do it for newer Clover versions (like 3280 now), in case people want it?

 

To en/disable inject if something goes wrong (ex: failed to boot / screwed display) when playing with those efi / properties strings.. fully optional

<key>Devices</key>
<dict>
  <key>Inject</key>
  <true/>
  <key>Properties</key>
  <string>...</string>
</dict>

Share this post


Link to post
Share on other sites

Works here @0, thanks 

 

edit: that was with minimal DSDT edit, RADEON_FB @0,AAPL,boot-display

with full DSDT edit, FUTOMAKI_FB, had to change it to @2,AAPL,boot-display

You're welcome! Glad it worked.

 

So you have a Sapphire Toxic R9 270, right? This would be the first ATI card tested so far. :)) So, you've got the same issue (no second stage boot logo and loading bar in the bottom left corner of the screen)? Just trying to understand if this tutorial only works for this specific issue or can do other things as well.

 

Also, since I'm no expert with ATI cards, could you describe a little bit what did you do, in case other people want to get their ATI cards fixed, as well? I would be glad to point to your post, as reference, if you would be kind enough to do that. Or if you want, I can add it to the initial post.

 

Also, does this work only with Clover DSDT patches? Did you try it? I mean...I see no reason why it wouldn't work but just making sure. I'm trying to keep this thread as close to minimal edits as possible. And adding DSDT editing here is not quite part of my plans. :D Not that I wouldn't love to learn more about that. But I find it a tad more complicated than this.

Share this post


Link to post
Share on other sites

To en/disable inject if something goes wrong (ex: failed to boot / screwed display) when playing with those efi / properties strings.. fully optional

<key>Devices</key>
<dict>
  <key>Inject</key>
  <true/>
  <key>Properties</key>
  <string>...</string>
</dict>

 

Could you please, try the attached script on your computer?

 

I can't seem to get it to work.

 

It always says: "./gfxutil: No such file or directory"

 

gfxutil is, of course, present in that directory. Along with device-properties hex and xml. So I'm not really sure what's wrong.

gfx.zip

Share this post


Link to post
Share on other sites

- cd to your working dir (with gfxutil there)

 

- OR -

 

- save as "gfx.command" in gfxutil & "device-properties.xml" directory

- chmod +x "gfx.command"

- double click to execute

Share this post


Link to post
Share on other sites

- cd to your working dir (with gfxutil there)

 

- OR -

 

- save as "gfx.command" in gfxutil & "device-properties.xml" directory

- chmod +x "gfx.command"

- double click to execute

Apparently it can't run from the working directory. Be it a simple gfx executable file or gfx.command file. Actually I couldn't find any difference between the two approaches. Is there any actual difference between these two? At least in this context?  :)

 

Now, it does however work if you're cd-ing into the working directory and running the executable from there. I'm just not sure why it doesn't do that when you're launching it from the directory itself.

 

Launching with double-click (which is what I would like to achieve):

post-1303722-0-94877900-1444113902_thumb.png

 

Launching by browsing into the working directory and ./ from there:

post-1303722-0-09148200-1444113961_thumb.png

 

Maybe the way I'm making the script is wrong...

 

I'm doing

cd [directory path]
pico gfx.command

[paste the content here]

 

CTRL+X to exit. ENTER to save the name

 

Then

chmod +x "gfx.command" \\ (with or without quotes seems to be the same)

And double click to execute.

gfx.command.zip

Share this post


Link to post
Share on other sites

Sorry @arsradu, edited my post please review.. Problem was path with "space" : "GFX test", fixed by quoting them

 

Both ways are basically the same, please do not confuse, do whatever you like: direct from terminal / by double clicking it 

Share this post


Link to post
Share on other sites

I have to chime in this one with the note that it was I who discovered that you need @1,AAPL,boot-display... feel free to verify this in the other Apple logo related thread.

Is that the only variable that affect the 2nd stage boot?

Share this post


Link to post
Share on other sites

I have to chime in this one with the note that it was I who discovered that you need @1,AAPL,boot-display... feel free to verify this in the other Apple logo related thread.

 

I take it that modesty is not your strong suit. :P However, I am a guy who considers that credit should be given where credit is due. And, with this, I also want to thank you for your help and insight in this. It's definitely helping. Also, just so you know, skipping you from the credits list was nowhere near my intentions. :) I was just not aware of the origin of the idea/research.

 

So, again, thank you. And I just added you to the list of people that contributed with very good ideas/research on getting this issue fixed.

 

Hope it's ok now.

Share this post


Link to post
Share on other sites

 

So my name should be
added to that list does not it?
 

 

 

Of course! 

 

Anyone else wants his name on the first page of this thread? :P I'm feeling generous today.

 

Joking. I will add the names of the ones that contributed to this. I feel like it's the right thing to do. I hope the list doesn't get longer than the thread itself though...

Edited by Micky1979

Share this post


Link to post
Share on other sites

One of the last mysteries is screen flash before last stage, real mac saw the same problem too? Who can figured it out?

Yeah, this is an issue with hackintosh desktops... Laptops seems seems to be ok, for some reason.

 

And I don't think real macs (as in Mac Pros or iMacs) have this issue... I might be wrong though. I will check it out today, if I have a bit of time.

 

Update: on an iMac 27" late 2010, running Yosemite (10.10.4), the boot process is identical! Meaning WITH that gap between first stage and second stage. It might be faster and less noticeable on SSDs. But I think the HDD might play some role in the transition speed between the two stages.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell     Skylake, Kabylake and Coffeelake is here http://www.insanelymac.com/forum/topic/321872-guide-sierra-on-gigabyte-mobos-serie-200-kabylake-dsdt/   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
        Mojave Full DSDT patch   http://olarila.com/forum/viewtopic.php?f=59&amp;t=6428   First...   ***Update bios to last available version!***   If you need a full patched DSDT...  -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation   --Create a bootable copy of macOS Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder https://olarila.com/files/Clover.Folder/CLOVER.SERIES.CHIPSET.zip   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   https://olarila.com/forum/viewtopic.php?f=28&t=8222   --Reboot and activate video!   Bingo!   Now you need a fine tune! DSDT time!   --DSDT   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI
       
      --Power Management
      - 1 Generation Intel Processors, use Generate P and C States in config.plist
      - 2 and 3 Generations Intel Processors, Generate SSDT with Piker script and drop CpuPm and Cpu0Ist SSDTs
      ssdtPRGen.command.zip
      Credits-https://github.com/Piker-Alpha/ssdtPRGen.sh
      - 4 Generation+ Intel Processors, use PluginType=1 in DSDT, SSDT or Clover config.plist
       
      for check Power, Frequency, Temperature and Utilization, use it
       
      Install Intel Power Gadget.pkg.zip
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --Clover
       
      https://sourceforge.net/projects/cloverefiboot/files/Installer/
       
      --AUDIO
       
      Use DSDT + AppleAlc
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/314406-voodoohda-289/   -USB   https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   It's time to Rock   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Apple, Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!  
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
        First... If you need DSDT edits... -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation --Create a bootable copy of El Capitan /  Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder   https://olarila.com/files/Clover.Folder/CLOVER.LGA775.zip   --Install EL Capitan / Sierra / High Sierra and boot into system!     Post Installation   --Install Clover and replace with my folder   https://olarila.com/forum/viewtopic.php?f=28&t=8222     --Reboot and activate video!   Bingo! Now you need a fine tune! DSDT Time!   My DSDT GA P35-DS3   DSDT.MaLd0n.zip     Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DARWIN -LPC -HDEF -RTC -EHCI -UHCI -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -EC -PNLF --Native Power Management
       
      Use Clover, check Generate P and C States
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --AUDIO
       
      Device HDEF + AppleAlc + Lilu
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/293863-applehda-patch-requests/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By ludufre
      New guide available for macOS Catalina 10.15 (i3 and i5 versions)!
       
       
      Installing macOS High Sierra 10.13.2 on ASUS VivoBook S400C (also know as S400CA)
      Specifically in S400CA-CA178H model, most likely all other models are compatible
       

       

      Updates:

      12/20/2017 04:41h GMT-0
      - Added config.plist.
      - Added USBs.kext to replace FakePCIID.kext, FakePCIID_XHCIMux.kext and USBInjectAll.kext.

      12/11/2017 20:26h GMT-0
       
      - Added update instructions.
       
      - I use SSD. I set the guide for HDD too. Small change.

      11/29/2017 01:10h GMT-0
       
      - Added USB 3.0 Kexts
       
      - Bonus: Touchscreen now works.

      11/29/2017 00:18h GMT-0
       
      - Added HDMI audio patch to Clover

      11/24/2017 00:16h GMT-0
       
       
      - Complete rewritten.
       

      What works and what does not work
       
      - Processor ->  Work. All SpeedStep stages.
      - Video Card ->  Work. HD4000. Full QE/CI.
      - Chipset ->  Work.
      - HDMI ->  Work. Audio too.
      - VGA ->  Not work.
      - Audio ->  Work.
      - WiFi ->  Not work. Need to be replaced.
      - Ethernet->  Work.
      - Keyboard and touchpad ->  Work.
      - FN keyboards keys ->  Work.
      - Brightness control ->  Work.
      - Touchscreen ->  Work.
      - Sleep ->  Work.
      - Battery ->  Work.
      - Card Reader -> Not tested yet. (TODO)
      - Integrated Camera ->  Work.
      - Bluetooth ->  Not work.
      - 2nd stage boot logo ->  Not work.


      What you need to install

      - Running install of macOS on VMware -> Downloaded version 10.13 via torrent (search by "10.13 vmware" torrent). You can use a real Mac of an friend. My method only tested on Mavericks (10.9) and above.
      - One USB flash drive of 8GB or bigger.
      - macOS High Sierra install app -> Downloaded via App Store inside the virtual machine. Downloaded version 10.13.2.
      - CloverEFI -> Also download inside the virtual machine. I used build 4334.
      - DSDT patch skills -> Needed to battery works. How to patch DSDT. Or you can download mine DSDT below, but would not recommend.


      How create the install disk
       
      Prepare flash drive:

      Format the disk with GUID partition mapping and name it "Install".

      - Open Disk Utility.
      - Click in View, then "Show All Devices".
      - Select the destination flash drive, then Erase.
      - Name: Install, Format: Mac OS Extended (Journaled) and Scheme: GUID Partition Map

      If the Erase popup in Disk Utility don't work. Close it and run this in terminal:
       
       
      diskutil eraseDisk JHFS+ Install /dev/diskX X is the number of the destination disk. Use "diskutil list" to discover.

      Create install files in flash drive:

      Open terminal and run this command:
       
      sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction This will take about 30 minutes.

      Install bootloader:

      You need to format the EFI partition of the install flash drive to FAT32:
       
      sudo newfs_msdos -v EFI /dev/diskXs1 X is the number of the disk. Use "diskutil list" to discover.
       
      Download the CloverEFI (used 4334) and install with this options on "Install macOS High Sierra":



      Options:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64

      Adjust the config.plist genereated:

      Will be created a partition named EFI. Edit the /EFI/CLOVER/config.plist inside this new partition and change those values:

      - Alter value: GUI - ScreenResolution to 1366x768
      - Rename key: Graphics - #Inject -> Inject
      - Alter value: Graphics - Inject - ATI - FALSE
      - Alter value: Graphics - Inject - Intel - TRUE
      - Rename key: Graphics - #ig-platform-id -> ig-platform-id
      - Alter value: Graphics - ig-platform-id to 0x01660003
      - Alter value: KernelAndKextPatches - AppleIntelCPUPM to TRUE
      - Rename key: #KextsToPatch -> KextsToPatch
      - Remove all <dict>...</dict> in <array> inside KextsToPatch
      - Add <dict/> bellow in <array> inside KextsToPatch:
       
      <dict> <key>Comment</key> <string>HD 4000 brightness fix</string> <key>Disabled</key> <false/> <key>Find</key> <data> EAcAABAHAAA= </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> EhMAABITAAA= </data> </dict>  
      P.s.: I will provide below my config.plist as attachment.
       
      Add essentials Kexts:

      Download those Kexts and put in /EFI/CLOVER/kexts/10.13/
       
      - Download the Smart Touchpad kext from here. I used the version 4.7 beta 5.
      - Download the HWSensors dmg and use the FakeSMC.kext from inside. I used the version 6.26.1440. This is very important. Can't boot without it.

      Put the Clover installer on the flash drive too.
       
      Now you can start the instalation without problem (I guess).
       
       
      BIOS Setup Configuration and Installation

      Bios configuration:
       
      - Shutdown the ultrabook and insert the flash drive on the left side on upper port (on the side Keystone hole).
      - Power on with F2 pressed to enter BIOS setup.
      - Go to "Save & Exit" and press "Restore Defaults".
      - Go to "Advanced" tab and change VT-d to Disabled.
      - Go to "Save & Exit" again and select "Save Changes and Exit".
      - When ASUS logo appear, press and hold ESC to enter Boot Menu.
      - Select the flash drive named with UEFI prefix. In my case "UEFI: KingstonDataTraveler 2.0PMAP".
      - The clover menu will show. Use the arrow keys to mark the flash drive. The option name is "Boot OS X Install from Install macOS High Sierra", then press Enter.
      - If you did everything correctly, you will see the installation screen.
      BUG Note: I delete all entries from the list. With that, I could not add anything else. It just didn't work. I had to put some USB device so the list is not empty, so I can add a new entry. Strange thing...

      Format destination disk:

      Format the disk with GUID partition mapping and name it "HD".

      - Select Disk Utility in the list, then press Continue.
      - Click in View, then "Show All Devices".
      - Select the destination Disk, then Erase.
      - Name: HD, Format: Mac OS Extended (Journaled) and Scheme: GUID Partition Map

      If the Erase popup in Disk Utility don't work. Close it and run this in terminal:
       
      diskutil eraseDisk JHFS+ HD /dev/diskX X is the number of the destination disk. Use "diskutil list" to discover.

      Close Disk Utility.

      If the destination is SSD: Start installation without APFS conversion:

      Open Terminal and run:
       
      /Volumes/Image\ Volume/Install\ macOS\ High\ Sierra.app/Contents/Resources/startosinstall --volume /Volumes/HD --converttoapfs NO --agreetolicense This will take about 20 minutes.

      If the destination is HDD: Start installation normally:

      Select "Install macOS", then Continue.
      Follow instructions in screen.

      After install:

      After first part install the system will reboot.

      In Clover main menu, press enter in "Boot macOS Install from Install macOS High Sierra" once again

      The second part of the installation will begin. This will take 16 minutes.
       

      Post installation

      Install bootloader:
       
      When the second part of install finish, the system will reboot again.

      After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.

      Open the Clover installer inside flash drive that you copied before.

      Use same options above but choose the system partition this time.

      Now you need to replace the EFI folder inside your internal disk EFI parittion with EFI folder inside flash card EFI partition.

      The flash drive EFI partition is unmounted. Mount with "diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.

      Add Clover entry to UEFI:

      Now remove flash drive and restart the system. With F2 pressed to enter UEFI BIOS.

      - Go to "Boot" and press "Add New Boot Option".
      - Select "Add boot option", write CLOVER and press Enter.
      - In "Select Filesystem", choose the option that contains "HD". Like "PCI(1F|2)\DevicePath(Type 3, SubType 12)HD(Part1,Sig2a0127c1-ea5d-44d3-8967-57e59c1f0e3b)".
      - Select "Path for boot option", write EFI\BOOT\BOOTX64.efi and press Enter.
      - Select "Create" and press enter.
      - Go to "Save & Exit" and select "Save Changes and Exit".

      Others Kexts:
       
      I strongly recommend always use newest versions. If you are too lazy, I attach on end of the post.
       
      Ethernet: AtherosE2200Ethernet 2.2.2
      Sound: VoodooHDA 2.9.0d10 (.kext only)
       
      You need to select the output there in System Preferences after reboot.
      Battery: ACPIBatteryManager by RehabMan (version 2017-1001). You need to path DSDT (below).
      Integrated Camera: AnyiSightCam
      USB 3.0 + Touchscreen: Attached USBs.kext below
       
      All kexts will placed inside /EFI/CLOVER/kexts/10.13/, mount again this partition (diskutil mount rdiskXs1) for it.
       
       
      Fine Adjustiment
       
      Enable FN keys
      Open "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist":
      - Alter value: Fn keys Layout to ASUS
      - Alter value: Fn keys Mode to 3
      - Alter value: Preferences - Swap alt and windows key to false

      Sleep work, but Hibernate not. Disable it:
       
       
      sudo pmset -a hibernatemode 0 HDMI Audio
      Add <dict/>'s bellow in <array> inside KextsToPatch, in config.plist:
       
      <dict> <key>Comment</key> <string>HDMI-audio HD4000 0x01660003, port 0406</string> <key>Find</key> <data>BAYAAAAEAACBAAAA</data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data>BAYAAAAIAAAGAAAA</data> </dict> <dict> <key>Comment</key> <string>HDMI-audio HD4000 0x01660003, port 0304</string> <key>Find</key> <data>AwQAAAAEAACBAAAA</data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data>AwQAAAAIAAAGAAAA</data> </dict> <dict> <key>Comment</key> <string>HDMI-audio HD4000 0x01660003, port 0205</string> <key>Find</key> <data>AgUAAAAEAAAHBAAA</data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data>AgUAAAAIAAAGAAAA</data> </dict> DSDT Patchs
       
      First of all, extract your system DSDT.aml pressioning F4 on Clover boot menu. Will be stored in /EFI/CLOVER/ACPI/origin.
      Copy to /EFI/CLOVER/ACPI/patched and apply following patchs using MaciASL:
       
      Battery (ASUS N55LS/Vivobook)
       
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Fix Sleep issues caused by USBs

      [usb] 7-series/8-series USB
       
      #Maintained by: RehabMan for: Laptop Patches #usb_USB_7-series.txt # USB property injection for 7-series boards (originally HM76) # Insert Apple USB properties into EHC1 into method label _DSM parent_adr 0x001D0000 remove_entry; into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "AAPL,clock-id", Buffer() { 0x01 },\n "built-in", Buffer() { 0x00 },\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; # Insert Apple USB properties into EHC2 into method label _DSM parent_adr 0x001A0000 remove_entry; into device name_adr 0x001A0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "AAPL,clock-id", Buffer() { 0x01 },\n "built-in", Buffer() { 0x00 },\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; # Insert Apple USB properties into USB 3.0 XHC into method label _DSM parent_adr 0x00140000 remove_entry; into device name_adr 0x00140000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "AAPL,clock-id", Buffer() { 0x02 },\n "built-in", Buffer() { 0x00 },\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; [usb] USB3 _PRW 0x0D (instant wake)
       
      #Maintained by: RehabMan for: Laptop Patches #usb_prw_0x0d_xhc.txt # remove _PRW methods to prevent instant wake # delete any existing XHC1 device into device label XHC1 name_adr 0x00140000 remove_entry; # delete any existing USB2 device into device label USB2 name_adr 0x001D0000 remove_entry; # if _PRW objects are methods into method label _PRW parent_adr 0x001D0000 remove_entry; into method label _PRW parent_adr 0x001A0000 remove_entry; into method label _PRW parent_adr 0x00140000 remove_entry; into method label _PRW parent_adr 0x001B0000 remove_entry; # some other LAN cards use 0x00190000 into method label _PRW parent_adr 0x00190000 remove_entry; # if _PRW methods are stuffed into a separate scope into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label _SB.PCI0.XHC remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label \_SB.PCI0.XHC remove_entry; # if _PRW objects are names into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; # some _PRW have three entries in the Package into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; # seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; # USB property injection for 7-series boards (originally HM76) # Insert Apple USB properties into EHC1 into method label _DSM parent_adr 0x001D0000 remove_entry; into device name_adr 0x001D0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; # Insert Apple USB properties into EHC2 into method label _DSM parent_adr 0x001A0000 remove_entry; into device name_adr 0x001A0000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; # Insert Apple USB properties into USB 3.0 XHC into method label _DSM parent_adr 0x00140000 remove_entry; into device name_adr 0x00140000 insert begin Method (_DSM, 4, NotSerialized)\n {\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "subsystem-id", Buffer() { 0x70, 0x72, 0x00, 0x00 },\n "subsystem-vendor-id", Buffer() { 0x86, 0x80, 0x00, 0x00 },\n "AAPL,current-available", 2100,\n "AAPL,current-extra", 2200,\n "AAPL,current-extra-in-sleep", 1600,\n "AAPL,device-internal", 0x02,\n "AAPL,max-port-current-in-sleep", 2100,\n })\n }\n end; # special cases... (not in u430 DSDT) #into scope label _SB.PCI0.XHC.RHUB.HS05 set_label begin _SB.PCI0.XHC1.RHUB.HS05 end;
      It's done!


      Updating to 10.13.2:

      Just install Clover 4334 or more recent before install of the update.


       
      To do list
       
      - Replace VoodooHDA by aDummyHDA (AppleHDA Patcher).
       
      Can't make mic/output jack work. I don't know how fix the layout.
       
      - Hibernate
       
       
      Hibernate not work. The system not resume. (temporarily disabled with "pmset -a hibernatemode 0")
       
      Ps.: Sleep work.

      - Brightness and Audio adjustment by FN keys
       
      Need time to search DSDT patch.
       

      Attached files used in the installation. For God's sake, always use the newest versions.
       
       
      And last but not least
       
      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas and all others members involved directly or indirectly.
       
      ACPIBatteryManager.kext.zip
      AnyiSightCam.kext.zip
      ApplePS2SmartTouchPad.kext.zip
      AtherosE2200Ethernet.kext.zip
      FakeSMC.kext.zip
      VoodooHDA.kext.zip
      FakePCIID.kext.zip
      FakePCIID_XHCIMux.kext.zip
      USBInjectAll.kext.zip
      config.plist.zip
      USBs.kext.zip
    • By ludufre
      Novo guia para o macOS Catalina 10.15 (versões i3 e i5)!
      Obs.: Somente em inglês :/
       
       
       
      Instalando OS X El Capitan 10.11.5 no ASUS VivoBook S400C (também conhecido como S400CA)
      Especificamente no modelo S400CA-CA178H, provavelmente os outros modelos serão compatíveis
       
        
       
      Atualização 26/06/16 #1:
      - Adicionado correção para a logo no segundo estágio de boot em <KextsToPatch> no config.plist do Clover. (não está nos anexos)
       
       
      O que funciona e o que não funciona
       
      - Processador ->  Funciona. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 a 26 estágios. AsusAICPUPM <true/> no Clover config.plist.  - Placa de vídeo ->  Funciona. HD4000. QE/CI completo. - Chipset ->  Funciona. - HDMI ->  Funciona. - VGA ->  Não funciona. - Som ->  Funciona. VoodooHDA 2.8.8 (use o arquivo PKG). - WiFi ->  Funciona. Substituída pela Athero 9285 Wifi/Bluetooth (http://lista.mercadolivre.com.br/atheros-9285#D[A:atheros-9285]). - Rede ->  Funciona. AtherosE2200Ethernet 2.1.0. - Teclado e touchpad ->  Funciona. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (versão 4.6). - Teclas FN do teclado ->  Funciona. Alterado "FN keys layout" na kext ELAN acima. - Controle do brilho ->  Funciona. DSDT patch (abaixo). - Repouso/Sleep ->  Não funciona. A tela desliga mas não entra em standby. - Bateria ->  Funciona. ACPIBatteryManager by RehabMan (versão 2016-0531) e DSDT patch (abaixo). - Leitor de cartão ->  Não funciona. - Câmera integrada ->  Funciona. AnyiSightCam. - Bluetooth ->  Funciona. Bluetooth Firmware Uploader (versão 3.1). - Segundo estágio da logo no boot ->  Funciona. Correção para adicionar em <KextsToPatch> abaixo.    
      O que você precisa para instalar
       
      - Instalação do El Capitan funcionando no VMware -> Baixei a versão 10.11 por torrent (busque torrent por "10.11 vmware"). Você pode usar um Mac real de um amigo. Meu método só funciona no Mavericks (10.9) e acima.
      - Um pendrive de 8GB ou maior.
      - App de instalação do OS X El Capitan -> Baixe na App Store por dentro da máquina virtual. Baixei a versão 10.11.5.
      - CloverEFI -> Também baixe por dentro da máquina virtual. Eu usei a compilação 3577.
      - Habilidade em DSDT patch-> Necessário para a bateria funcionar. [Guia] DSDT/SSDT - Conhecimentos Gerais. Ou você pode baixar o meu DSDT abaixo, mas eu não recomendo.
       
       
      Como criar o pendrive
       
      Criando a instalação:
       
      Formate o pendrive com partição GUID e nomeie como "Install"
       
      Abra o terminal e execute o comando:
       
       
      Isso vai levar 30 minutos.

      Instalando o bootloader:
       
      Baixe o CloverEFI (usei 3577) e instale com essas opções em "Install OS X El Capitan":

      Opções:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Vai ser criado uma partição com nome EFI. Edite o arquivo /EFI/CLOVER/config.plist e altere os seguintes valores:
        - Graphics - Inject - ATI - <false/> - Graphics - Inject - Intel - <true/> - Graphics - ig-platform-id - 0x01660003 - KernelAndKextPatches - AsusAICPUPM - <true/>   Importante: Renomeie "#Inject" para "Inject" e "#ig-platform-id" para "ig-platform-id".   Obs.: Vou deixar em anexo meu config.plist.   Agora você vai precisar dessas duas Kexts:
       
      - Baixar a kext Smart Touchpad. Eu usei a versão 4.6.
      - Baixar o dmg do HWSensors e utilizar a FakeSMC.kext de dentro. Eu usei a versão 6.20.1410. Isso é muito importante. Não dá pra dar boot sem ele.
      - Coloque essas Kexts dentro de /EFI/CLOVER/kexts/10.11/
      - Coloque o instalador do Clover dentro do pendrive também.
       
      Agora você pode iniciar a inalação sem problema (eu acho).
       
       
      Configuração do Setup da BIOS e Instalação
       
      - Desligue o ultrabook e insira o pendrive.
      - Ligue com a tecla F2 apertada para entrar no Setup da BIOS.
      - Vá para "Save & Exit" e selecione "Restore Defaults".
      - Vá para aba "Advanced" e altere esses valores:
      - Intel Virtualization Technology: Disabled
      - VT-d: Disabled
      - USB Configuration - XHCI Pre-Boot Mode: Disabled
      - Vá para "Save & Exit" novamente e selecione "Save Changes".
      - Agora na seção "Boot Override" selecione o pendrive que vai estar com onome começando com UEFI. No meu caso "UEFI: KingstonDataTraveler 2.0PMAP".
      - O menu do Clover vai aparecer. Use as setas do teclado para selecionar o pendrive. Vai até a opção com o nome de "Boot OS X Install from Install OS X El Capitan", então aperter Enter.
      - Se você fez tudo corretamente, sua instalação vai inciar. Lembre-se: Formatar o HDD ou SSD com partição GUID.
      - Isso vai levar cerca de 20 minutos.
      - Depois da instalação da primeira parte o sistema vai reiniciar. Você precisa segurar o botão ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clover, aperte Enter em "Boot OS X Install from Install OS X El Capitan" mais uma vez.
      - A segunda parte da instalação vai começar. Isso leva cerca de 16 minutos.
       
      Pós instalação
       
      - Quando a segunda parte da instalação acabar, o sistema vai reiniciar novamente.
      - Após realizar a configuração inicial de usuário e ir para a área de trabalho, você precisará instalar o Clover no disco interno.
      - Abra o instalador do Clover dentro do pendrive que você copiou anteriormente.
      - Use as mesmas opções acima mas dessa vez escolha o a partição do sistema.
      - Agora você precisa substituir a pasta EFI de dentro da partição EFI do disco interno com a pasta EFI da partição EFI do pendrive.
      - A partição EFI do pendrive não vai estar montada. Monde com "diskutil mount /dev/rdiskXs1". Para saber qual é o X, use "diskutil list", mas provavelmente será 1.
      - Agora reinicie o sistema. Você vai precisar apertar ESC para entrar no menu de Boot quando aparecer a logo da Asus.
      - Selecione o pendrive novamente.
      - No menu do Clove, use as setas do teclado e vá para a última opção com nome "Clover Boot Options" e aperte Espaço. - Selecione a opção "Add Clover boot options for all entries".
      - Desligue, remova o pendrive e ligue.
      - Se você fez tudo corretamente, o sistema vai iniciar normalmente.
       
      Outras Kexts:
       
      Baixe as kexts nos links abaixo. Eu recomendo fortemente sempre usar versões mais novas. Se você estiver com preguiça, eu anexei no final desse post.
       
      Rede: AtherosE2200Ethernet 2.1.0
      Som: VoodooHDA 2.8.8 (use o arquivo PKG). Você precisa selecionar a saída nas Preferências do Sistemas após reiniciar.
      Bateria: ACPIBatteryManager by RehabMan (versão 2016-0531). Você precisa do path DSDT (abaixo).
      Bluetooth: Bluetooth Firmware Uploader (versão 3.1).
      Câmera integrada: AnyiSightCam
       
      Todas as kexts devem ser colocadas em /EFI/CLOVER/kexts/10.11/, monde essa partição novamente (diskutil mount /dev/rdiskXs1) pra isso.
       
      Teclas FN:
      Abra "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" e altere:
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> Para:
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>   Correção do segundo estágio de boot:
      Adicionar em /EFI/CLOVER/config.plist dentro de KextsToPatch
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Path DSDT da bateria:
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Path do brilho
      #Maintained by: RehabMan for: Laptop Patches #graphics_PNLF_ivy_sandy.txt # This patch enables the brightness slider in SysPrefs->Displays # and will also enable activation of sleep mode by closing # the laptop lid. # # This particular version is intended to be used with ACPIBacklight.kext # although it can also be used with AppleBacklight.kext, # provided AppleBacklight.kext is patched to recognize your # display or an injector is used to set brightness levels. # # See this thread for more information: # http://www.tonymacx86.com/hp-probook-mavericks/121031-native-brightness-working-without-blinkscreen-using-patched-applebacklight-kext.html # (also read any linked threads) # # # Note: This patch should be applied to the DSDT or SSDT that defines # your integrated graphics device (always at _ADR 0x00020000) # into_all device label PNLF remove_entry; into_all device name_adr 0x00020000 code_regex (OperationRegion\s\(RMPC,\sPCI_Config[^\}]*\}) remove_matched; into device name_adr 0x00020000 insert begin OperationRegion (RMPC, PCI_Config, 0x10, 4)\n Field (RMPC, AnyAcc, NoLock, Preserve)\n {\n BAR1,32,\n }\n Device (PNLF)\n {\n // normal PNLF declares (note some of this probably not necessary)\n Name (_ADR, Zero)\n Name (_HID, EisaId ("APP0002"))\n Name (_CID, "backlight")\n Name (_UID, 10)\n Name (_STA, 0x0B)\n //define hardware register access for brightness\n // lower nibble of BAR1 is status bits and not part of the address\n OperationRegion (BRIT, SystemMemory, And(^BAR1, Not(0xF)), 0xe1184)\n Field (BRIT, AnyAcc, Lock, Preserve)\n {\n Offset(0x48250),\n LEV2, 32,\n LEVL, 32,\n Offset(0x70040),\n P0BL, 32,\n Offset(0xc8250),\n LEVW, 32,\n LEVX, 32,\n Offset(0xe1180),\n PCHL, 32,\n }\n // DEB1 special for setting KLVX at runtime...\n //Method (DEB1, 1, NotSerialized)\n //{\n // Store(Arg0, KLVX)\n //}\n // LMAX: use 0x710 to force OS X value\n // or use any arbitrary value\n // or use 0 to capture BIOS setting\n Name (LMAX, 0x710)\n // KMAX: defines the unscaled range in the _BCL table below\n Name (KMAX, 0x710)\n // KPCH: saved value for PCHL\n Name(KPCH, 0)\n // _INI deals with differences between native setting and desired\n Method (_INI, 0, NotSerialized)\n {\n // save value of PCHL for later\n Store(PCHL, KPCH)\n // determine LMAX to use\n If (LNot(LMAX)) { Store(ShiftRight(LEVX,16), LMAX) }\n If (LNot(LMAX)) { Store(KMAX, LMAX) }\n Store(ShiftLeft(LMAX,16), KLVX)\n If (LNotEqual(LMAX, KMAX))\n {\n // Scale all the values in _BCL to the PWM max in use\n Store(0, Local0)\n While (LLess(Local0, SizeOf(_BCL)))\n {\n Store(DerefOf(Index(_BCL,Local0)), Local1)\n Divide(Multiply(Local1,LMAX), KMAX,, Local1)\n Store(Local1, Index(_BCL,Local0))\n Increment(Local0)\n }\n // Also scale XRGL and XRGH values\n Divide(Multiply(XRGL,LMAX), KMAX,, XRGL)\n Divide(Multiply(XRGH,LMAX), KMAX,, XRGH)\n }\n // adjust values to desired LMAX\n Store(ShiftRight(LEVX,16), Local1)\n If (LNotEqual(Local1, LMAX))\n {\n Store(LEVL, Local0)\n If (LOr(LNot(Local0),LNot(Local1))) { Store(LMAX, Local0) Store(LMAX, Local1) }\n Divide(Multiply(Local0,LMAX), Local1,, Local0)\n //REVIEW: wait for vblank before setting new PWM config\n //Store(P0BL, Local7)\n //While (LEqual (P0BL, Local7)) {}\n If (LGreater(LEVL, LMAX))\n { Store(KLVX, LEVX) Store(Local0, LEVL) }\n Else\n { Store(Local0, LEVL) Store(KLVX, LEVX) }\n }\n }\n // _BCM/_BQC: set/get for brightness level\n Method (_BCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n Store(Match(_BCL, MGE, Arg0, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) }\n Store(DerefOf(Index(_BCL, Local0)), LEVL)\n }\n Method (_BQC, 0, NotSerialized)\n {\n Store(Match(_BCL, MGE, LEVL, MTR, 0, 2), Local0)\n If (LEqual(Local0, Ones)) { Subtract(SizeOf(_BCL), 1, Local0) }\n Return(DerefOf(Index(_BCL, Local0)))\n }\n Method (_DOS, 1, NotSerialized)\n {\n // Note: Some systems have this defined in DSDT, so uncomment\n // the next line if that is the case.\n //External(^^_DOS, MethodObj)\n ^^_DOS(Arg0)\n }\n // extended _BCM/_BQC for setting "in between" levels\n Method (XBCM, 1, NotSerialized)\n {\n // initialize for consistent backlight level before/after sleep\n If (LNotEqual(PCHL, KPCH)) { Store(KPCH, PCHL) }\n If (LNotEqual(LEVW, 0x80000000)) { Store (0x80000000, LEVW) }\n If (LNotEqual(LEVX, KLVX)) { Store (KLVX, LEVX) }\n // store new backlight level\n If (LGreater(Arg0, XRGH)) { Store(XRGH, Arg0) }\n If (LAnd(Arg0, LLess(Arg0, XRGL))) { Store(XRGL, Arg0) }\n If (LNotEqual(LEV2, 0x80000000)) { Store(0x80000000, LEV2) } \n Store(Arg0, LEVL)\n }\n Method (XBQC, 0, NotSerialized)\n {\n Store(LEVL, Local0)\n If (LGreater(Local0, XRGH)) { Store(XRGH, Local0) }\n If (LAnd(Local0, LLess(Local0, XRGL))) { Store(XRGL, Local0) }\n Return(Local0)\n }\n // Use XOPT=1 to disable smooth transitions\n Name (XOPT, Zero)\n // XRGL/XRGH: defines the valid range\n Name (XRGL, 40)\n Name (XRGH, 1808)\n // KLVX is initialization value for LEVX\n Name (KLVX, 0x7100000)\n // _BCL: returns list of valid brightness levels\n // first two entries describe ac/battery power levels\n Name (_BCL, Package()\n {\n 1808,\n 479,\n 0,\n 53, 55, 57, 59,\n 62, 66, 71, 77,\n 83, 91, 99, 108,\n 119, 130, 142, 154,\n 168, 183, 198, 214,\n 232, 250, 269, 289,\n 309, 331, 354, 377,\n 401, 426, 453, 479,\n 507, 536, 566, 596,\n 627, 660, 693, 727,\n 762, 797, 834, 872,\n 910, 949, 990, 1031,\n 1073, 1115, 1159, 1204,\n 1249, 1296, 1343, 1391,\n 1440, 1490, 1541, 1592,\n 1645, 1698, 1753, 1808,\n })\n }\n end; Está pronto!
       
       
      Em anexo arquivos utilizados na instalação. Pelo amor de deus, sempre use versões mais novas.
       
       
      E por último mas não menos importante
       
      Eu gostaria de agradecer os seguintes membros da comunidade, por tornar esse sonho possível:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas e todos os outros membros envolvidos direta ou indiretamente.
      EFI antes instalação.zip
      EFI após instalação.zip
    • By ludufre
      New guide available for macOS Catalina 10.15 (i3 and i5 versions)!
       
       
       
      Installing OS X El Capitan 10.11.5 on ASUS VivoBook S400C (also know as S400CA)
      Specifically in S400CA-CA178H model, most likely all other models are compatible
       
        
       

      Updated 22/11/17 #1:
       
      - High Sierra 10.13.1 on ASUS Vivobook S400C (S400CA-CA178H).
       
       
      Updated 27/06/16 #1:
       
      - Altered Brightness to fix with Clover <KextsToPatch> method.
       
      - Added Kexts to fix USB port injection (FakePCIID.kext, FakePCIID_XHCIMux.kext and USB.kext).
      - Touch Screen was missing from the list. Added and now works.
      - Sleep now works after DSDT patch
      - Card Reader now works too
      - Created section about DSDT and Todo list
      - Added missing patchs
      - Updated BIOS config list before install.
       
      Updated 26/06/16 #1:
       
      - Added patch in <KextsToPatch> in Clover config.plist to fix 2nd Stage Boot logo. (not in attachments)
       
       
      What works and what does not work
       
      - Processor ->  Work. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 to 26 stages. AsusAICPUPM <true/> in Clover config.plist. 
      - Video Card ->  Work. HD4000. Full QE/CI.
      - Chipset ->  Work.
      - HDMI ->  Work.
      - VGA ->  Not work.
      - Audio ->  Work. VoodooHDA 2.8.8 (use PKG file).
      - WiFi ->  Work. Replaced by Athero 9285 Wifi/Bluetooth (https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=atheros+9285).
      - Ethernet ->  Work. AtherosE2200Ethernet 2.1.0.
      - Keyboard and touchpad ->  Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
      - FN keyboards keys ->  Work. Changed FN keys layout inside ELAN kext above.
      - Brightness control ->  Work. Clover <KextsToPatch> below.
      - Touchscreen ->  Work. USB port inject kext in attachment.
      - Sleep ->  Work. DSDT patch (below) and <HighCurrent> set to <true/> in Clover.
      - Battery ->  Work. ACPIBatteryManager by RehabMan (version 2016-0531) and DSDT patch (below).
      - Card Reader ->  Work. USB port inject kext in attachment.
      - Integrated Camera ->  Work. AnyiSightCam.
      - Bluetooth ->  Work. Bluetooth Firmware Uploader (version 3.1).
      - 2nd stage boot logo ->  Work. Clover <KextsToPatch> below.

       
       
      What you need to install
       


      - Running install of El Capitan on VMware -> Downloaded version 10.11 via torrent (search by "10.11 vmware" torrent). You can use a real Mac of an friend. My method only works on Mavericks (10.9) and above.
      - One USB flash drive of 8GB or bigger.
      - OS X El Capitan install app -> Downloaded via App Store inside the virtual machine. Downloaded version 10.11.5.
      - CloverEFI -> Also download inside the virtual machine. I used build 3577.
      - DSDT patch skills -> Needed to battery works. How to patch DSDT. Or you can download mine DSDT below, but would not recommend.

       
       
      How create the flash drive
       
      Creating the install:
       
      Format the flash drive with GUID partition mapping and name it "Install"
       
      Open terminal and run this command:
       
       
       
       
      This will take about 30 minutes.

      Installing bootloader:
       
      Download the CloverEFI (used 3577) and install with this options on "Install OS X El Capitan":

      Options:
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - Drivers64UEFI - CsmVideoDxe-64
      - Drivers64UEFI - OsxAptioFixDrv-64
       
      Will be created a partition named EFI. Edit the /EFI/CLOVER/config.plist and change those values:
       
      - Graphics - Inject - ATI - <false/>
      - Graphics - Inject - Intel - <true/>
      - Graphics - ig-platform-id - 0x01660003
      - KernelAndKextPatches - AsusAICPUPM - <true/>
       
      Important: Rename "#Inject" to "Inject" and "#ig-platform-id" to "ig-platform-id".
       
      P.s.: I will provide below my config.plist as attachment.
       

      Now you will need two Kexts:
       
      - Download the Smart Touchpad kext from here. I used the version 4.6.
      - Download the HWSensors dmg and use the FakeSMC.kext from inside. I used the version 6.20.1410. This is very important. Can't boot without it.
      - Put these Kexts inside /EFI/CLOVER/kexts/10.11/
      - Put the Clover installer on the flash drive too.

       
      Now you can start the instalation without problem (I guess).
       
       
      BIOS Setup Configuration and Installation
       
      - Shutdown the ultrabook and insert the flash drive.
      - Power on with F2 pressed to enter BIOS setup.
      - Go to "Save & Exit" and press "Restore Defaults".
      - Go to "Advanced" tab and change these values:
       
      - VT-d: Disabled
      - Go to "Save & Exit" again and select "Save Changes".
      - Now in "Boot Override" section select the flash drive named with UEFI prefix. In my case "UEFI: KingstonDataTraveler 2.0PMAP".
      - The clover menu will show. Use the arrow keys to mark the flash drive. The option name is "Boot OS X Install from Install OS X El Capitan", then press Enter.
      - If you did everything correctly, you can start the installation. Remember: Format the HDD or SSD with GUID partition mapping.
      - This will take about 20 minutes.
      - After first part install the system will reboot. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover main menu, press enter in "Boot OS X Install from Install OS X El Capitan" once again.
      - The second part of the installation will begin. This will take 16 minutes.
       
       
      Post installation
       
      - When the second part of install finish, the system will reboot again.
      - After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.
      - Open the Clover installer inside flash drive that you copied before.
      - Use same options above but choose the system partition this time.
      - Now you need to replace the EFI folder inside your internal disk EFI parittion with EFI folder inside flash card EFI partition.
      - The flash drive EFI partition is unmounted. Mount with "diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
      - Now restart the system. You need to press ESC to enter Boot menu when Asus logo appear.
      - Select the flash drive again.
      - In Clover menu, use arrows and go to the last option with name "Clover Boot Options" and press Space.
      - Select the option "Add Clover boot options for all entries".
      - Shutdown, remove the flash drive and power on.
      - If you do everything wright, the system will start normally.
       
      Others Kexts:
       
      Download the kexts from the links below. I strongly recommend always use newest versions. If you are too lazy, I attach on end of the post.
       
      Ethernet: AtherosE2200Ethernet 2.1.0
      Sound: VoodooHDA 2.8.8 (use PKG file). You need to select the output there in System Preferences after reboot.
      Battery: ACPIBatteryManager by RehabMan (version 2016-0531). You need to path DSDT (below).
      Bluetooth: Bluetooth Firmware Uploader (version 3.1).
      Integrated Camera: AnyiSightCam
      USB Port Injector: FakePCIID and FakePCIID_XHCIMux (version 2016-0512) and USB.kext attached below.
       
      All kexts will placed inside /EFI/CLOVER/kexts/10.11/, mount again this partition (diskutil mount /dev/rdiskXs1) for it.
       
       
      Fine Adjustiment
       
      Prevent eject when sleep
      Open "/EFI/CLOVER/config.plist" and change:
       
       
      <key>HighCurrent</key> <false/> To:
       
      <key>HighCurrent</key> <true/>  Enable FN keys
      Open "ApplePS2SmartTouchPad.kext/Contents/Plugins/ApplePS2Keyboard.kext/Contents/Info.plist" and change:
       
      <key>Fn keys Layout</key> <string>NONE</string> <key>Fn keys Mode</key> <integer>2</integer> To:
       
      <key>Fn keys Layout</key> <string>ASUS</string> <key>Fn keys Mode</key> <integer>3</integer>  Second stage boot logo fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 Logo Fix</string> <key>Find</key> <data> AQAAdRc= </data> <key>Name</key> <string>IOGraphicsFamily</string> <key>Replace</key> <data> AQAA6xc= </data> </dict> Brightness fix
      Add in /EFI/CLOVER/config.plist inside KextsToPatch.
       
      <dict> <key>Comment</key> <string>HD 4000 brightness fix</string> <key>Find</key> <data> EAcAABAHAAA= </data> <key>Name</key> <string>AppleIntelFramebufferCapri</string> <key>Replace</key> <data> EhMAABITAAA= </data> </dict> DSDT Patchs
       
      First of all, extract your system DSDT.aml pressioning F4 on Clover boot menu. Will be stored in /EFI/CLOVER/ACPI/origin.
      Copy to /EFI/CLOVER/ACPI/patched and apply following patchs using MaciASL:
       
      Fix *pnp/pnp lower case Error
       
      #Maintained by: RehabMan for: Laptop Patches #fix_HID_pnp.txt # To fix Name(_HID, "*pnpXXXX") and Name(_HID, "pnpXXXX") into_all all code_regex (Name\s+\(_HID,\s+\")\*pnp(.*\") replaceall_matched begin %1PNP%2 end; into_all all code_regex (Name\s+\(_HID,\s+\")pnp(.*\") replaceall_matched begin %1PNP%2 end; Rename GFX0 to IGPU
       
      #Maintained by: RehabMan for: Laptop Patches #graphics_Rename-GFX0.txt # Note: Most DSDT/SSDTs use GFX0 for the integrated graphics device, # but there are few renegades that use VID or AGP1. # If your DSDT uses VID or AGP1 instead of GFX0, see the # alternate patch "Rename VID/AGP1 to IGPU" # sometimes there is already IGPU used for other things into_all all code_regex IGPU, replaceall_matched begin IGFX, end; # rename GFX0 -> IGPU for better power management into_all all code_regex GFX0\. replaceall_matched begin IGPU. end; into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end; into_all all code_regex \sGFX0, replaceall_matched begin IGPU, end; into_all all code_regex \(GFX0 replaceall_matched begin (IGPU end; into_all all label GFX0 set_label begin IGPU end; into_all all label _SB.PCI0.GFX0 set_label begin _SB.PCI0.IGPU end; into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end; into_all all label _SB.PCI0.GFX0.DD02 set_label begin _SB.PCI0.IGPU.DD02 end; into_all all label \_SB.PCI0.GFX0.DD02 set_label begin \_SB.PCI0.IGPU.DD02 end; into_all all label ^^^GFX0 set_label begin ^^^IGPU end; into_all all label ^^GFX0 set_label begin ^^IGPU end; into_all all label ^GFX0 set_label begin ^IGPU end; Battery (ASUS N55LS/Vivobook)
       
      #Maintained by: RehabMan for: Laptop Patches #battery_ASUS-N55SL.txt # created by RehabMan 8/12/2013 # created originally for jesselid # works for: # ASUS N55SL, BIOS rev. 204 # ASUS VivoBook series # ASUS Zenbook UX31A # ASUS UX301LA # ASUS X553E-SX399V # ASUS F501A # ASUS K55VM # ASUS U46SV, BIOS rev. 2.04 # ASUS N43 # ASUS PU500CA (90NB00F1-M01120) # ASUS N73SV # ASUS X401A-WX108 # ASUS F551CA Bios rev. 207 # ASUS S551LB VivoBook # ASUS ZenBook UX32VD # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # not really for battery, but might come in handy to read fan speed(s) into device label EC0 code_regex TAH0,\s+16 replace_matched begin TH00,8,TH01,8 end; into device label EC0 code_regex TAH1,\s+16 replace_matched begin TH10,8,TH11,8 end; into method label TACH code_regex \(TAH0, replace_matched begin (B1B2(TH00,TH01), end; into method label TACH code_regex \(TAH1, replace_matched begin (B1B2(TH10,TH11), end; into method label GFAN code_regex \(\\_SB\.PCI0\.LPCB\.EC0\.TAH0, replace_matched begin (B1B2(\\_SB.PCI0.LPCB.EC0.TH00,\\_SB.PCI0.LPCB.EC0.TH01), end; # battery EC into device label EC0 code_regex B0SN,\s+16 replace_matched begin B0S0,8,B0S1,8 end; into device label EC0 code_regex B1SN,\s+16 replace_matched begin B1S0,8,B1S1,8 end; into method label BIFA code_regex \(B0SN, replace_matched begin (B1B2(B0S0,B0S1), end; into method label BIFA code_regex \(B1SN, replace_matched begin (B1B2(B1S0,B1S1), end; into device label EC0 code_regex DT2B,\s+16 replace_matched begin T2B0,8,T2B1,8 end; into method label SMBR code_regex \(DT2B, replace_matched begin (B1B2(T2B0,T2B1), end; into method label SMBW code_regex Store\s+\(([^,]*),\s+DT2B\) replace_matched begin Store(%1,T2B0) Store(ShiftRight(%1,8),T2B1) end; into device label EC0 insert begin Method (RDBA, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BA00, Index(TEMP, 0x00))\n Store (BA01, Index(TEMP, 0x01))\n Store (BA02, Index(TEMP, 0x02))\n Store (BA03, Index(TEMP, 0x03))\n Store (BA04, Index(TEMP, 0x04))\n Store (BA05, Index(TEMP, 0x05))\n Store (BA06, Index(TEMP, 0x06))\n Store (BA07, Index(TEMP, 0x07))\n Store (BA08, Index(TEMP, 0x08))\n Store (BA09, Index(TEMP, 0x09))\n Store (BA0A, Index(TEMP, 0x0A))\n Store (BA0B, Index(TEMP, 0x0B))\n Store (BA0C, Index(TEMP, 0x0C))\n Store (BA0D, Index(TEMP, 0x0D))\n Store (BA0E, Index(TEMP, 0x0E))\n Store (BA0F, Index(TEMP, 0x0F))\n Store (BA10, Index(TEMP, 0x10))\n Store (BA11, Index(TEMP, 0x11))\n Store (BA12, Index(TEMP, 0x12))\n Store (BA13, Index(TEMP, 0x13))\n Store (BA14, Index(TEMP, 0x14))\n Store (BA15, Index(TEMP, 0x15))\n Store (BA16, Index(TEMP, 0x16))\n Store (BA17, Index(TEMP, 0x17))\n Store (BA18, Index(TEMP, 0x18))\n Store (BA19, Index(TEMP, 0x19))\n Store (BA1A, Index(TEMP, 0x1A))\n Store (BA1B, Index(TEMP, 0x1B))\n Store (BA1C, Index(TEMP, 0x1C))\n Store (BA1D, Index(TEMP, 0x1D))\n Store (BA1E, Index(TEMP, 0x1E))\n Store (BA1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBA, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BA00)\n Store (DerefOf(Index(TEMP, 0x01)), BA01)\n Store (DerefOf(Index(TEMP, 0x02)), BA02)\n Store (DerefOf(Index(TEMP, 0x03)), BA03)\n Store (DerefOf(Index(TEMP, 0x04)), BA04)\n Store (DerefOf(Index(TEMP, 0x05)), BA05)\n Store (DerefOf(Index(TEMP, 0x06)), BA06)\n Store (DerefOf(Index(TEMP, 0x07)), BA07)\n Store (DerefOf(Index(TEMP, 0x08)), BA08)\n Store (DerefOf(Index(TEMP, 0x09)), BA09)\n Store (DerefOf(Index(TEMP, 0x0A)), BA0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BA0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BA0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BA0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BA0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BA0F)\n Store (DerefOf(Index(TEMP, 0x10)), BA10)\n Store (DerefOf(Index(TEMP, 0x11)), BA11)\n Store (DerefOf(Index(TEMP, 0x12)), BA12)\n Store (DerefOf(Index(TEMP, 0x13)), BA13)\n Store (DerefOf(Index(TEMP, 0x14)), BA14)\n Store (DerefOf(Index(TEMP, 0x15)), BA15)\n Store (DerefOf(Index(TEMP, 0x16)), BA16)\n Store (DerefOf(Index(TEMP, 0x17)), BA17)\n Store (DerefOf(Index(TEMP, 0x18)), BA18)\n Store (DerefOf(Index(TEMP, 0x19)), BA19)\n Store (DerefOf(Index(TEMP, 0x1A)), BA1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BA1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BA1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BA1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BA1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BA1F)\n }\n end; into device label EC0 code_regex BDAT,\s+256 replace_matched begin //BDAT, 256,\n BA00,8,BA01,8,BA02,8,BA03,8,\n BA04,8,BA05,8,BA06,8,BA07,8,\n BA08,8,BA09,8,BA0A,8,BA0B,8,\n BA0C,8,BA0D,8,BA0E,8,BA0F,8,\n BA10,8,BA11,8,BA12,8,BA13,8,\n BA14,8,BA15,8,BA16,8,BA17,8,\n BA18,8,BA19,8,BA1A,8,BA1B,8,\n BA1C,8,BA1D,8,BA1E,8,BA1F,8\n end; into method label SMBR code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into method label SMBR code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDAT\) replaceall_matched begin WRBA(%1) end; into method label ECSB code_regex \(BDAT, replaceall_matched begin (RDBA(), end; into device label EC0 insert begin Method (RDBB, 0, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (BB00, Index(TEMP, 0x00))\n Store (BB01, Index(TEMP, 0x01))\n Store (BB02, Index(TEMP, 0x02))\n Store (BB03, Index(TEMP, 0x03))\n Store (BB04, Index(TEMP, 0x04))\n Store (BB05, Index(TEMP, 0x05))\n Store (BB06, Index(TEMP, 0x06))\n Store (BB07, Index(TEMP, 0x07))\n Store (BB08, Index(TEMP, 0x08))\n Store (BB09, Index(TEMP, 0x09))\n Store (BB0A, Index(TEMP, 0x0A))\n Store (BB0B, Index(TEMP, 0x0B))\n Store (BB0C, Index(TEMP, 0x0C))\n Store (BB0D, Index(TEMP, 0x0D))\n Store (BB0E, Index(TEMP, 0x0E))\n Store (BB0F, Index(TEMP, 0x0F))\n Store (BB10, Index(TEMP, 0x10))\n Store (BB11, Index(TEMP, 0x11))\n Store (BB12, Index(TEMP, 0x12))\n Store (BB13, Index(TEMP, 0x13))\n Store (BB14, Index(TEMP, 0x14))\n Store (BB15, Index(TEMP, 0x15))\n Store (BB16, Index(TEMP, 0x16))\n Store (BB17, Index(TEMP, 0x17))\n Store (BB18, Index(TEMP, 0x18))\n Store (BB19, Index(TEMP, 0x19))\n Store (BB1A, Index(TEMP, 0x1A))\n Store (BB1B, Index(TEMP, 0x1B))\n Store (BB1C, Index(TEMP, 0x1C))\n Store (BB1D, Index(TEMP, 0x1D))\n Store (BB1E, Index(TEMP, 0x1E))\n Store (BB1F, Index(TEMP, 0x1F))\n Return (TEMP)\n }\n end; into device label EC0 insert begin Method (WRBB, 1, Serialized)\n {\n Name (TEMP, Buffer(0x20) { })\n Store (Arg0, TEMP)\n Store (DerefOf(Index(TEMP, 0x00)), BB00)\n Store (DerefOf(Index(TEMP, 0x01)), BB01)\n Store (DerefOf(Index(TEMP, 0x02)), BB02)\n Store (DerefOf(Index(TEMP, 0x03)), BB03)\n Store (DerefOf(Index(TEMP, 0x04)), BB04)\n Store (DerefOf(Index(TEMP, 0x05)), BB05)\n Store (DerefOf(Index(TEMP, 0x06)), BB06)\n Store (DerefOf(Index(TEMP, 0x07)), BB07)\n Store (DerefOf(Index(TEMP, 0x08)), BB08)\n Store (DerefOf(Index(TEMP, 0x09)), BB09)\n Store (DerefOf(Index(TEMP, 0x0A)), BB0A)\n Store (DerefOf(Index(TEMP, 0x0B)), BB0B)\n Store (DerefOf(Index(TEMP, 0x0C)), BB0C)\n Store (DerefOf(Index(TEMP, 0x0D)), BB0D)\n Store (DerefOf(Index(TEMP, 0x0E)), BB0E)\n Store (DerefOf(Index(TEMP, 0x0F)), BB0F)\n Store (DerefOf(Index(TEMP, 0x10)), BB10)\n Store (DerefOf(Index(TEMP, 0x11)), BB11)\n Store (DerefOf(Index(TEMP, 0x12)), BB12)\n Store (DerefOf(Index(TEMP, 0x13)), BB13)\n Store (DerefOf(Index(TEMP, 0x14)), BB14)\n Store (DerefOf(Index(TEMP, 0x15)), BB15)\n Store (DerefOf(Index(TEMP, 0x16)), BB16)\n Store (DerefOf(Index(TEMP, 0x17)), BB17)\n Store (DerefOf(Index(TEMP, 0x18)), BB18)\n Store (DerefOf(Index(TEMP, 0x19)), BB19)\n Store (DerefOf(Index(TEMP, 0x1A)), BB1A)\n Store (DerefOf(Index(TEMP, 0x1B)), BB1B)\n Store (DerefOf(Index(TEMP, 0x1C)), BB1C)\n Store (DerefOf(Index(TEMP, 0x1D)), BB1D)\n Store (DerefOf(Index(TEMP, 0x1E)), BB1E)\n Store (DerefOf(Index(TEMP, 0x1F)), BB1F)\n }\n end; into device label EC0 code_regex BDA2,\s+256 replace_matched begin //BDA2, 256,\n BB00,8,BB01,8,BB02,8,BB03,8,\n BB04,8,BB05,8,BB06,8,BB07,8,\n BB08,8,BB09,8,BB0A,8,BB0B,8,\n BB0C,8,BB0D,8,BB0E,8,BB0F,8,\n BB10,8,BB11,8,BB12,8,BB13,8,\n BB14,8,BB15,8,BB16,8,BB17,8,\n BB18,8,BB19,8,BB1A,8,BB1B,8,\n BB1C,8,BB1D,8,BB1E,8,BB1F,8\n end; into method label SMBR code_regex \(BDA2, replaceall_matched begin (RDBB(), end; into method label SMBR code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label SMBW code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex Store\s\((.*),\sBDA2\) replaceall_matched begin WRBB(%1) end; into method label ECSB code_regex \(BDA2, replaceall_matched begin (RDBB(), end; # additional work for _BIX method present in some ASUS laptops into device label EC0 code_regex B0C3,\s+16 replace_matched begin XC30,8,XC31,8 end; into device label EC0 code_regex B1C3,\s+16 replace_matched begin YC30,8,YC31,8 end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B0C3, replaceall_matched begin (B1B2(^^LPCB.EC0.XC30,^^LPCB.EC0.XC31), end; into_all method label _BIX code_regex \(\^\^LPCB\.EC0\.B1C3, replaceall_matched begin (B1B2(^^LPCB.EC0.YC30,^^LPCB.EC0.YC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; Fix Sleep issues caused by USBs
       
      #Maintained by: RehabMan for: Laptop Patches #Changed by Luan (ludufre) Eduardo #usb_prw_0x0d_xhc.txt # remove _PRW methods to prevent instant wake # delete any existing XHC1 device into device label XHC1 name_adr 0x00140000 remove_entry; # delete any existing USB2 device into device label USB2 name_adr 0x001D0000 remove_entry; # if _PRW objects are methods into method label _PRW parent_adr 0x001D0000 remove_entry; into method label _PRW parent_adr 0x001A0000 remove_entry; into method label _PRW parent_adr 0x00140000 remove_entry; into method label _PRW parent_adr 0x001B0000 remove_entry; # some other LAN cards use 0x00190000 into method label _PRW parent_adr 0x00190000 remove_entry; # if _PRW methods are stuffed into a separate scope into method label _PRW parent_label _SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label _SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label _SB.PCI0.XHC remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC1 remove_entry; into method label _PRW parent_label \_SB.PCI0.EHC2 remove_entry; into method label _PRW parent_label \_SB.PCI0.XHC remove_entry; # if _PRW objects are names into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\}\) remove_matched; # some _PRW have three entries in the Package into device name_adr 0x001D0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001A0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00140000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x001B0000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; into device name_adr 0x00190000 code_regex Name.*_PRW.*\n.*\n.*\n.*\n.*\n.*\}\) remove_matched; # seems to work better if _PRW is present, but returns 0 (original was 3) for sleep state into device name_adr 0x001D0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001A0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00140000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x001B0000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device name_adr 0x00190000 insert begin Name(_PRW, Package() { 0x0D, 0 }) end; into device label XHC set_label begin XHC1 end; into_all all code_regex XHC(?=\W) replaceall_matched begin XHC1 end; into method label _WAK code_regex \_SB.PCI0.XHC1.XWAK replace_matched begin _SB.PCI0.XHC1._INI end; It's done!
       
       
       
      To do list
       
      - Replace VoodooHDA by aDummyHDA (AppleHDA Patcher).
       
      Can't make mic/output jack work. I don't know how fix the layout.
       
      - Sleep and Hibernate
       
       
      Entering to sleep have a delay ~30 seconds, and wake to blackscreen, making necessary to press any key to power on the display.
       
      Hibernate not work. The system never wake up. (temporarily disabled with "pmset -a hibernatemode 0")
       
      - Brightness adjustment by FN keys
      Need time to search DSDT patch.
       
       
       
       
       
       
      Attached files used in the installation. For God's sake, always use the newest versions.
       
       
      And last but not least
       
      I would like to thank the following community members, by making these dream possible:
      @crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas and all others members involved directly or indirectly.
      EFI before install.zip
      EFI after install v2.zip
      USB.kext.zi
×