Jump to content
ludufre

[GUIDE] El Capitan 10.11.5 on ASUS Vivobook S400C (S400CA-CA178H)

22 posts in this topic

Recommended Posts

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 -> Tick.png Work. i5-3317U @ 1.7Ghz/2.6Ghz.  SpeedStep 8 to 26 stages. AsusAICPUPM <true/> in Clover config.plist. 
- Video Card -> Tick.png Work. HD4000. Full QE/CI.
- Chipset -> Tick.png Work.
HDMI -> Tick.png Work.
- VGA -> Cross.png Not work.
- Audio -> Tick.png Work. VoodooHDA 2.8.8 (use PKG file).
- WiFi -> Tick.png 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 -> Tick.png Work. AtherosE2200Ethernet 2.1.0.
- Keyboard and touchpad -> Tick.png Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
- FN keyboards keys -> Tick.png Work. Changed FN keys layout inside ELAN kext above.
- Brightness control -> Tick.png Work. Clover <KextsToPatch> below.
- Touchscreen -> Tick.png Work. USB port inject kext in attachment.
- Sleep -> Tick.png Work. DSDT patch (below) and <HighCurrent> set to <true/> in Clover.
- Battery -> Tick.png Work. ACPIBatteryManager by RehabMan (version 2016-0531) and DSDT patch (below).
- Card Reader -> Tick.png Work. USB port inject kext in attachment.
- Integrated Camera -> Tick.png Work. AnyiSightCam.
- Bluetooth -> Tick.png Work. Bluetooth Firmware Uploader (version 3.1).
- 2nd stage boot logo -> Tick.png 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:
 

 

 

Quote

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

 
This will take about 30 minutes.
Screen_Shot_2016_06_25_at_4_41_35_PM.png
Installing bootloader:
 
Download the CloverEFI (used 3577) and install with this options on "Install OS X El Capitan":
Screen_Shot_2016_06_25_at_6_43_49_PM.pngScreen_Shot_2016_06_25_at_6_43_53_PM.png
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

Edited by ludufre

Share this post


Link to post
Share on other sites
Advertisement

You should try to use AppleHDA, not VoodooHDA as it produces terrible audio output on laptops. AppleALC is a good way to start things off

Share this post


Link to post
Share on other sites

You should try to use AppleHDA, not VoodooHDA as it produces terrible audio output on laptops. AppleALC is a good way to start things off

If you're talking about this AppleALC, I tried and did not work. Cause kernel panic.

Share this post


Link to post
Share on other sites

If you're talking about this AppleALC, I tried and did not work. Cause kernel panic.

I have Asus S400CA, Intel Core i7-3517U, HD 4000, VIA 1802, память 8gb,  installed MacOS⌘10.11.6, 10.12

 

What works and what does not work

 

- Processor -> Tick.png Work.  
- Video Card -> Tick.png Work. HD4000. Full QE/CI.
- Chipset -> Tick.png Work.
HDMI -> Tick.png Work.
- VGA -> Cross.png Not work.
- Audio -> Tick.png Work. AppleALC. (в 10.12 Sierra I use VoodooHDA, it works better microphone and Siri understands.)
- WiFi -> Tick.png Work. Replaced by Atheros 9280: 4.0.74.0-P2P,
- Ethernet -> Tick.png Work. AtherosE2200Ethernet 2.1.0.
- Keyboard and touchpad -> Tick.png Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
- FN keyboards keys -> Tick.png Work. 
- Brightness control -> Tick.png Work. DSDT patch.
- Sleep ->Tick.png Work. 
- Battery -> Tick.png Work.
- Card Reader ->Tick.png Work.
- Integrated Camera -> Tick.png Work. AnyiSightCam.
- Bluetooth -> is not set.

- 2nd stage boot logo -> Tick.png Work. (patch clover.)

My BIOS settings :

- Intel Virtualization Technology: Enable.

- VT-d: Disabled

- USB Configuration - XHCI Pre-Boot Mode: Enable.

 My EFI folder attached.

 

EFI brumas.zip

Share this post


Link to post
Share on other sites

If you're talking about this AppleALC, I tried and did not work. Cause kernel panic.

Or you can try AppleHDA patcher.

 

 

Я имею Asus S400CA, Intel Core i7-3517U, HD 4000, VIA 1802, память 8gb,  установлены MacOS⌘10.11.6, 10.12

 

What works and what does not work

 

- Processor -> Tick.png Work.  
- Video Card -> Tick.png Work. HD4000. Full QE/CI.
- Chipset -> Tick.png Work.
HDMI -> Tick.png Work.
- VGA -> Cross.png Not work.
- Audio -> Tick.png Work. AppleALC. (в 10.12 Sierra использую  VoodooHDA, с нем лучше работает микрофон и понимает Siri.)
- WiFi -> Tick.png Work. Replaced by Atheros 9280: 4.0.74.0-P2P,
- Ethernet -> Tick.png Work. AtherosE2200Ethernet 2.1.0.
- Keyboard and touchpad -> Tick.png Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
- FN keyboards keys -> Tick.png Work. 
- Brightness control -> Tick.png Work. DSDT patch.
- Sleep ->Tick.png Work. 
- Battery -> Tick.png Work.
- Card Reader ->Tick.png Work.
- Integrated Camera -> Tick.png Work. AnyiSightCam.
- Bluetooth -> не установлен.

- 2nd stage boot logo -> Tick.png Work. (patch clover.)

Мои настройки BIOS :

- Intel Virtualization Technology: Enable.

- VT-d: Disabled

- USB Configuration - XHCI Pre-Boot Mode: Enable.

 Свою папку EFI прилагаю.

 

 

 

Post in English, please.

Share this post


Link to post
Share on other sites

 

I have Asus S400CA, Intel Core i7-3517U, HD 4000, VIA 1802, память 8gb,  installed MacOS⌘10.11.6, 10.12

 

What works and what does not work

 

- Processor -> Tick.png Work.  
- Video Card -> Tick.png Work. HD4000. Full QE/CI.
- Chipset -> Tick.png Work.
HDMI -> Tick.png Work.
- VGA -> Cross.png Not work.
- Audio -> Tick.png Work. AppleALC. (в 10.12 Sierra I use VoodooHDA, it works better microphone and Siri understands.)
- WiFi -> Tick.png Work. Replaced by Atheros 9280: 4.0.74.0-P2P,
- Ethernet -> Tick.png Work. AtherosE2200Ethernet 2.1.0.
- Keyboard and touchpad -> Tick.png Work. ELAN, FocalTech and Synaptics (Smart Touchpad) Driver (Mac OS X) (version 4.6).
- FN keyboards keys -> Tick.png Work. 
- Brightness control -> Tick.png Work. DSDT patch.
- Sleep ->Tick.png Work. 
- Battery -> Tick.png Work.
- Card Reader ->Tick.png Work.
- Integrated Camera -> Tick.png Work. AnyiSightCam.
- Bluetooth -> is not set.

- 2nd stage boot logo -> Tick.png Work. (patch clover.)

My BIOS settings :

- Intel Virtualization Technology: Enable.

- VT-d: Disabled

- USB Configuration - XHCI Pre-Boot Mode: Enable.

 My EFI folder attached.

 

 

 

brunas, comparing my original DSDT.aml with your I found you applied the patches "Fix *pnp/pnp lowercase Error" and "Rename GFX0 to IGPU". What other patches you applied?

 

[Edit]

 

@brumas,

I realized that you also apply the battery patch "ASUS G75VW". Which patch you used to change _T_0 to T_0 and XHC to XHC1?

Share this post


Link to post
Share on other sites

brunas, comparing my original DSDT.aml with your I found you applied the patches "Fix *pnp/pnp lowercase Error" and "Rename GFX0 to IGPU". What other patches you applied?

 

[Edit]

 

@brumas,

I realized that you also apply the battery patch "ASUS G75VW". Which patch you used to change _T_0 to T_0 and XHC to XHC1?

DSDT.aml patcher not myself, I helped m-dudarev (https://www.applelife.ru/members/m-dudarev.68623/), so what he used the patches I don't know, the main thing is that everything works.

Share this post


Link to post
Share on other sites

I think it is a good way to try using SSDT to patch everything ( similar to Rehabman's SSDT-HACK for Probook/Envy ) instead of using old-fashioned DSDT patching

Share this post


Link to post
Share on other sites

I think it is a good way to try using SSDT to patch everything ( similar to Rehabman's SSDT-HACK for Probook/Envy ) instead of using old-fashioned DSDT patching

I did not understand. Could you be more specific ... I have not found what you said.

Share this post


Link to post
Share on other sites

I did not understand. Could you be more specific ... I have not found what you said.

Look up Rehabman Probook github, it has everything you are looking for

Share this post


Link to post
Share on other sites

Or you can try AppleHDA patcher.

@Allan, I got audio working with AppleHDA Patcher 1.4 with Realtek ALC268 VB1, but the combo mic/output for earphone don't work. I know what can I do

Share this post


Link to post
Share on other sites

Hi!

 

I follow this guide for install macOS Sierra on my vivobook S300C

I have successfuly install the OS on my machine, but i have 3 big problem with "post installation setup"

 

1) The screen is flickering , it seems that the graphics card is not recognized correctly.

2) I can't install Clover for boot without the usb drive.... I have instal pkg, replaced the EFI and selected the option "Add Clover boot options for all entries" but nothing, without the usb wont boot :(

3 The wifi card not appear in the network option...

 

 

Can you help me please?

 

 

thanks a lot for your work!

Share this post


Link to post
Share on other sites

I used this instruction for Sierra 10.12, Brightness not working.

and "could not load Display preferences error" appears when click on Display

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 JamesMaloney
      Salve a tutti,
      ho provato diverse volte ad installare macOS sul mio laptop ma sempre senza successo, non riesco mai ad arrivare nemmeno all'installer!
      Ho tentato ormai diverse configurazioni/driver ma non capisco mai da cosa siano derivanti gli errori o i blocchi che mi trovo davanti e sto quindi cercando aiuto per capire come procedere 
      Nello specifico il config che sto provando ad utilizzare non mi trova per niente la partizione con l'installer, mentre un altro vecchio (presente sempre nella cartella di clover allegata con estensione .orig) si inchioda subito dopo la scelta della partizione di avvio.
      Qualcuno mi sa dare una mano su come superare ciò?
      Grazie in anticipo,
       
      Giacomo
       
       
      P.S. Le mie specifiche sono:
       
      - Modello ASUS N552VW-FI202T
      - Schermo 3840x2160
      - CPU Intel Core i7-6700HQ
      - RAM 16GB ddr4 2400mHz
      - Intel HD Graphics 530 + nVidia 960m 4GB (anche funzionasse solo la Intel sarebbe perfetto)
      - SSD 256GB
      - HDD 1TB
      CLOVER.zip
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://olarila.com/forum/viewtopic.php?f=81&amp;t=6771   ***The topic is for Notebooks and Desktops***   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://olarila.com/forum/viewtopic.php?f=50&t=8685
          -Mojave Full DSDT patch http://olarila.com/forum/viewtopic.php?f=59&amp;t=6428 First... ***Update bios to last available version!***   If you need DSDT edits for SkyLake, KabyLake or CoffeeLake... -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app     Look at my Clover folders and understand what we really need, this is the best way to learn     1-Installation     --Create a bootable copy of macOS Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://sourceforge.net/projects/cloverefiboot/files/Installer/   --Replace with my Clover folder    https://olarila.com/files/Clover.Folder/CLOVER.SERIES.100.200.300.zip   --Install Sierra/High Sierra and boot into system! 2-Post Installation     --Install Clover in HDD/SSD and replace with my folder   https://olarila.com/forum/viewtopic.php?f=28&t=8222   --Reboot and activate video!   3-Video     -Nvidia WebDriver Sierra http://www.insanelymac.com/forum/topic/312525-nvidia-web-driver-updates-for-macos-sierra-update-07212017/   -Nvidia WebDriver High Sierra   http://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-10162017/   -Cuda   http://www.insanelymac.com/forum/topic/302795-cuda-90214-is-out-update-10162017/   -Check it, easy way   nvidia-update.command.zip by Benjamin-Dobell   4-DSDT       Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC* -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -RTC -IRQs -SBUS* -BLC0 -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -IMEI -EC -PNLF(Nvidia/AMD) -HDMI ---To avoid problems use some patches in config.plist, don't forget!--- GLAN to GIGE 474c 414e 4749 4745 GFX0 to IGPU 47465830 49475055 HDAS to HDEF 48444153 48444546 HECI to IMEI 48454349 494d4549 SAT0 to SATA 53415430 53415441 5-SSDT   Generate your SSDT for PM, use ssdtPRGen by Piker-Alpha https://github.com/Piker-Alpha ssdtPRGen.command.zip   or just use "plugin-type"=0x01 in DSDT, SSDT or Clover config.plist   for check Power, Frequency, Temperature and Utilization, use it Install Intel Power Gadget.pkg.zip   6-Brightness  
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
        -Clover   https://sourceforge.net/projects/cloverefiboot/files/Installer/   -Lan driver by Mieze     -Atheros http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   -Links     -FakeSmc https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/293863-applehda-patch-requests/   -USB https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   if u like, Rate Topic     It's time to Rock -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, badruzeus and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By ludufre
      Installing macOS Catalina on Asus VivoBook S400CA
       
       
      There are several versions of this laptop.
       
      These are the versions I've seen so far:
      - S400CA-BRA-CA206H = i3-2375M with ALC269VB
      - S400CA-BRA-CA178H = i5-3317U with VT1802P
       
      I believe that all models are practically identical except the variations i3 and i5 that have particularities, because one is Sandy Bridge platform and another Ivy Bridge.
       

      Changelog:
       
      11/11/2019 04:41h GMT-0
      - Merged Core i3 and i5 config.plist.
      Same SMBIOS now. Core i3 version need to remove: Devices - Properties - PciRoot(0x0)/Pci(0x2,0x0). - Just one USBPorts.kext now, since SMBIOS are same. 
       
      11/10/2019 20:41h GMT-0
      - Updated USB 3.0 injection. (Removed USBInjectAll.kext and SSDT-UIAC.aml and added USBPorts.kext)
      - Replaced AtherosE2200Ethernet.kext with version 2.3.0 RELEASE. (Previously was DEBUG build)
       
      11/10/2019 00:22h GMT-0
      - Added Battery's DSDT patch.
      - Fixed USB 3.0. (Replaced USB's DSDT patch, removed FakePCIID.kext and FakePCIID_XHCIMux.kext and added SSDT-EC.aml and SSDT-UIAC.aml)
      - Updated config.plist. (Removed PNP0C09 to PNPFFFF, not needed with SSDT-EC.aml)
       
      11/08/2019 14:33h GMT-0
      - First version.
       
      What works and what does not
       
      Core i3 Version specific
      - Processor: Intel Core i3-2375M ->  Work. All SpeedStep stages.
      - Video Card: Intel HD3000 ->  Work. QE/CI without Metal. (additional step bellow)
      - Audio: ALC269VB ->  Work. But no earphone. (more details)
       
      Core i5 Version specific
      - Processor: Intel Core i5-3317U ->  Work. All SpeedStep stages.
      - Video Card: Intel HD4000 ->  Work. QE/CI and Metal.
      - Audio: VT1802P ->  Work.
       
      Common
      - Chipset: Intel HM76 ->  Work.
      - HDMI ->  Work.
      - VGA ->  Not work. Normal.
      - WiFi/Bluetooth: Intel AC 3160 ->  Not work. Replaced with DW1560 / AW-CE123H.
      - Ethernet: Intel AR8161 ->  Work.
      - Card Reader: Unknow ->  Not work.
      - Keyboard and Touchpad ->  Work.
      - FN keyboards keys ->  Not work yet.
      - Webcam ->  Work.
      - Battery ->  Work.
      - Touch screen ->  Not work.
      - USB3.0 ->  Work.
      - Sleep ->  Work.
      - Airdrop, Handoff and Continuity ->  Work after replaced wireless.
      - Instant Hotspot ->  Not work even after replaced wireless.
       
       
      Todo
       
      - Make earphone work in Core i3 version.
      - Fix FN keyboard keys.
      - Convert DSDT patches to hotpatch.
      - Make touch screen work.
      - Make card reader work.
      - Make trackpad appear in System Preferences
       
       
      What you need to install

      - Running install of macOS
      - One USB flash drive of 8GB or bigger
      - macOS Catalina install app
      - 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\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --nointeraction This will take about 30 minutes.
       


      Install bootloader

      Download the CloverEFI from official repository (used 5098) and install only with these options on "Install macOS Catalina":
       
      - Install for UEFI booting only
      - Install Clover in the ESP
      - UEFI Drivers - Recommended Drivers - FSInject (I still don't know if it's really necessary)
      - UEFI Drivers - File System drivers - ApfsDriverLoader (Support to APFS partitions)
      - UEFI Drivers - File System drivers - VBoxHfs (Support HFS/HFS+ partitions)
      - UEFI Drivers - Memory fix drivers - AptioMemoryFix (Fix the memory management of de UEFI/BIOS)
      - UEFI Drivers - Additional drivers - CsmVideoDxe
       
      FileVault 2
       
      If you plan to use FileVault 2, you need to download additional drivers, since what comes with Clover is not up to date and use VirtualSMC instead of FakeSMC.
      Follow instructions bellow:
       
      From current Clover installation, check these options to USB keyboard/mouse work on password screen:
      - UEFI Drivers - Human Interface Devices - UsbKbDxe
      - UEFI Drivers - Human Interface Devices - UsbMouseDxe
       
      After Clover install will be created a partition named EFI and mounted in Desktop. Usually the path is /Volumes/EFI/.
       
      Download the versions 2.1.0 and 2.0.9 of AppleSupportPkg from: https://github.com/acidanthera/AppleSupportPkg/releases
      We need the last version of AppleGenericInput.efi that is inside 2.1.0 and last version of AppleUiSupport.efi that is inside 2.0.9.
      OR download attached bellow.
       
      Put in /Volumes/EFI/EFI/CLOVER/drivers/UEFI/
       
      That's it! FileVault 2 will work without problems.
       

       
       
      Make things works
       
      After Clover install will be created a partition named EFI and mounted in Desktop. Usually the path is /Volumes/EFI/.
       
      - Replace the /Volumes/EFI/EFI/CLOVER/config.plist with mine attached below according to your processor version.
      - Put all SSDT-*.aml attached below in /Volumes/EFI/EFI/CLOVER/ACPI/patched/
       
      Generate your Serial, MLB and SmUUID
       
      - Open the replaced config.plist with Clover Configurator (used 5.7.0.0)
      - Go to SMBIOS, click few times in "Generate New" in Serial Number and SmUUID.
       
      Core i3 version:
      - Go to Devices - Properties.
      - Remove: PciRoot(0x0)/Pci(0x2,0x0).
       
      Core i5 version:
      - Remove: /Volumes/EFI/EFI/CLOVER/ACPI/patched/SSDT-PWR.aml
       
      Copy the Clover Configurator to flash drive because you will need later.
       
      Download those Kexts and put in /Volumes/EFI/EFI/CLOVER/kexts/Other/
       
      - Download the VirtualSMC.kext, SMCProcessor.kext, SMCBatteryManager.kext and UEFI driver (put VirutalSmc.efi inside /Volumes/EFI/EFI/drivers/UEFI/). I used the version 1.0.9.
      - Download the Lilu.kext from here. I used the version 1.3.9.
      - Download the VoodooPS2Controller.kext from here. I used version 2.0.4.
      - Download the AtherosE2200Ethernet.kext from here. I used the version 2.3.0 compiled from source (attached below), but the release 2.2.2 works too.
      - Download the AppleALC.kext from here. I used the version 1.4.3.
      - Download the WhateverGreen.kext from here. I used the version 1.3.4.
      - Download the USBPorts.kext attached bellow to properly inject USBs.
       
       
      Keyboard swap Command with Option (optional)
       
      - If you prefer, you can swap Command and Option keys, to map Win Key - Command and Alt - Option.
      - Change /Volumes/EFI/EFI/CLOVER/OEM/S400CA/UEFI/kexts/10.15/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist:
      <key>Swap command and option</key> <true/> to:
      <key>Swap command and option</key> <false/> Or, download the version 2.0.4 already adjusted attached bellow.
       
       
      Wifi and Bluetooth (DW1560 / AW-CE123H)
       
      After replaced the wireless card. Download those Kexts and put in /Volumes/EFI/EFI/CLOVER/kexts/10.15/
       
      - Download the AirportBrcmFixup.kext from here. I used the version 2.0.4. (To enable Wireless)
      - Download the BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext from here. I used the version 2.5.0. (To enable Bluetooth)
      - Download the BT4LEContinuityFixup.kext from here. I used the version 1.1.4. (To enable Handoff and Continuity)
       
      Keep in mind that the bluetooth kexts are currently in development and the official releases will be available in future in the repository: https://github.com/acidanthera/BrcmPatchRAM/releases
       
      Now you can start the installation without problem (I guess).
       
       
      How install
       
      UEFI Setup Configuration and Installation

      UEFI configuration
       
      My BIOS is the latest: 210
       
      - Shutdown and insert the flash drive.
      - Power on with F2 pressed to enter BIOS setup.
      - Change value: Advanced - Intel Virtualization Technology to DISABLED
      - Change value: Advanced - Intel(R) Anti-Theft Technology Configuration to DISABLED
      - Save & Exit Setup (F10)
       
      - Now, hold the ESC
      - In the list, select your flash drive.
      - Choose the flash drive (white icon).
       
      The installer will start. 
      
      Format destination disk

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

      - 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. Maybe you have to press ESC again and select the flash drive.
       
      Choose the internal disk (gray hdd icon) if not already selected.

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

      Post installation
       
      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 make the system disk bootable.

      Open the Clover Configurator from flash drive that you copied before.

      Mount and open the flash drive EFI partition. (Inside Clover Configurator, Mount EFI -> Select flash drive in Efi Partitions list -> Mount Partition -> Open Partition)
       
      Copy the EFI folder to desktop.
       
      Go back to Clover Configurator, unmount the EFI partition of the flash drive and mount and open the EFI partition of internal disk.
       
      Move the EFI folder from Desktop to EFI partition of the internal disk.
       
      Eject the flash drive.
       
      Move all Kexts from EFI partition of internal disk to /Library/Extensions and make kext cache, with those commands in Terminal:
      sudo mv -R /Volumes/EFI/EFI/CLOVER/kexts/10.15/* /Library/Extensions/ sudo chmod -R 755 /Library/Extensions sudo chown -R root:wheel /Library/Extensions sudo kextcache -i / Restart the system.
       
      If you go directly to BIOS you have to add Clover entry manually:
       
      - 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".
       
      Intel HD 3000 - Core i3 version only
       
      If you have the i3 version with HD 3000 iGPU you have to do an additional step:
       
      - Download latest Legacy Video Patch from: https://github.com/chris1111/Legacy-Video-patch/releases
      - Always use the version compatible with your current Catalina build!
      - Run the installer and reboot.
      - Graphics acceleration now works. But you'll have some rare artifacts because of lack support of Metal.
       
       
      Battery, USB & Sleep DSDT patch
       
      First we need dump current DSDT/SSDT tables:
      - Restart.
      - On Clover menu, press F4 to dump.
      - Select internal disk and start normally.
       
      Prepare files:
      - Open the Clover Configurator from flash drive that you copied before.
      - Mount and open the internal disk EFI partition. (Inside Clover Configurator, Mount EFI -> Select internal disk in Efi Partitions list -> Mount Partition -> Open Partition)
      - Navigate to EFI/CLOVER/ACPI/origin/.
      - Copy DSDT.aml to EFI/CLOVER/ACPI/patched/.
      - You'll have DSDT.aml, SSDT-EC.aml, SSDT-PWR.aml (if Core i3 version) and SSDT-PNLF.aml in EFI/CLOVER/ACPI/patched/.
       
      Apply patches to DSDT.aml:
      - Download the MacIASL from here. I used the version 2018-0507.
      - Open the DSDT.aml from patched/ with MacIASL.
      - Click in "Patch" button.
      - Paste and "Apply" each patches below.
       
      Battery patch
      #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 ZenBook UX32V # ASUS F550L-X455H # ASUS X53S # ASUS K550JD-XX003H # ASUS G53SX # ASUS K56CB # ASUS UX305 # ASUS N550LF (per gabberZ) # ASUS TP300LA # ASUS X200LA # ASUS TP500LA (per haimann951) # ASUS U46E (per jacopers) # ASUS N550JK (per sonicmule) # ASUS K46CM # ASUS N76-VB-T4038H (per Tamshiii) # ASUS Zenbook Pro UX501VW (per Jingu) # ASUS G751JY (per Going Bald) # ASUS S300CA (per mugen441) # ASUS F556UA-AB32 (per Jdazzle44) # ASUS UX306UA (per MaraficeEye) # ASUS N550JV (per Xracer99) # ASUS X540LA (per arg274) # ASUS X540LJ (per palash) # ASUS X550VX (per vualeks) # ASUS UX330UA (per fluxo) # ASUS UX303UB (per CyanTech) # ASUS K550JK (per m3ftwz) # ASUS TP500LB (per Archangeliques) # ASUS X556UA (per ben9923) # ASUS UX410 (per minhquang211090) # ASUS N552VW (per nicolas2121) # ASUS Vivobook NV752 (per tmazzoni) # ASUS Strix FX502VM/GL502VM (per benspoonder) # ASUS X53E (per REvandenBerg) # ASUS UX430 (per starcentral) # ... # and many others 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; into_all method label _BIX code_regex \(B0C3, replaceall_matched begin (B1B2(XC30,XC31), end; # or could remove the _BIX method if it turns out not to work #into_all method label _BIX remove_entry; #fix logic error in some newer ASUS DSDTs (issue #23) into method label FBST code_regex If\s\(CHGS\s\(Zero\)\)[\s]+\{[\s]+Store\s\(0x02,\sLocal0\)[\s]+\}[\s]+Else[\s]+\{[\s]+Store\s\(One,\sLocal0\)[\s]+\} replaceall_matched begin If (CHGS (Zero))\n {\n Store (0x02, Local0)\n }\n Else\n {\n Store (Zero, Local0)\n } end;  
      USB 3.0 & Instant wake fix
      #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; - Finally, click in "Compile" to check for errors.
      - If you get the error Object does not exists (\_SB.PCI0.XHC1) remove the 1 and try compile again.
      - Close and reboot.
       
      Last thing
       
      Run this command in Terminal to disable hibernation (doesn't work in macOS):
      sudo pmset -a hibernatemode 0  
       
      It's done!
       
       
      System Updates
       
      Will be added here.
       
       
       

      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, @"Sniki", @Mieze, @headkaze and all others members involved directly or indirectly.
       
       
      Attachments
       
      config.plist
      SSDTs v3.zip
      USBPorts.kext.zip
      VoodooPS2Controller.kext.zip
      Filevault 2 additional drivers.zip
      AtherosE2200Ethernet.kext v2.zip
       
×