Contribute
Register

[Guide] Asus UX305CA UHD

Status
Not open for further replies.
Joined
Apr 9, 2016
Messages
99
Motherboard
<< need manufacturer name and model # >> See Forum Rules !!
CPU
m3-6Y30
Graphics
HD 515
This is a Quick installation guide for the Asus UX305CA UHD laptop with OS X El Capitan.

Please read this guide completely before going to any of the other guides so you get an overview of the process for installing El Capitan on the UX305CA laptop.

Two Things to Consider:
1. At the time of this guide, the track pad does not work…Some developers are working on a kext for this.
Follow this website for the I2C kext status updates:
https://github.com/alexandred/VoodooI2C

2. The Internet WIFI/Bluetooth chip will not work on this laptop. You need to replace it with a DW1560 from eBay or Amazon for around $30ish. This is highly recommended versus buying an external USB WIFI adapter.

Pre-Installation Items Needed:
At least an 8 gig USB 3 thumb drive.
Access to a Real Mac or another Hackintosh for downloading latest version of El Capitan.
Clover - https://sourceforge.net/projects/cloverefiboot/files/latest/download

Post-Installation Items Needed:
Kext Wizard - http://mac.softpedia.com/get/Utilities/Kext-Wizard.shtml
Clover Configurator - http://mackie100projects.altervista.org
Clover - https://sourceforge.net/projects/cloverefiboot/files/latest/download
UX305CA bundled Kext zip file for working USB, Bluetooth, WIFI, Camera, and Audio
MaciASL 6.1 (Latest Version) - https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads
IORegistryExplorer 2.1 – This application is included in the attached zip file.
· Follow this guide to learn how to use IORegistryExplorer 2.1 if needed - http://www.tonymacx86.com/threads/guide-how-to-make-a-copy-of-ioreg.58368/

Things to consider 2.
I upgraded my HD to 500 gig so I could run Windows and OS X without having to worry about a small 256 gig HD. You might lose your Windows partition when installing OS X so please make sure your important files are backed up before installing OS X.


(You can use Windows to create an additional partition on your HD so you can install OS X without losing Windows but that is beyond the scope of this Guide. There are other guides on TonyMacX86.com that will assist in installing OS X After Windows is installed)

Step 1:
Setup your BIOS at bootup using the F2 on your keyboard and select the following options:


Increased DVMT in the bios to 128M
Intel Virtualization = disabled
Intel AES-NI = disabled
VT-d = disabled
Launch CSM = enabled
Safe boot = disabled
Smart Self Test = disabled

Step 2:
Follow this guide here. I have personally used both Option #1 MBR and Option # 2 GPT for setting up your USB Thumb Drive. Both of them worked for me when installing El Capitan. Make sure you do everything correctly in this guide. Read through it slowly. This is one of the most important steps.

http://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Step 3:
Before attempting to boot your newly created USB Thumb Drive, replace the clover generated config.plist with the modified config.plist from the zip file from attached to this guide. The config.plist that clover creates by default will NOT work. This config.plist will have the iMac17,1 SMBIOS. Later, you will use this SMBIOS and input a fake Serial Number, Board Serial Number, and SmUUID from Clover Configurator in order to get iMessages working properly.

Step 4:
Open up the folder /Clover/kexts/Other/ and verify the following kexts are placed in the folder.
1. FakePCIID_Broadcom_WiFi.kext
2. FakeSMC.kext
3. SATA-100-series-unsupported.kext
4. USBInjectAll.kext
5. VoodooPS2Controller.kext

This will get the USB, HD, Keyboard, and Internet Support working until we are able to install the rest of the Kexts to the OS X EFI HD later with Clover.

Reminder: you will need a USB mouse in order to complete this installation since the TouchPad does not work yet.

Step 5:
For selecting your USB Thumb Drive to boot off of, press the ESC key during boot up.

Step 6:
Make sure you install Clover to the Mac HD so you don’t have to keep booting into El Capitan via your Thumb Drive. Select the following options for your HD Clover Installation:

“Install for UEFI booting only”
“Install Clover in the ESP”
“Themes / BootCamp” - You can pick anything Theme you want.
“Drivers64UEFI / EmuVariableUefi-64, CsmVideoDxe-64, FSInject-64, HFSPlus, and OsxAptioFixDrv-64”
“Install RC scripts on target volume”
“Install all RC scripts on all other bootable OS X volume”
“Optional RC Scripts / disable sleep proxy client”

Please note: Sometimes the computer might have issues when using the CsmVideoDxe-64.efi file. All this does is makes your clover UHD when you first boot up. If you are having system issues during bootup, try removing this file.

Step 7:
After following the above mentioned guide and successfully installing El Capitan as well as Clover to the Mac HD, you need to use Kext Wizard to finish installing the rest of the Kexts on the laptop into System/Library/Extensions. DO NOT DRAG AND DROP THESE IN THE FOLDER. Use the Installation tab in Kext Wizard to install, and after they are installed, select the Maintainance tab, select System/Library/Extensions - Repair Permissions and Rebuild Cache.

DO NOT Install the AppleIntelInfo.kext – This will be used later to test our system out at the end of this guide.

Please Note:
I had a lot of difficulty with my Bluetooth constantly turning off completely after waking up from sleep mode:

I was able to fix this by modifying the two following kexts. These are not normal kexts that you can download off of the Internet, but kexts I modified to match the iMac SMBIOS for this specific laptop with a DW1560. This is why I recommend getting a DW1560 WiFi card.

Reboot the computer after installing the Kexts. It is normal for there to be a delay with the reboot since the computer is rebuilding the system cache.

Break Time:

At this point, you should be able to boot the system without the USB Thumb Drive you created earlier and you should also have a working keyboard, Audio, Mic, and USB ports as well as a working USB mouse. If none of these things are working, go back and reread the guide again up until this point. You will probably not have the Battery Indicator working, Screen Brightness control working, and Power Management working at this time. This is normal at this point. We will fix this in Step 8.

Step 8:
Reboot your computer and get to the clover loading screen. Do Not Boot into El Capitan yet.
Press the keyboard F4 button in order to download the system DSDT and SSDT files to clover. This will be done automatically AFTER you press the F4 button ONCE. Proceed in booting into El Capitan.

Step 9:
Now we are going to patch the DSDT and SSDT so your laptop will function like a “Real” Macintosh with the proper Power Management, Battery Indicator, Screen Brightness Control, etc etc...

For patching the DSDT and SSDT, I followed this guide here…READ THIS Slowly!!! It can be difficult to understand if you’ve never done a DSDT and SSDT patch before.

http://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
Please read and follow the instructions in the above link before going down further here:
Use the MaciASL 6.1 application that you should have downloaded from the above link:
Go to Preferences, and make sure iASL 6.1 is selected. Click the Sources tab, click the “+” and the following Patch Info:
Name = Rehabman
URL = http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master

These are the patches I used for my DSDT. I applied this in order from top to bottom:

“Fix _WAK Arg0 v2"
“HPET Fix"
“SMBUS Fix"
“IRQ Fix"
“RTC Fix"
“OS Check Fix (Windows 8)“
“Fix Mutex with non-zero SyncLevel”
“Add IMEI"
“Asus N55SL/VivoBook Battery Patch”
“Brightness Fix”
“7-series/8-series USB”
“USB3_PRW 0x6D (instant wake)”
“Rename _DSM Methods to XDSM”
“Skylake LPC”

Step 10:
By now you should have your created SSDT.aml and DSDT.aml file created. Please these two files along with the rest of your system SSDT-x.aml files into your EFI HD. To open your EFI HD, open the Terminal App and type “diskutil mount EFI” and press Enter. This will mount your EFI partion for you. Navagate to the following folder: EFI/Clover/ACPI/patched/ and place your modified DSDT.aml, modified, SSDT.aml, and other system SSDT-x.aml files here.

Step 11:
Getting iMessages to work:
It is recommended that you generate your own SMBIOS using Clover Configurator. I personally use iMac 17,1 for my computer to run although there have been other people that have suggested using MacBook 9,1. When I wrote this guide, iMac 17,1 was the only Skylake configuration available to use for the SMBIOS.

I followed this guide on YouTube and this is where I had to input the serial key into my SMBIOS on my config.plist that I mentioned earlier in this guide:


It is important that you get the SMBIOS to match the iMac 17,1 with Clover Configuator. Make sure you update to the latest version of Clover Configurator before modifying the SMBIOS in the config.plist file.

The Board Serial Number, Serial Number, and SmUUID in the SMBIOS is deleted in the config.plist because you will have to fill that in this information after following the video guide.

Step 12:
For Wifi to work correctly after sleep go to:
System Preferences / Energy Saver / Disable (uncheck) “Wake for Wi-Fi network access”, “Enable Power Nap”, and “Start Up Automatically after Power Failure”.

I had a lot of system issues when these were turned on, especially with the Internet speeds for Wake for Wi-Fi network access being turned on.

Step 13:
I have not tested the HDMI output on this laptop but Orditeck has gotten the HDMI working by following this guide:


https://github.com/Floris497/mac-pixel-clock-patch-V2

Step 14:
Testing the System


Place the AppleIntelInfo.kext into your Downloads Folder on the Dock:
Type the following commands in the Terminal Application:

cd /Users/username/Downloads
sudo chown -R root:wheel ./AppleIntelInfo.kext
sudo chmod -R 755 ./AppleIntelInfo.kext
sudo kextload AppleIntelInfo.kext
cat /var/log/system.log | grep "AICPUPMI:"
//*Comment* After you check your states, cancel the .kext process:
sudo kextunload AppleIntelInfo.kext

Next, type in the below Terminal commands to test the other features:

kextstat|grep -y acpiplat
kextstat|grep -y applelpc
kextstat|grep -y applehda

//&Comment* Type in the below Terminal command to verify all the kexts you installed earlier are working.

sudo touch /System/Library/Extensions && sudo kextcache -u /

If you get Terminal Outputs after typing each of these Four Terminal Commands, then your laptop should be in great working condition.

Last Step:
First, an huge thank you to the developers who worked so hard on getting the VoodooI2C.kext to work with Skylake...
Alexandred - Founder of the VoodooI2C.kext
Maximevince - Working on Skylake CPU compatibility
CoolStar - Helped with many bug issues and tech support


Please Note: at the time of this writing, when the laptop sleeps, the trackpad stops working and will not wake up on sleep. The developers are still trying to get the sleep function to work properly. This trackpad kext works on a fresh boot of OS X.

If you use this VoodooI2C.kext, you owe these guys a huge Thank you! Stay tuned for VoodooI2C.kext updates
https://github.com/alexandred/VoodooI2C

Getting the Trackpad to Function:

You need to remove the AppleIntelLpssI2C.kext from the /System/Library/Extensions folder in order for the trackpad to work properly. This is Apple's I2C kext and you will not be able to use the VoodooI2C.kext if this is in the S/L/E folder.

Rebuild the system cache after removing the AppleIntelLpssI2C.kext

Edit the DSDT.aml following the guide from "https://github.com/maximevince/VoodooI2CPCI/releases/tag/v1.0"

The I2C controller: (I removed an IF-condition splitting the body of this block)
Copy/Paste - Be careful that you copy/paste correctly or else you will have compile errors and this will NOT work.


Code:
Scope (_SB.PCI0)
    {
        Device (I2C0)
        {
            Name (LINK, "\\_SB.PCI0.I2C0")
            Name (_HID, "INT3442")  // _HID: Hardware ID
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
            {
                Return (LHRV (SB10))
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (LCRS (SMD0, SB00, SIR0))
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                GETD (SB10)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                LPD0 (SB10)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                LPD3 (SB10)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (LSTA (SMD0))
            }

            Name (_ADR, 0x00150000)  // _ADR: Address
            Method (XDSM, 4, Serialized)
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Zero)
            }
        }
    }


Then edit the DSDT code for the I2C touchpad itself:

Code:
Scope (_SB.PCI0.I2C0)
    {
        Device (ETPD)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
            {
                If (ELAN)
                {
                    Return ("ELAN1000")
                }

                If (FOLT)
                {
                    Return ("FTE1001")
                }

                Return ("ELAN1010")
            }

            Name (_CID, "PNP0C50")  // _CID: Compatible ID
            Name (_UID, One)  // _UID: Unique ID
            Name (_S0W, 0x03)  // _S0W: S0 Device Wake State
            Method (_S3W, 0, NotSerialized)  // _S3W: S3 Device Wake State
            {
                If (LEqual (S0ID, Zero))
                {
                    Return (0x03)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg0, ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        If (LEqual (Arg1, One))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                        
                            })
                        }
                        Else
                        {
                            Return (Buffer (One)
                            {
                                 0x00                                        
                            })
                        }
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (One)
                    }
                }
                Else
                {
                    Return (Buffer (One)
                    {
                         0x00                                        
                    })
                }
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If (LEqual (TPIF, Zero))
                {
                    Return (Zero)
                }

                If (And (DSYN, One))
                {
                    Return (Zero)
                }

                Return (0x0F)
            }

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (SBFI, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C0",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
                    {
                        0x0000006D,
                    }
                })
                Return (SBFI)
            }
        }
    }

After these DSDT edits are complete, Install the VoodooI2C.kext file to S/L/E.

Rebuild the system cache.

Reboot and your trackpad should work.

I did have to reboot my computer a couple times the first time I installed this kext. The developers told me this is normal.
 

Attachments

  • Chrinist Guide.zip
    68.6 MB · Views: 1,457
  • VoodooI2C.kext.zip
    64.2 KB · Views: 571
Last edited by a moderator:
Last edited:
I'm having an issue with OsxAptioFixDrv. Installer won't boot. Did it happen to you? http://imgur.com/cjtKq5O

I carefully followed this guide : http://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
And your guide. All options are set correctly in BIOS.

I also replace the config.plist and copied the kext to the right place. Pretty sure I did everything correctly.

What version of El Capitan are you installing? 10.11.5?
 
I'm having an issue with OsxAptioFixDrv. Installer won't boot. Did it happen to you? http://imgur.com/cjtKq5O

I carefully followed this guide : http://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
And your guide. All options are set correctly in BIOS.

I also replace the config.plist and copied the kext to the right place. Pretty sure I did everything correctly.

Your config.plist is probably wrong (incorrect SMBIOS data).
 
Try this Config.plist.

All I did was delete the Serial Key from it so you would have to later generate your own serial key.
 

Attachments

  • config.plist.zip
    2.8 KB · Views: 396
Try this Config.plist.

All I did was delete the Serial Key from it so you would have to later generate your own serial key.

Do you think you could help me with that? I'm googling this right now.

Edit: NVM: I think this is only required for iMessage, right? I won't use it. Trying this config.plist right now thanks!
Edit2: I think that your config.plist is corrupted somehow. I can't open it with Xcode and Clover Configurator doesn't show anything when I open it. Like SMBIOS section is empty, bootflag section is empty... Right now it'll just show "+++++++++++++++++++++++++" when booting, nothing else appear.
 
Last edited:
Status
Not open for further replies.
Back
Top