Jump to content

[GUIDE]: ASUS N55SL (no Wi-Fi with Centrino) - 10.8/10.9 DP


qwerty12

Recommended Posts

Read this guide fully first before attempting to perform the steps within, as you'll need to download the needed kexts etc. mentioned that are not attached and place them on your prepared OS X install USB drive. This is not also a detailed step-by-step: if you're taking the time to get a hackintosh running, I assume you know how to use a computer. If not, then Apple sell computers ready-made with OS X running on them.

---

Specifications

Processor : Intel Core i7 2670QM Processor
Chipset : Intel HM65
Memory : 8GB DDR3 1333 MHz
GPU : Intel HD 3000 & NVIDIA GeForce GT 635M 2GB (Optimus)
HDD : Hitachi 750 GB
Wi-Fi : Intel Centrino Wireless-N 1030
Bluetooth : Intel Centrino Wireless-N 1030
LAN : Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet PCI-E
Audio : Realtek ALC663
USB 2.0 : Intel Corporation 6 Series/C200 Series
USB 3.0 : ASMedia ASM1042
Touchpad : Synaptics PS/2
Webcam : ASUS/Sunplus Innovation Technology Inc. USB2.0 Webcam (UVC)
Card reader : Alcor USB 2.0
Monitor : Samsung SEC314B/156KT02-201 (1600x900)
Optical Drive : LiteOn Slimtype BD E DS6E2SH (Reads: CDs, DVDs, Blu-Ray; Writes: CD-R, CD-RW, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW,
DVD-R DL, DVD+R DL)

---

Compatibility

What works:

  • Turbo Boost using AppleIntelCPUPowerManagement
  • Intel HD 3000 (Native 1600x900 resolution on the laptop's display panel, QE & CI [tested with Chess, BBC iPlayer]) along with PM by AppleGraphicsPowerManagment
  • Sound
  • Integrated microphone
  • Touchpad with two fingers maximum
  • Battery meter
  • Play/Pause, Volume Up, Volume Down and Mute keys
  • Brightness (also with the keyboard)
  • Bluetooth (most of the time)
  • Ethernet
  • The USB 2.0 ports on the right of the laptop (although you probably will need a workaround like Jettison, since you do tend to get "device not safely removed" prompts when putting the laptop to sleep with a USB drive inserted)
  • The USB 3.0 ports on the left of the laptop
  • SD card reader
  • Sleep (also when the lid closes)
  • Shutdown & Restart
  • Webcam - works in Apple apps also if you launch the Apple app, like Photo Booth, and then run netkas' CameraControl (attached)
  • VGA
  • Fan speed displayed by HWMonitor (thanks to Jingu)
  • DVD Playback (with native DVD Player application; however, pay attention to the steps detailing how to get it working)

 
What doesn't work:

  • The Stop media key. As pointed out to me by EMlyDinEsH, Macs don't have a stop key...
  • Optimus - in order for OS X to boot, the DSDT has been patched to turn off the NVIDIA card. This laptop does not allow turning off the HD3000 and making the NVIDIA chip drive the display. I once unlocked the BIOS option for it, toggled it and was presented with a blank screen for my troubles. Thankfully I memorised the sequence to reset the BIOS settings to their defaults so no harm done. Windows gives better performance for games anyway...
  • The external subwoofer. It could be made to work, it's just that I am too lazy to figure out how to get AppleHDA to recognise it, as I never use the subwoofer anyway.
  • Wi-Fi - it's unlikely that the Centrino 1030-N inside will ever have support for OS X. You have two choices here:
  • Buy a supported USB Wi-Fi adapter. The one I had (with a Ralink 2870 chipset) would've been perfect, were it not for the Ralink Wireless Utility software letting it down a bit (sometimes doesn't show configured profiles; sometimes connects to the nearest open Wi-Fi access point, ignoring configured profiles). No USB adapter appears to OS X as a native AirPort device, so bear that in mind.
  • Buy a DW1702 card off eBay and replace the Centrino. This is a quick process as the Centrino is inside the bottom flap on the reverse of the laptop. The Wi-Fi works well; however, its Bluetooth capabilities suck ass depending on the time of day. The Centrino did much better in this regard. The DSDT has already been patched to support the Atheros Wi-Fi (thanks, RehabMan); however install IOath3kfrmwr if you want the Bluetooth to work. Also note that you can't turn the Bluetooth off...

What's not been tested:

  • HDMI as I have no need for it
  • DVD burning
  • Line in/Microphone port
  • Anything I've forgotten about

---

Some notes:

  • Although the N55SL supports UEFI booting, I still use Chameleon instead of Clover, because UEFI booting is broken on the N55SL: trying to put the system to sleep causes a hang in both Windows 8 (even with the proper ASUS ACPI etc. drivers installed) and with Arch Linux install media (booting the same USB and environment in MBR mode lets sleep work fine). As far as I know, Windows will not install to a GPT-partitioned drive unless it is installed in UEFI mode, so I also have OS X install to a MBR-partitioned drive. This means that you cannot create a Mac recovery partition, so Find my Mac cannot be used.
  • The SSDT and SMBios.plist are designed to closely match a 15" MacBook Pro with an i7 in it. If you're using a N55SL with an i5 or an i3 instead of the i7-2670QM, you will need to generate a new SSDT (it is talked about later) and you may also wish to change the system definition inside smbios.plist to get a closer match to your processor and screen size. If you do this, do it before you install FileNVRAM. Chameleon Wizard is a great utility to help you generate the smbios.plist. Don't use its generated serial numbers, however. Start with this guide to create an accurate serial number. EveryMac lets you see what processor a serial number corresponds to.
  • The default resolution is set to 1600x900 inside org.chameleon.Boot.plist. Change if your supported resolution is higher or lower. If it is lower, bear in mind that the DSDT sets the AAPL,DualLink property inside IGPU - take it out.
  • QE/CI and full resolution should work out of the box, thanks to the patched DSDT. If it does not, however, I've included a AppleIntelSNBGraphicsFB.kext that should work. Use it as a last resort, however. (It's from 10.8.2, for one.)

---

Getting Started

BIOS modifications

First things first. You can use the modified BIOS I've posted here which has its benefits (read the post!). Flashing a BIOS does come with its risks (READ THAT THREAD FULLY) so it's not for everyone. In that case, you will need to remember to patch AppleIntelCPUPowerManagement.kext so that it doesn't try to write to 0xe2 and kernel panic. You will need to remember to do this on every upgrade. I never went for this option, so I don't know the most reliable way of getting it done, sorry.

Setting aside space for the OS X partition

Make sure you've shrunk (if needed) a partition on the target hard drive to make space for another. Use the free space to make a partition of type FAT32, NTFS etc. so that it shows up in Disk Utility when you're installing OS X. Parted Magic is very useful for this sort of thing.

Preparing the USB stick to install from

In the interests of fairness, there are two other options available (bearing in mind that I have used neither):
myHack
Pandora's Box

After you've finished preparing the USB drive, you need to do some things:

  • Replace OSInstall(*) to allow install to MBR disks. myHack and Pandora's Box, if you used either of them, does this for you automatically, so skip this step in that case.
  • /Volumes/[uSB]/System/Library/Extensions/AppleIntelSNBGraphicsFB.kext must be deleted to ensure that you will actually see the installer and not a black screen. Substitute "[uSB]" with whatever you named your USB drive as. Alternatively, you can also put the DSDT.aml into the Extra folder on the USB, which will give you full resolution during the install and enable the Wi-Fi if you're using a supported card, like the DW1702 (which has an ARB195).

Also place Kext Wizard on your USB stick as it will be used for installing the many kexts that we will be installing.

Booting the OS X installer

When it comes to booting OS X from the USB, no special boot options are needed - just boot.

Erase the temporary partition and format it with Mac OS Extended (Journaled). Install OS X onto the newly-formatted partition.

Booting into OS X for the first time

You have two options here:

Having the Blu-Ray drive working for playing DVDs but no hard disk power saving

In this case, you must remove /Extra/ssdt-1.aml and in Energy Saver system preferences, turn off the option to "put hard disks to sleep when possible" for both Battery and Power Adapter so that tools like Disk Utility won't lock up your entire system and you can still eject the Blu-Ray drive. Source.

or

Turning off the Blu-Ray drive but having hard disk power saving

In the BIOS, go to Security and disable the SATA ODD Interface. /Extra/ssdt-1.aml should be there for best results.

In either case, you must still use the USB stick to boot OS X for now. When doing so, use the -x option (Safe Mode) so that you actually have a desktop to get to. Do the initial setup.

(What is ssdt-1.aml? The DSDT has the IDE0 sections taken out so that playing a DVD will not lock up the system. Since, however, presumably ASUS knows better how to manage the IDE controller, I have moved the sections that were taken out by me in the DSDT into that mini-SSDT [the idea was stolen from RehabMan] so that people who do not wish to use the Blu-Ray drive do not have to suffer and will have the IDE0 section as it was by ASUS intact. If you want to play DVDs, then you have no choice - the IDE0 section must be gone and this can be done easily by moving ssdt-1.aml.)

Having a working mouse and keyboard

Follow the instructions here to install RehabMan's PS/2 driver.

This driver is the best working one I've found. However, there is one problem:
If your touchpad stops responding with this driver (it happens *very* rarely), here's a workaround:

  • Install TotalTerminal and set it to activate upon pressing a hotkey. (I like F12. Who actually uses the dashboard?)
  • In ~/.bash_profile, add this alias:
alias ps2="sudo kextunload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext ; sudo kextload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext"

You may also wish to add the following entry to sudoers to stop it prompting you for your password:

[USERNAME] [HOSTNAME]=(root)NOPASSWD:/sbin/kextunload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext,/sbin/kextload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext

Substitute the [uSERNAME] and [HOSTNAME] with the correct values.
Now you can bring down your terminal with your chosen hotkey and type ps2 to have the driver reload.

Not optimal, I know, but it's the best driver around and it works really well 99.999% of the time so there's been no reason for me to look for an alternative.

Getting the built-in Ethernet card working

Install AtherosL1cEthernet.kext from the kexts zip. ALXEthernet (as below) also works, but I find AtherosL1cEthernet gives me better speeds. In any case, thanks to Shailua for being awesome. Keep a copy of ALXEthernet around, though, for Safe Boot.

Detailed install instructions can be found here, but they can be summed up thusly: use Kext Wizard to install.

Even if you don't plan on using Ethernet, this must be installed to ensure you can connect to iCloud.

Getting sound working

Huge thanks to EMlyDinEsH for his AppleHDA patching guide and for his patched IOAudioFamily to ensure that sound still works when resuming. The AppleHDA.kext included is from 10.8.4 and IOAudioFamily was never updated with 10.8.4 so it is still the 10.8.3 version (but it is still the latest!). I have also patched AppleHDA dirtily to hide the sound assertion errors.

Installation: Not much to say here, just install the AppleHDA and IOAudioFamily kexts. Install Antipop to ensure your sanity remains intact.

You will also need to add the following to the HDEF section of the DSDT:

                Method (_DSM, 4, NotSerialized)
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Return (Buffer (One)
                        {
                            0x03
                        })
                    }

                    Return (Package (0x06)
                    {
                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-1"
                        }, 

                        "layout-id", 
                        Buffer (0x04)
                        {
                            0x1C, 0x00, 0x00, 0x00
                        }, 

                        "PinConfigurations", 
                        Buffer (Zero) {}
                    })
                }

Enabling the battery meter

Install the latest Release version of RehabMan's driver from here. Set UseExtendedBatteryInformationMethod and UseExtraBatteryInformationMethod to false in its Info.plist.

The battery status reporting works fine with 10.8's AppleACPIPlatform.kext thanks to EmlyDinesh EmlyDinesh's battery work (taken from 68x's DSDT): http://www.insanelymac.com/forum/topic/283038-zenbook-prime-fixes-mods-tweaks-etc/page__st__460#entry1919046).
Thank you to Jingu, who made the DSDT report back values in mAh (needed as my battery percentage was off by 10): http://www.insanelym...80#entry1771830

Fixing OS X's native brightness control

To enable proper brightness control, install EMlyDinEsH's ASUS backlight driver.

Enabling brightness control with the keyboard and the media keys

Download the latest version of EMlyDinEsH's AsusNBWMI from this thread. In the plist, set UsingAsusBackLightDriver to true (assuming that you are, in fact, using it).

Getting the USB 3.0 ports to work

Install the excellent GenericUSBXHCI driver from here.

If your USB 3.0 ports already malfunction under Windows and/or Linux currently (really slow transfer speeds, repeated disconnections...) then the firmware of the USB3.0 controller needs to be updated. After getting your hackintosh working, go back to the BIOS modifications section and read the linked thread for the BIOS mod for details on how to upgrade the USB controller firmware *properly*.

Enabling OS X's native SD card support (purty icons!)

Install AppleUSBCardReader.kext. This is a recent build, from 10.8. It is edited using the techniques on Prasys' blog, so thanks to him.

Installing the Chameleon boot loader

Download the installer for the (almost) latest Chameleon boot loader and run it.

Next, place the contents of the attached Extra.zip containing the Extra folder into /.

The DSDT has been very kindly initially patched by EMlyDinEsH. The theme is Chameleon's default but with a black background and ran through ImageOptim. The "Legacy Logo" option is on; if you don't like it, remove it.

If you need an SSDT (in case the one provided doesn't work for you), look at this thread for a script that will generate an SSDT for you. Install and run it.

Installing FakeSMC

Run kozlek's HWSensors installer to install netkas' FakeSMC along with kozlek's HWMonitor. FakeSMC is needed for OS X to actually start.

Don't bother installing: LPCSensors, GPUSensors.

If you're using the MacBookPro8,2 definition as is the provided smbios.plist's default, open /System/Library/Extensions/FakeSMC.kext/Contents/Info.plist and replace all the instances of ATAPAAAD with AWkPAAAE. (Thanks to Hervé for posting about this here.)

When restarting, boot into the OS X installer again using your USB flash drive.

---

Completing the boot loader install

This must be done, or you won't actually see Chameleon.

Making sure you're booted into the OS X installer running from your USB flash drive, follow the instructions below, replacing disk0s2 with the disk and partition number of your OS X install and "OS X" with the name of your OS X partition. Disk Utility can tell you all this.

Open the terminal, and run the following:

cp /Volumes/"OS X"/usr/standalone/i386/boot1h /private/var/tmp/
umount /dev/disk0s2
dd if=/private/var/tmp/boot1h of=/dev/disk0s2

Reboot and you should be able to boot off your hard drive!

Stopping the Bluetooth mouse/keyboard prompts on startup

Open the Bluetooth Settings, click Advanced and turn off the option to automatically bring up the Bluetooth Setup Assistant if no keyboard or mouse was detected. When your laptop keyboard and mouse works, this is annoying.

Getting a proper British keyboard layout

If your N55SL has a British keyboard, use Liyang HU's PC105-alt keyboard layout from here and install it. You can follow this procedure to have only the PC105 layout displaying.

Fixing iMessage

Head here, install FileNVRAM.dylib to /Extra/Modules/ and reboot.

Enabling the VGA port

Inside Kexts/Graphics/modigliani-manwe-intelhd3000Patch-v3, run "sudo modgliani-intelHD3000_Patch" and it will write the new table of connectors into the Intel Sandy Bridge framebuffer kext. Restart.

The table was determined from the information given here. fau7i's table made sense so I used it again for the N55SL: only three connectors: LVDS, VGA and *one* HDMI port.

To actually use the VGA port, connect your VGA cable to the laptop and hold down Windows/Option in Display settings. Hit Detect Displays and your VGA monitor should activate. (Information taken from here: http://forum.osxlati...tel-hd3000-gpu/)

Thanks to bcc9 and all others involved in getting the port to work.

---

Optional Stuff

Disabling Turbo Boost on battery power

https://osxlatitude.com/index.php?/topic/2263-disable-intel-turbo-boost-on-battery-power/

Getting About This Mac to display the monitor's proper name

Firstly, open up Terminal to back up your current EDID information:

cd /System/Library/Displays/
sudo tar cf Overrides.tar Overrides/

Next, grab the latest version of the ProBook Installer sources by philip_petev from here and extract it. 6GM was what I used.

cd to "ProBook Installer"/EDID and run ./newedid.sh as the normal user (so, don't use sudo etc.). Look through the output and find your monitor's name. Open newedid.sh in your favourite text editor and replace "ProBook 4x30s" with the name of your monitor or whatever you wish to have displayed there instead.

Finally, re-run the script as root and check to see in About This Mac if the display entry now has a proper name for your monitor.

Disable drive ejecting when holding down F12

NoEjectDelay

Controlling sleep on lid close

NoSleep

Saving sleep state to RAM instead of the hard disk

This speeds up going to sleep by many orders of magnitude.

Thanks to phillip_petev for this script:

#!/bin/sh
sudo pmset -a hibernatemode 0
sudo rm -f /private/var/vm/sleepimage

Stop iTunes from launching when the Play button is pressed

https://discussions.apple.com/message/21663761#21663761

CameraControl.zip

Original N55SL 204 DSDT with 64 and 512MB VRAM.zip

Kexts.zip

Link to comment
Share on other sites

Ooh, that would be great, thanks! :)once I've made sure I didn't mess up anything with the DSDT! (I hate following all these steps!)

 

At the moment, OS X will not show anything higher than 96% for the battery - I suspect it's because I just put in Jingu's battery DSDT modifications without a care, but I need to check in Windows and it doesn't help that my battery is already starting to wear out quite a bit... Just checked - the battery charge is correctly reported so that doesn't need to change and the DSDT will also now show the fan speed in FakeSMC's HWMonitor! (Thanks to Jingu as always)

Edited by qwerty12
Link to comment
Share on other sites

A post for a minor update (although I have been updating the DSDT with minor stuff from time to time silently in the background... :)).

 

HWMonitor will show (what I think is...) the CPU Heatsink temperature thanks to uncommah (and thanks to Jingu again for the fan stuff) and the SD Card is now treated by OS X as a native SD Card reader (using Mountain Lion kexts) rather than a generic USB MSC device, so you get pretty icons!

 

Screenshots:

Untitled.png

Untitled1.png

Untitled2.png

Link to comment
Share on other sites

Great news, people. AppleHDA works with this laptop now. Read the (short) sound section in the guide on how to set up AppleHDA.

For those who are already running OS X on their N55SLs and using VoodooHDA, remember to install the new DSDT from the Extras zip, too.

 

To uninstall VoodooHDA, remove the following files:

  • /Library/PreferencePanes/VoodooHDA.prefPane
  • /Applications/VoodooHdaSettingsLoader
  • /System/Library/Extensions/VoodooHDA.kext
  • /usr/local/bin/devls
  • /usr/local/bin/getExtdump
  • /usr/local/bin/getdump
  • /usr/local/bin/voodoohda-uninstall
  • /usr/local/bin/voodoohdahelper
  • ~/Library/Preferences/VoodooHDA.settings.plist
  • ~/Library/Preferences/VoodooHda.VoodooHdaSettingsLoader.plist
EDIT: Now featuring the removal of the "Sound assertion" messages. Sadly, this is done in the dirtiest way possible...
Link to comment
Share on other sites

Update: Now there is no need to roll back AppleACPIPlatform.kext for full functionality, so if you have done so I recommend you install 10.8's again. Make sure to install the new files from the Extra ZIP.

Battery reporting was fixed by EmlyDinesh (taken from 68x's DSDT) and Jingu,
Brightness keys by EmlyDinesh: https://osxlatitude.com/index.php?/topic/1968-fn-hotkey-driver-for-asus-notebooks/; and,
sleep on lid close and Fn+F7 by me: https://osxlatitude.com/index.php?/topic/1968-fn-hotkey-driver-for-asus-notebooks/page-4&do=findComment&comment=19749

  • Like 1
Link to comment
Share on other sites

10.9

 

Read this guide fully first before attempting to perform the steps within, as you'll need to download the needed kexts etc. mentioned that are not attached and place them on your prepared OS X install USB drive. This is not also a detailed step-by-step: if you're taking the time to get a Hackintosh running, I assume you know how to use a computer. If not, then Apple sell computers ready-made with OS X running on them.

 

---

 

Specifications

 

Processor : Intel Core i7 2670QM Processor (can vary)

Chipset : Intel HM65

Memory : 8GB DDR3 1333 MHz (can vary)

GPU : Intel HD 3000 (& NVIDIA GeForce GT 635M 2GB [Optimus] -- useless in OS X)

HDD : Hitachi 750 GB

(Wi-Fi : Intel Centrino Wireless-N 1030 -- non-functional in OS X)

Bluetooth : Intel Centrino Wireless-N 1030

LAN : Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet PCI-E

Audio : Realtek ALC663

USB 2.0 : Intel Corporation 6 Series/C200 Series

USB 3.0 : ASMedia ASM1042

Touchpad : Synaptics PS/2

Webcam : ASUS/Sunplus Innovation Technology Inc. USB2.0 Webcam (UVC)

Card reader : Alcor USB 2.0 (presents itself as a normal mass-storage device to the system)

Monitor : Samsung SEC314B/156KT02-201 (1600x900 - can vary)

Optical Drive : LiteOn Slimtype BD E DS6E2SH (Reads: CDs, DVDs, Blu-Ray; Writes: CD-R, CD-RW, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-R DL, DVD+R DL)

 

---

 

Compatibility

 

What works:

  • Turbo Boost using AppleIntelCPUPowerManagement
  • Intel HD 3000 (Native 1600x900 resolution on the laptop's display panel, QE & CI [tested with Chess, BBC iPlayer]) along with PM by AppleGraphicsPowerManagment
  • Sound
  • Integrated microphone
  • Touchpad with two fingers (three can be used for some things but is temperamental)
  • Battery meter without downgrading AppleACPIPlatform.kext
  • Play/Pause, Volume Up, Volume Down and Mute keys
  • Brightness (also with the keyboard)
  • Bluetooth (most of the time)
  • Ethernet
  • The USB 2.0 ports on the right of the laptop (although a workaround like Jettison is preferred since "device not safely removed" prompts are common when putting the laptop to sleep with a USB mass-storage device inserted)
  • The USB 3.0 ports on the left of the laptop
  • SD card reader (natively: with Apple's USB card reader driver)
  • Sleep (also when the lid closes)
  • Shutdown & Restart
  • Fan speed displayed by HWMonitor (thanks to Jingu)
  • The external subwoofer
What kinda works:
  • DVD Playback with Apple DVD Player - works if you're on AC power...
  • Webcam - works if you install iGlasses (thanks to TimeWalker75a) or run CameraControl before running FaceTime/Photo Booth
What doesn't work:
  • Optimus. This laptop does not allow turning off the HD3000 and having the NVIDIA chip drive the display, even with an unlocked BIOS.
  • HDMI. Note: I've not tested this myself, but according to one user it doesn't work. The HDMI port might be connected to the NVIDIA GPU and if this is the case, I imagine it getting it to work in OS X will be very hard, if not impossible.
  • VGA. This worked in 10.8 for me when I tried it but in 10.9 it does not according to one person. I don't have a VGA monitor available myself any more to test/fix.
  • Wi-Fi - it's unlikely that the Centrino will ever have support for OS X. You have two choices here:
    • Buy a supported USB Wi-Fi adapter. The one I had, with a Ralink 2870 chipset, would've been almost-perfect, were it not for the Ralink Wireless Utility software letting it down. It sometimes would not show configured profiles and it would sometimes connect to the nearest open Wi-Fi access point, ignoring configured profiles. No USB adapter appears to OS X as a native AirPort device, so bear that in mind.
    • Buy a card with an AR9285 (the AR9287 is also supposedly supported in OS X - try getting one of those if you can instead of the AR9285 as they're faster) off eBay and replace the Centrino. This is a quick process as the Centrino is inside the bottom flap on the reverse of the laptop. The Wi-Fi works OK (it heavily underperforms compared to the Centrino, though); however, its Bluetooth abilities leaves something to be desired. Again, the Centrino did much better in this regard. The DSDT has already been patched to support the Atheros Wi-Fi, but you will need to install IOath3kfrmwr if you want the Bluetooth to work. Note that you can't turn the Bluetooth off in either Windows or OS X with this card. Despite what OS X tells you, it also does not support Wake On Wireless LAN, unlike, again, the Centrino.
What's not been tested:
  • DVD burning
  • Line in/Microphone port
  • Anything I've not mentioned (read: forgotten about)
---

 

Some notes:

  • Although the N55SL supports UEFI booting, Chameleon is used, because UEFI booting is broken on the N55SL (I reported this to Asus a year ago and never saw a resolution so f*** them): trying to put the system to sleep causes a hang in both Windows 8 (even with the proper ASUS ACPI etc. drivers installed) and with Arch Linux install media (booting the same USB and environment in MBR mode lets sleep work fine - and it's a very, very minimal environment in the first place).

    As far as I know, Windows will not install to a GPT-partitioned drive unless it is installed in UEFI mode (or you mess around with a hybrid GPT/MBR setup), so I also have OS X install to a MBR-partitioned drive. This means that you cannot create a Mac recovery partition, which means Find my Mac cannot be used. Clover legacy/CloverEFI is not used because it causes much more graphical glitches with the HD 3000.

  • The SSDT and SMBios.plist are designed to closely match a 15" MacBook Pro with an i7 in it. If you're using a N55SL with an i5 or an i3 instead of the i7-2670QM, you will need to generate a new SSDT (it is talked about later) and you may also wish to change the system definition inside smbios.plist to get a closer match to your processor and screen size. If you do this, do it before you install FileNVRAM. Chameleon Wizard is a great utility to help you generate the smbios.plist. Don't use its generated serial numbers, however. Start with this guide to create an accurate serial number. EveryMac lets you see what processor a serial number corresponds to. http://www.macrumors.com/2010/04/16/apple-tweaks-serial-number-format-with-new-macbook-pro/ tells you how to parse a 12-digit serial number.
  • If your resolution is 1366x768 or less, bear in mind that the DSDT sets the AAPL,DualLink property inside IGPU so take it out if this is the case.
---

 

Getting Started

 

BIOS modifications

 

You can use the modified BIOS I've posted here which has quite a few benefits. Flashing a BIOS does come with its risks - READ THAT THREAD FULLY - so it's not for everyone.

If you do not want to flash the BIOS, you will need to remember to patch AppleIntelCPUPowerManagement.kext so that it doesn't try to write to 0xe2 and cause a kernel panic. You will need to remember to do this for every OS X update. Since I patched the BIOS, I don't know the most reliable way of patching the kext, so you will have to look for yourself.

 

Setting aside space for the OS X partition

 

If needed, make sure you've shrunk a partition on the target hard drive to make space for another. Use the free space to make a partition of type FAT32, NTFS etc. so that it shows up in Disk Utility when you're installing OS X. Parted Magic is very useful for this sort of thing, but Windows' Disk Management is sufficient enough.

 

Preparing the USB stick to install from

 

The USB shall be created by hand, without tools. This is largely based on mnfesq's 10.8 guide.

  • Sign into the App Store with an Apple ID and download Mavericks.
  • Open a terminal and type “cd “
  • Open a Finder window for /Applications and drag “Install OS X Mavericks.app” to the terminal window. You should see something like “cd /Applications/Install\ OS\ X\ Mavericks.app”.
  • Press Enter to cd to the folder and then type “open Contents/SharedSupport/InstallESD.dmg”
  • Open Disk Utility and partition your target USB with 1 partition, name “USB”, formatted with Mac OS X Extended (Journaled) in the Master Boot Record partition scheme.
  • Click “USB” from the left and select the Restore tab
  • Set “/Volumes/OS X Install ESD/BaseSystem.dmg” as the source
  • Make sure “USB” is selected as the destination drive and hit Restore
  • When it’s done, on the OS X Base System volume (which is now your USB), open System/Installation and delete the broken Packages alias.
  • Go back to the mounted Install ESD volume and copy the Packages folder from there to the Installation folder that contained the Packages alias we just deleted.
  • Look at http://www.insanelymac.com/forum/files/file/145-mavericks-mbr-patch/ for instructions but download "Mavericks MBR patch 10.9.2" from Other Versions as this file is newer. These files are needed to install to a MBR-partitioned drive.
  • Use Pacifist and open System/Installation/Packages/BaseSystemBinaries.pkg and extract mach_kernel from in there to the root of the USB drive, OR if you don't want to use Pacifist then do the following in Terminal (thanks to bcc9):

    cd /Volumes/OS\ X\ Base\ System/System/Installation/Packages
    pkgutil --expand BaseSystemBinaries.pkg x
    pax -0jr < x/Payload ./mach_kernel
    mv mach_kernel ../../..
    rm -rf x
  • Install Chameleon to the USB drive.
  • Place the Extra folder to the root of the drive.
  • Inside it, create a new folder: Extensions
  • Using Kext Wizard, set the target to the USB (OS X Base System) and install the following kexts to /Extra/Extensions:
  • If you don’t have an i7-2670QM or you’re not using a patched BIOS, delete ssdt.aml, ssdt-1.aml and delete DropSSDT from org.chameleon.Boot.plist and also install NullCPUPowerManagment.kext to /Extra/Extensions.
Place Kext Wizard on your USB stick along with the kexts themselves as it will be used for installing the many kexts that we will be installing.

 

Booting the OS X installer

 

Turn the computer fully off first (this is to ensure that the Bluetooth firmware will not be loaded, which prevents the OS X installer from continuing until you connect a Bluetooth keyboard and mouse) and boot the 10.9 installer from the USB with the -f option.

Erase the temporary partition we created earlier in Windows using Disk Utility and format it with Mac OS Extended (Journaled). Install OS X onto the newly-formatted partition.

 

Setting the active partition back to Windows'

 

Boot into Windows using your OS X USB and run diskpart Next, run the following commands inside the window:

 

list disk

select disk (number being the no. of the disk that holds your Windows partition)

list partition

select partition (number being the partition no. of your Windows partition)

active

exit

 

Booting into OS X for the first time

 

Use the USB stick to boot OS X for now. When doing so, use the -f option so that you actually have a desktop to get to. Do the initial setup. Naturally, don't sign into iCloud yet and do not register your "Mac" (duh).

 

Open System Preferences->Energy Saver and turn off the option to put hard disks to sleep, for both the battery and the power adapter.

 

While you're there, open Security and Privacy and allow applications to be opened from 'Anywhere'.

 

Getting the built-in Ethernet card working

 

Install thecandle’s and Shailua’s AtherosL1cEthernet.kext from the kexts zip. This kext has been built from 1.2.3 sources in Release mode against the 10.9 DP2 SDK.

 

Even if you don't plan on using Ethernet, this must be installed to ensure you can connect to iCloud.

 

Getting sound working

 

For 10.9, VoodooHDA is used because:

  • A script running in the background that runs say every 10 seconds (to prevent the awful popping sound that happens when the ALC663 gets taken out of low power mode) isn't really desirable when your computer has a battery
  • IOAudioFamily is required to be patched so that sound works when resuming from sleep. Apple do not immediately release the sources for their open components when a new release of the OS is out so you're stuck using an older version of the kext until it happens and someone patches the newest version. I don't have the time to wait around. Not true anymore admittedly - TimeWalker75a wrote a standalone kext that resolves this.
Recent versions of VoodooHDA have yet to cause a single KP. Ignore what you hear on the Internet, it's been very stable now for a long while (although, yes, AppleHDA does produce much better sound - try a bass-heavy song with VoodooHDA, for example...).

 

VoodooHDA is easy to install - just install VoodooHDA.kext from the kexts zip. This VoodooHDA has been fixed to work with the subwoofer by m-dudarev. To get the subwoofer working after installing VoodooHDA, follow these steps (thanks to mnfesq again):

  • Open Audio MIDI Setup
  • Click the plus/add button in the bottom-left of the window and create a Multi-Output device
  • Set the Master Device to be Speaker (ATAPI) and tick Speaker (Yellow Rear) while unticking SPDIF-out
  • Set the volume levels of both speakers as desired
  • Right-click Speaker (ATAPI) and click "Play alerts through this device"
  • Open Sound Preferences and select Multi-Output Device as the output and you should hear sound simultaneously playing from both the subwoofer and the laptop's speaker.
The downside (this happens on real Macs, too) is that volume cannot be controlled using the hotkeys on the keyboard and nor with the volume control in the status bar without going back to just having Speaker (ATAPI) as the output. As a workaround, you can use the PTHVolume status bar app to control the volume for each device individually or just open Audio MIDI Setup each time.

 

Having a working mouse and keyboard

 

Install the latest release version from https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads using Kext Wizard.

 

Sometimes, however, in rare cases the mouse fails to respond: read the media keys section and set up the Fn keys driver to allow you to press Fn+F9 twice to have the mouse driver reload.

 

Fixing OS X's native brightness control (using EMlyDinEsH's backlight driver)...

 

To enable proper brightness control using the Asus backlight levels, install EMlyDinEsH's ASUS backlight driver.

 

Inside the kext's Info.plist, set the self-explanatory BrightnessAtBoot parameter to a value between 2-11. I like 9, personally.

 

Next, create /Library/LaunchDaemons/org.rehabman.delete-boot-args.plist with the following contents:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>org.rehabman.delete-boot-args</string>
	<key>RunAtLoad</key>
	<true/>
	<key>KeepAlive</key>
	<false/>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/sbin/nvram</string>
		<string>-d</string>
		<string>boot-args</string>
		<string>-d</string>
		<string>backlight-level</string>
	</array>
</dict>
</plist>
Set permissions on the file accordingly: sudo chown root:wheel /Library/LaunchDaemons/org.rehabman.delete-boot-args.plist

 

...OR: Fixing OS X's native brightness control (using OS X's native backlight driver)

 

If you don't want install EmlyDinesh's driver due to preferring the backlight levels that OS X provides, then find the latest ProBook Installer and use it to install (and it only) RehabMan's blinkscreen workaround to enable all the brightness levels.

 

Enabling brightness control with the keyboard and the media keys

 

Note: if you're using EMlyDinEsH's AsusNBWMI, remove /System/Library/Extensions/AsusNBFnKeys.kext first.

 

I have forked the last open-source version of EMlyDinEsH's AsusNBWMI and added in PentiumPC's server-client daemon code to provide better and more specialised support for the N55SL - namely, more function keys work.

 

The Fn keys that are enabled are as follows:

  • Standalone Power4Gear key & Fn+Space: Opens/Closes Launchpad
  • Brightness Up/Down
  • Toggle touchpad (Fn+F9) with RehabMan's PS/2 driver
  • Play, Next Track and Previous Track keys (both standalone and ones attached to Fn keys)
  • Volume keys
  • Stop button launches ~/.local/app/Stop.app
  • Camera (Fn+V) launches Photo Booth
  • Weird S thingy (Fn+C) launches ~/.local/app/S.app
  • Calculator (Fn+Enter)
Fn+F2 turns on/off the Wi-Fi natively.

 

It also fixes the power key only working once in Mavericks. If you want to turn this off (no point in using this if you're running Mountain Lion or if you miss being able to use the power key shortcuts [Ctrl+Shift+Power etc.]), then pass --disable-power-key-interception to AsusHotKeysClient.

 

It will also lock the screen when Fn+F7 is pressed and the screen is turned off. If you don't want this, then pass --remain-unlocked-on-screen-off to AsusHotKeysClient in the plist file.

 

To install, do the following:

  • If you're using EmlyDinesh's backlight driver, then set UsingAsusBackLightDriver inside AsusNBKeys.kext's Info.plist to true.
  • Install AsusNBWMI.kext with Kext Wizard
  • Run EDITOR=nano sudo visudo and insert the following into the file (needed for Fn+F9 functionality to work!) and save:

    %staff ALL=(root)NOPASSWD:/sbin/kextunload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext,/sbin/kextload /System/Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext
  • Put pk.qwerty12.AsusNBWMI.plist inside the $HOME/Library/LaunchAgents/ folder
After restarting, you may wish to head to System Preferences->Keyboard->Shortcuts->Display and turn off the two shortcuts that are there.

 

Getting the USB 3.0 ports to work

 

Install the excellent GenericUSBXHCI driver from here.

 

If your USB 3.0 ports are already malfunctioning under Windows and/or Linux (you're seeing really slow transfer speeds, repeated disconnections...) then the firmware of the USB3.0 controller needs to be updated. After getting your Hackintosh working, go back to the BIOS modification section of this guide and read the linked thread for the BIOS mod for details on how to upgrade the USB controller firmware *properly*.

 

Enabling the battery meter

 

Download the latest Release version of RehabMan's driver from here and install with Kext Wizard.

 

Battery reporting works without having to downgrade AppleACPIPlatform.kext thanks to RehabMan's battery patch for Asus laptops which brings back the retrieval of the battery status and properties like the battery serial number in the cleanest possible manner.

 

Setting up KextPatch-O-Matic

 

KextPatch-O-Matic is a script I wrote for the N55SL that will automatically do the things you would have to do when an update is installed (patching SNB, FakeSMC for the latest SMC version) on every shutdown. *You may have to restart again after an update for the changes to take place. Because the script checks to see if changes are required first, it won't make shutdowns longer unless they have to be.

 

To set it up, do the following:

sudo mv <Wherever Some10.9Kexts was extracted to>/KextPatchOMatic/rc.shutdown.local /etc/rc.shutdown.local
sudo chown root:wheel /etc/rc.shutdown.local
sudo chmod 755 /etc/rc.shutdown.local
Installing FakeSMC

 

Run kozlek's HWSensors installer to install netkas' FakeSMC along with kozlek's HWMonitor. FakeSMC is needed for OS X to actually start.

 

NOTE: Avoid HWSensors.5.2.724 as it breaks sleep. Versions prior to or newer than that version work fine, however.

 

Don't bother installing: LPCSensors, GPUSensors.

 

Installing the bootloader

 

Note: unmount the boot USB first!

 

Download the installer for the latest Chameleon boot loader and run it. Make sure to install FileNVRAM too so that iMessage works.

 

If you need to install the MBR (you know yourself if you need to - if you're not sure, leave it): fdisk440 -f /usr/standalone/i386/boot0 -u -y /dev/rdisk0

 

Next, place the *contents* of the Extra folder (you don't want to get rid of the FileNVRAM module, e.g.) from the attached Extra.zip into /Extra.

 

The theme is Chameleon's Standard/default but with a black background and ran through ImageOptim. The "Legacy Logo" option is on inside the plist; if you don't like it, remove it.

 

The DSDT was initially patched by EMlyDinEsH. If you don’t have an i7-2670QM, look here for a script that will generate an SSDT for you.

 

When restarting, turn off the computer and boot into the OS X installer again with -f using your USB flash drive.

 

---

 

Completing the boot loader install

 

This must be done, or you won't actually see Chameleon (and will be taken straight into Windows), meaning you won't be able to boot into OS X.

 

Making sure you're booted into the OS X installer running from your USB flash drive, follow the instructions below, replacing “disk0s2” with the disk and partition numbers of your OS X install and "OS X" with the name of your OS X partition. Disk Utility/mount/diskutil list can tell you this. Open the terminal, and run the following:

 

cp /Volumes/"OS X"/usr/standalone/i386/boot1h /private/var/tmp/

umount /dev/disk0s2

dd if=/private/var/tmp/boot1h of=/dev/disk0s2

 

Reboot and you should be able to boot off your hard drive without specifying any options!

 

Having your hard drive go into power saving mode without causing your whole system to hang

 

I have butchered hdapm and made it so that it sets APM level 128 when running on battery (Windows' default according to hdparm) and level 254 when the AC adapter is plugged in. The source can be found here. If you don't have a Blu-Ray drive in your laptop then don't bother with this and just enable the HD PM options in Energy Saver.

 

To install, do the following:

  • Put pk.qwerty12.BatteryHDAPM.plist in /Library/LaunchDaemons and set its permissions correctly:

    sudo chown root:wheel /Library/LaunchDaemons/pk.qwerty12.BatteryHDAPM.plist
    sudo chmod 644 /Library/LaunchDaemons/pk.qwerty12.BatteryHDAPM.plist
  • Put BatteryHDAPM in /usr/local/bin/ and set its permissions correctly:

    sudo chown root:wheel /usr/local/bin/BatteryHDAPM
    sudo chmod 755 /usr/local/bin/BatteryHDAPM
Stopping the Bluetooth mouse/keyboard prompts on startup

 

Open the Bluetooth Settings, click Advanced and turn off the options to automatically bring up the Bluetooth Setup Assistant if no keyboard or mouse was detected. When your laptop keyboard and mouse works, this is annoying.

 

Getting a proper keyboard layout, if you need it

 

If your N55SL has a British keyboard, use Liyang HU's PC105-alt keyboard layout from here.

 

If your N55SL has a Portuguese keyboard, then use cbmoon's layout from the thread for the modded BIOS.

 

Saving sleep state to RAM instead of the hard disk

 

On a platter-based HDD, this speeds up going to sleep by many orders of magnitude. On an SSD, you won't really notice, but you'll be saving your SSD from useless writes. Run the following in a terminal:

 

sudo pmset -a hibernatemode 0

sudo rm /private/var/vm/sleepimage

 

---

 

Optional Stuff

 

Disabling Turbo Boost on battery power

 

Controlling sleep on lid close: NoSleep

 

Stop iTunes from launching when the Play button is pressed

 

SmoothMouse: mouse acceleration that doesn't suck

Some10.9Kexts.zip

Extra.zip

Link to comment
Share on other sites

I've never encountered just the screen freezing in 10.8 and 10.9 DP2. In 10.8, I did get artifacts sometimes (usually at the login screen) but they were small and would go after five minutes. With 10.9 DP2, the only time I've encountered them (and lots of them, too) is when booting with Clover legacy (you can play with BusSpeedKhz to reduce them somewhat but they can still appear from time to time).
With Chameleon, I'm yet to see any artifacts in 10.9. I don't know if it's because of the VRAM increase to 768 MB, which is something I never did in 10.8 (since the HD 3000 and HD 4000 are assigned the same amount of VRAM there), but it's probably not that if Clover still brings them out...

 

EDIT: The VRAM size has nothing to do with it. The DP3 update reverted it back to 512MB. I'm injecting properties from a real MacBookPro8,2 for IGPU but that doesn't seem to make any difference (although DoiX [who I got the idea from] says he does it under ML to reduce the chance of seeing artifacts) and I'm also having AGPM loaded.

Link to comment
Share on other sites

×
×
  • Create New...