Jump to content
gygabyte666

HP Envy 17t-j000 Quad (Haswell) + 10.8.5/10.9.5/10.10.x/10.11.x/10.12.x/10.13.x/10.14.x

1,321 posts in this topic

Recommended Posts

Advertisement
50 minutes ago, gygabyte666 said:

10.13.6 (High Sierra) ENVY:

10.12.6 (Sierra) ENVY:

10.11.6 (El Capitan) ENVY:

10.10.5 (Yosemite) ENVY:

Hopefully this isn't seen as spam. I felt it was necessary to keep the first post tidy and neat. I would have liked to have shared these sooner but I've had to deal with a hard drive failure over the last few days. As you can probably imagine, that kept me pretty busy.

 

Now, I don't exactly expect these files to be seen a IMPORTANT updates or anything because that's not what they are. They are simply the end result of me going through old archives and trying to tidy up my previous and unfinished work. As will soon be mentioned on the first post, If you are looking to test the latest and greatest or cutting edge, go with RehabMan's hotpatch repo. If you have things working for you now then GREAT! There is likely nothing in these files that will be of much use to you. These files absolutely are NOT cutting edge, latest and greatest kind of stuff. Almost all of them share files with very similar if not identical version numbers and revisions. These are what I had around and what worked for me during MY personal testing. It is very doubtful that the included kexts are even up-to-date today. They were up-to-date enough, for me. These files were created using very basic testing to ensure very basic functionality. I cannot possibly foresee or test for every possible setup scenario, so I don't even try to. Keep this in mind should you decide to test them out. All that said, hopefully, someone finds a use for them.

 

On 10/15/2018 at 1:15 PM, daniek9898 said:

Hello!

Updated with last gygabyte666 config. Audio working well!

But, the problem with bluetooth headphones is not solved. 
Any Bluetooth headphones aren't working with BCM94352. But, with usb bluetooth module - headphones, and especially airpods working well.

Please, help me solve it.

 

I am unaware of any bluetooth audio problems. You have provided very little detail regarding your issues. Please keep in mind that I do not use bluetooth headphones nor do I own a pair to test with. See above explanation for why I may be unable to assist you. I use the same bluetooth module as yourself but I have experienced no problems to speak of yet using 10.14. My testing is minimal and the only bluetooth device I have tested is an Apple mouse and it works exactly as expected. It is my understanding that AppleHDA underwent several changes in 10.14. This may or may not have something to do with your problem. Have you tested using 10.13 to see if it persists? I would start there if I were you. Good luck.

Share this post


Link to post
Share on other sites

Hi, I am completely new in this. I installed MacOS Mojave in my Envy 15-j1XX notebook. All is fine but I have a problem with the audio, it doesn't work. The readme.txt said that IDT92HD91BXXInject.kext should already include a symlink to the 
original /S/L/E AppleHDA.

I try to use the command ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA <PATHTOINJECTOR>.kext/Contents/MacOS/AppleHDA but I don't know what I have to put in <PATHTOINJECTOR>. The bottom speakers and the subwoofer are still not working?

 

And another question, what gestures of trackpad are working? For me only works the scroll, nothing about pinch to zoom or three fingers gestures.

 

Thanks.

Edited by davigar

Share this post


Link to post
Share on other sites

I have a problem and tried to solve, but now i don't have any ideas which how to do... When the boot join in install screen(Choose language) the video get glitched... How to solve it?

My Laptop:
HP Envy 15t-j100
i7 4700MQ - HD4600
8GB DDR3
NVidia 840M

who that has a similar notebook can send me the clover files?(config.plist, SSDT(Patched) and kexts that you used)

156654253_ScreenShot1396-07-03at6_01_23PM.png.c83736c2e450d24c785bbaab08a837b8.png

Edited by xAndre

Share this post


Link to post
Share on other sites
35 minutes ago, xAndre said:

I have a problem and tried to solve, but now i don't have any ideas which how to do... When the boot join in install screen(Choose language) the video get glitched... How to solve it?

My Laptop:
HP Envy 15t-j100
i7 4700MQ - HD4600
8GB DDR3
NVidia 840M

who that has a similar notebook can send me the clover files?(config.plist, SSDT(Patched) and kexts that you used)

glitch.jpg

 

I have the same problem too, I solve it pressing by 2 seconds the power on button every time that I power on my computer. I am doing test to solve it.

Share this post


Link to post
Share on other sites
45 minutes ago, davigar said:

 

I have the same problem too, I solve it pressing by 2 seconds the power on button every time that I power on my computer. I am doing test to solve it.

I'll try here, if you solve, tell me. THANK YOU!

 

Edit: Did not work... :(
Now I know what you mean... Your System are installed, but mine no... This happen when i try to start install in "choose language". 

Edited by xAndre

Share this post


Link to post
Share on other sites
1 hour ago, xAndre said:

I'll try here, if you solve, tell me. THANK YOU!

 

Edit: Did not work... :(
Now I know what you mean... Your System are installed, but mine no... This happen when i try to start install in "choose language". 

For installing in clover graphic options don't check the inject graphics option and if that does not work, don't check the second option and check the first

Share this post


Link to post
Share on other sites
19 minutes ago, davigar said:

Para instalar em opções gráficas de trevo, não marque a opção de injeção de gráficos e, se isso não funcionar, não marque a segunda opção e verifique o primeiro.

I'm using the files of this topic, are deactivated. I don't know how to solve this problem. :wacko:

Share this post


Link to post
Share on other sites
13 hours ago, xAndre said:

I have a problem and tried to solve, but now i don't have any ideas which how to do... When the boot join in install screen(Choose language) the video get glitched... How to solve it?

My Laptop:
HP Envy 15t-j100
i7 4700MQ - HD4600
8GB DDR3
NVidia 840M

who that has a similar notebook can send me the clover files?(config.plist, SSDT(Patched) and kexts that you used)

glitch.jpg

The fix I made for my laptop is to change the resolution that matches my GPU. Try to press the sleep button once you reach that screen and press power button to wake, then after login try to change your screen display resolution.

Share this post


Link to post
Share on other sites
10 hours ago, tayuman said:

The fix I made for my laptop is to change the resolution that matches my GPU. Try to press the sleep button once you reach that screen and press power button to wake, then after login try to change your screen display resolution.

I need to install OSX first, and i can't, because this problem starts when I boot to install....
Edit: I'm a FCKing idiot... I forgot to boot with legacy support. Now, I finally back to OS X(Sierra 10.12.6)... Thank you all!

Edited by xAndre

Share this post


Link to post
Share on other sites
On 11/6/2018 at 4:52 PM, davigar said:

Hi, I am completely new in this. I installed MacOS Mojave in my Envy 15-j1XX notebook. All is fine but I have a problem with the audio, it doesn't work. The readme.txt said that IDT92HD91BXXInject.kext should already include a symlink to the 
original /S/L/E AppleHDA.

I try to use the command ln -s /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA <PATHTOINJECTOR>.kext/Contents/MacOS/AppleHDA but I don't know what I have to put in <PATHTOINJECTOR>. The bottom speakers and the subwoofer are still not working?

 

And another question, what gestures of trackpad are working? For me only works the scroll, nothing about pinch to zoom or three fingers gestures.

 

Thanks.

Anyone can help me about this?

Share this post


Link to post
Share on other sites
2 minutes ago, davigar said:

Anyone can help me about this?

Use Kext Utility and put IDT92HD91BXXInject.kext file there and wait, when finish, delete the file from kexts/other and reboot.

Share this post


Link to post
Share on other sites
3 hours ago, xAndre said:

Use Kext Utility and put IDT92HD91BXXInject.kext file there and wait, when finish, delete the file from kexts/other and reboot.

 

It doesn't work, It's the only thing I have left to have Mojave 100% functional

Share this post


Link to post
Share on other sites

I have managed to get the speakers working but only the two top speakers are heard, the bottom ones and the subwoofer are not. It is normal? I seemed to read that there was a solution but I do not understand English well.

Share this post


Link to post
Share on other sites
On 11/7/2018 at 8:34 AM, xAndre said:

I need to install OSX first, and i can't, because this problem starts when I boot to install....
Edit: I'm a FCKing idiot... I forgot to boot with legacy support. Now, I finally back to OS X(Sierra 10.12.6)... Thank you all!

Apologizes for the late reply. I take it you got everything sorted out then, yes? Hopefully, so.

On 11/7/2018 at 5:48 PM, davigar said:

I have managed to get the speakers working but only the two top speakers are heard, the bottom ones and the subwoofer are not. It is normal? I seemed to read that there was a solution but I do not understand English well.

My injector, IDT92HD91BXXInject only supports the two top speakers. Research was done in the past to improve this and include the remaining two speakers and subwoofer but I chose to not pursue it. Of course, you are always welcome to try to improve things. Just do us all the favor of sharing the results so everyone can benefit. Thanks. :)

Share this post


Link to post
Share on other sites

On the HP Envy 17 J102SR Everything works perfectly on the Samsung 850PRO SSD
I7 4702QM \ HD4600 \ 16gb RAM

AR5B195 not supported at 10.14, but I installed the kext AirPort.Atheros40.kext and everything is fine :D
I would also like to note that AudioInjector turned on 4 speakers! 2 upper and 2 lower.
Athough to be honest, there are minor brakes in the lunchpad when you open large folders with applications. And there is no smooth decrease in brightness when going to sleep or getting out of sleep.
How to disable the touchscreen? it is on HS13 and I’m not deleting this item in the SSDT, but instead adding a LeapMotion device, which I don’t need at all. :|

Share this post


Link to post
Share on other sites
Hi,
I am new to Hackintosh, and I just installed Mojave into my HP Envy 15 q010tx, and I followed all your instructions (Rehabman) and everything works just fine as the document described.
https://www.tonymacx86.com/threads/guide-hp-envy-haswell-series-j-k-q-n-using-clover-uefi.261724/
But my audio part doesn't work and nothing shows in the system prep/audio with our any audio in/out device.
Could you please help me to solved this problem?

Benny 
New Hackintoshian
 
Edited by Benny Lam

Share this post


Link to post
Share on other sites

One more thing, how can I applied the zip file's contents into my Hackintosh ?

I notice some kext , a config.plist and a SSDT-HACK.aml, ow can I use them to update my Hackintosh ?

Share this post


Link to post
Share on other sites
On 11/6/2018 at 11:06 AM, xAndre said:

I have a problem and tried to solve, but now i don't have any ideas which how to do... When the boot join in install screen(Choose language) the video get glitched... How to solve it?

My Laptop:
HP Envy 15t-j100
i7 4700MQ - HD4600
8GB DDR3
NVidia 840M

who that has a similar notebook can send me the clover files?(config.plist, SSDT(Patched) and kexts that you used)

156654253_ScreenShot1396-07-03at6_01_23PM.png.c83736c2e450d24c785bbaab08a837b8.png

 

Hello everyone. I'm here again trying to hackingtosh my device with Mojave 10.14.6
I wish I could help but I'm also having this problem. the way I "fix" it is by closing the lid of my laptop for 2 seconds and opening again. but it happens on every boot.
this didn't happen on El Capitan. only momentarily after the OS loaded and the logon screen appeared.

I have more issues and I'm at my wits end :(

 

my hackintosh boots fine but the kext don't seem to actually work.

 

the graphics glitch in apps that aren't apple.
there is no sound device

no trackpad settings
I have put the kext in efi/clover/kext/other but when that didn't work I decided to also put them in system/library/extensions and ran sudo chmod -R 755 /System/Library/Extensions && chown -R 0:0 /System/Library/Extensions  to fix the permissions of the kexts and sudo touch /System/Library/Extensions && sudo kextcache -u / to update the kext cache. sadly this did nothing but I do get in the terminal that the kexts were allowed to load and nothing regarding kexts on the console.

Also Twitter freezes the computer and have to hard reboot. EDIT: I think I fixed the Twitter/Safari freeze by installing the latest Lilu.kext and WhateverGreen.kext

 

please someone help me, I got an almost perfect hackintosh. sometimes it DOES boot with at least the graphics and audio working fine, but if I reboot it's back to having no audio and graphics glitches.

 

my computer is an Envy 17 quad j-000. intel HD 4600. Mojave 10.14.6
I'm using Clover_v2.5k_r5070
APFS hard drive.
the symlink for the appleHDA in IDT92HD91BXXInject.kext is also correct.

Edited by Ewel

Share this post


Link to post
Share on other sites

look I am currently booted into it and it's working almost perfectly. Audio, Graphics, iCloud, FaceTime, iMessage all work.
but no trackpad driver. (the trackpad does work though, so it's not a huge deal)

if I reboot it's a crapshoot if the audio and graphics will work. I have to keep rebooting till they do.

Screen Shot 2019-09-26 at 5.25.20 AM.jpg

Edited by Ewel

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 ludufre
      New guide available for macOS Catalina 10.15!
       
       
      Installing macOS Mojave 10.14.6 on Gigabyte Z370N WIFI + i7 8700K + UHD 630



      Changelog:
       
      09/01/2019 15:57h GMT-0
      - Updated to 10.14.6.
       
      06/10/2019 00:44h GMT-0
      - Completely rewritten.
       
      10/17/2018 08:12h GMT-0
      - Fix Kexts permissions commands adjusted.
      - Removed FrameBuffer patch that is not needed.
      - Added audio solution and HDMI.
      - Unfortunately DisplayPort does not work.
      - Replaced Wifi/BT with DW1560 (BCM94352Z)
       
      10/11/2018 04:15h GMT-0
      - Added USB 3.0 patch.
      - Adjusted some steps.
      - Changed text formatting.
       
      10/11/2018 03:42h GMT-0
      - Added missing UEFI configuration.
       
      10/07/2018 00:36h GMT-0
      - First version.
       
      What works and what does not
       
      - Processor: Intel Core i7-8700K ->  Work. All SpeedStep stages.
      - Video Card: Intel UHD 630 ->  Work. QE/CI and Metal.
      - Chipset: Intel Z370 ->  Work.
      - HDMI 2.0 (1st) ->  Work.
      - HDMI (2nd) ->  Work.
      - DP ->  Not tested yet.
      - Audio: ALC1220 ->  Work.
      - HDMI Audio ->  Work.
      - WiFi/Bluetooth ->  Not work. Replaced with BCM94360CS2.
      - Ethernet (1st) ->  Work.
      - Ethernet (2nd) ->  Work.
      - USB3.0 ->  Work.
      - Sleep ->  Work.
      - Airdrop, Handoff, Instant Hotspot and Continuity ->  Work after replaced wireless.
       
       
      Todo
       
      - Make audio work.
      - Make HDMI audio work.
      - Test DisplayPort.
      - Make second ethernet work.
      - Replace Wifi/Bluetooth.
      - Test DP.
       
      What you need to install

      - Running install of macOS
      - One USB flash drive of 8GB or bigger
      - macOS Mojave install app
      - Clover Configurator
      - Clover EFI
      - Clover Configurator
      - Some KEXTs and SSDT patches


      How create create the install flash drive
       
      Prepare install flash drive

      Format the flash drive 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
       
      Create install flash drive

      Open terminal and run this command:
      sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --nointeraction This will take about 30 minutes. / 8 minutes with USB 3.0
       
       

      Install bootloader

      Download the CloverEFI (used 5058, from Automated Clover Builds) and install with this options on "Install macOS Mojave":
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - UEFI Drivers - Recommended drivers (check all)
      - UEFI Drivers - Human Interface Devices (check all)
      - UEFI Drivers - FileVault 2 UEFI Drivers (check all, If you are going to use FileVault)
      - UEFI Drivers - Additional drivers - NvmExpressDxe (if you are going to use NVMe)


       
       
      Make things works
       
      We'll make a full working flash drive, so follow these instructions:
       
      Will be mounted the EFI partition of the flash drive.
       
      Open the the /Volumes/EFI/CLOVER/config.plist inside this new partition with Clover Configurator (used 5.5.0.0)
       
      Important modifications
       
      config.plist
       
      ACPI Page
       
      - Check: SSDT - PluginType
       
      BOOT Page
       
      - Add: Arguments - darkwake=2
      - Check: Legacy - XMPDetection=Yes
       
      KERNEL AND KEXT PATCHES Page
       
      - Check: KernelPm
       
      RT VARIABLES Page
       
      - Change: CsrActiveConfig - 0x3E7
       
      SMBIOS Page
       
      - Change: Macmini8,1 - Mac mini (Late 2018) | Intel Core i7-8700B @ 3.20 GHz

       
      - Click: Generate New (few times in the two buttons)

       
       
      Need some Kexts in the folder /EFI/CLOVER/kexts/Other/
       
      - Download the HWSensors 3 from here. I used the FakeSMC.kext, ACPIMonitor.kext, ITEIT87x.kext and IntelCPUMonitor.kext inside of DMG version r240.
      - Download the Lilu.kext from here. I used the version 1.3.8.

       
      Intel UHD 630
       
      ACPI Page
      - Uncheck: Fixes - AddHDMI
      - Uncheck: Fixes - FixDisplay
      - Uncheck: Fixes - FixHDA
       
      GUI Page
      - Change: Screen Resolution - 3840x2160 (My monitor is 4K)

      Need a Kext in the folder /EFI/CLOVER/kexts/Other/
       
      - Download the WhateverGreen.kext from here. I used the version 1.3.1.

       
      Audio ALC 1220 and HDMI audio

      BOOT Page
      - Add: Arguments - alcid=11

      DEVICES Page
      - Change: Audio - Inject - 11
      - Uncheck: Audio - AFGLowPowerState
      - Uncheck: Audio - ResetHDA

      Need a Kext in the folder /EFI/CLOVER/kexts/Other/
       
      - Download the AppleALC.kext from here. I used the version 1.4.0.

       
      All USBs (2.0, 3.0, Type-C, internal)
       
      KERNEL AND KEXT PATCHES Page - KextsToPatch
       
      - Name*: com.apple.iokit.IOUSBHostFamily
      - Find* [HEX]: 83FB0F0F
      - Replace* [HEX]: 83FB3F0F
      - Comment: USB Port Limit Patch 1 PMHeart/DalianSky
      - MatchOS: 10.14.x
       
      - Name*: com.apple.iokit.IOUSBHostFamily
      - Find* [HEX]: 83FB0F0F
      - Replace* [HEX]: 83FB3F0F
      - Comment: USB Port Limit Patch 2 PMHeart/DalianSky
      - MatchOS: 10.14.x
       
      - Name*: com.apple.driver.usb.AppleUSBXHCI
      - Find* [HEX]: 83FB0F0F
      - Replace* [HEX]: 83FB3F0F
      - Comment: USB Port Limit Patch 3 PMHeart/DalianSky
      - MatchOS: 10.14.x
       
      - Name*: com.apple.driver.usb.AppleUSBXHCI
      - Find* [HEX]: 83FF0F0F
      - Replace* [HEX]: 83FF3F0F
      - Comment: USB Port Limit Patch 4 PMHeart/DalianSky
      - MatchOS: 10.14.x
       
      Need a Kext in the folder /EFI/CLOVER/kexts/Other/
       
      - Download the USBInjectAll.kext from here. I used the version 2018-1108.
       
      Need SSDT patch in the folder /EFI/CLOVER/ACPI/patched/
       
      - Download the SSDT-EC.aml, SSDT-UIAC.aml and SSDT-USBX attached bellow.
       
      Wifi and Bluetooth (BCM94360CS)
       
      Works out of box (plug 'n' play).
       
       
      LAN Cards
       
      Need a Kext for feach card in the folder /EFI/CLOVER/kexts/Other/
       
      - Download the IntelMausiEthrenet.kext from here. I used the version 2018-1031.
      - Download the SmallTreeIntel82576.kext attached bellow. I do not remember where I found it.

       
      Now you can start the instalation without problem (I guess).
       
       
      How install
       
      UEFI Setup Configuration and Installation

      UEFI configuration
       
      - Shutdown and insert the flash.
      - Power on with DEL pressed to enter BIOS setup.
      - Change value: Periphelrals - Initial Display to IGP
      - Change value: Periphelrals - USB Configuration - XHCI Hand-off to ENABLE
      - Change value: Chipset - VT-d to DISABLE
      - Change value: Chipset - Internal Graphics to ENABLE
      - Change value: Chipset - DVMT Pre-Allocated to 128M
      - Save & Exit Setup
       
      - Now, hold the F12
      - In the list, select your flash drive.
      - It will show twice. One with UEFI prefix and another without.
      - Select with UEFI prefix. Ie.: "UEFI: Sandisk Cruzer"
       
      The installer will start. 
      
      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: APFS and Scheme: GUID Partition Map

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

      After install

      After first part install the system will reboot.
      
      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 destination disk EFI parittion, with EFI folder inside flash card EFI partition.

      If the flash drive EFI partition of your destination disk or flash drive is unmounted:
      Mount with terminal "sudo diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 0 for destination disk and 1 for flash drive.
       
      Then, eject the flash drive.
       
      Last step
       
      Move all Kexts from EFI partition to /Library/Extensions, with those commands in Terminal:
      sudo cp -R /Volumes/EFI/EFI/CLOVER/kexts/10.14/* /Library/Extensions/ sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i / Restart the system.
       
       
      It's done!
       
       
      Updates
       
      System update 10.14.6
       
      - Download and open latest CloverConfigurator
      - Open Mount EFI and click in Mount Partition in EFI Partitions list
      - Click in Open Partition that appears
      - Go to EFI -> CLOVER
      - Backup config.plist and ACPI folder to desktop
      - Go back and delete CLOVER folder
      (If you restart now you can't boot in macOS - DON'T RESTART)
      - Download latest Clover and install (link and config above)
      - Replace config.plist and ACPI folder from your desktop
       
      - Update Lilu.kext, AppleALC.kext, WhateverGreen.kext, HWSensors kexts (FakeSMC, ACPIMonitor, IntelCPUMonitor, ITEIT87x) in /Library/Extensions/
      - Run:
       
      sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i /  
       
      - Install macOS Update 10.14.6 and restart
       

       
      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.
       
       
       
      Z370N-WIFI v2.zip
    • By Donw35
      Catalina update 10.15.1 without issue although you may have to make sure clover boots from the right partition.
      HP 840 G2, working with OS X 10.15 Catalina, for this to work you will need the SSDT-ECUSBX.aml and place that  EFI/CLOVER/ACPI/Patched. 
      Make sure you remove Remove all patch about renaming acpi of EC or H_EC,, revert all ACPI renaming in ACPI DSDT.
       
      My method to install OS X on the SSD from a working real Mac via SSD to USB converter. I then install Clover and add my kexts ad set the config.plist
       
      Not working
      SD Card reader
       
      Working
      Video - screen looks better in OS X then it does in Windows 10
      Display port
      VGA port
      WiFi and BlueTooth working OOO using the below hack
      Battery status with Rehabman's DSDT patch
      Brightness controls
      Sounds - using VoodooHDA
      Microphone - cannot turn it off or mute
      Keyboard backlight - controlled though BIOS anyways
      touchpad - using VoodooPS2Controller
      USB3 - this laptop has two on board only and I haven't test them using the docking station
      USB3.1 C
      Ethernet - using IntelMausiEthernet
      Sleep - kind of, closing the lid doesn't go to sleep but goes to sleep over time.
       
      Not tested
      This laptop does not have a Webcam - enterprise model.
      Finger Print device
       
       
       

       
      SSDT-ECUSBX.aml
      CLOVER.zip
    • 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
×