Gigabyte Z97X-UD5H and USB 3.0 in macOS Sierra 11.12

2000px-usb_icon-svgA commenter recently asked if I had any USB 3.0 related issues with my Gigabyte Z97X-UD5H equipped Hackintosh. Since every USB port was working out of the box I thought everything was fine. However, having a closer look at the USB section in macOS Sierra’s System Information revealed that none of the USB 3.0 ports were operating at USB 3.0 speeds, they were all capped at 480 Mb/sec.

Here’s how I was able to get USB 3.0 speed back:

  1. Inspired by https://github.com/RehabMan/OS-X-USB-Inject-All/blob/master/config_patches.plist I added the entire “Patches” section to my clover.plist. From the “KextsToPatch” section I only added the “Change 15 port limit to 20 in XHCI kext (9-series)”  related to macOS 11.12 and removed the disabled line.
  2. I downloaded https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads and copied FakePCIID.kext and FakePCIID_XHCIMux.kext to Clovers kext directory.
  3. I made sure XHCI mode was set to “Smart Auto” and both, XHCI and EHCI hand-off were enabled in the BIOS.

All front and back panel USB 3.0 ports are now reporting 3.0 speeds when connecting a 3.0 compatible device:

JSM578:
  Product ID:	0x0578
  Vendor ID:	0x152d  (JMicron Technology Corp.)
  Version:	2.03
  Serial Number:	DB123456789B
  Speed:	Up to 5 Gb/sec
  Manufacturer:	JMicron
  Location ID:	0x14f00000 / 20
  Current Available (mA):	900
  Current Required (mA):	896
  Extra Operating Current (mA):	396

Major kudos to RehabMan for providing these easy-to-use injector kexts!
Since injector kexts are not drivers and thus do not have to be signed, my Hackintosh still runs with maximum system integrity protection (SIP):

Jans-Mac:~ jan$ csrutil status
System Integrity Protection status: enabled.

Intel Gigabit CT kext for macOS Sierra 10.12

macos-sierraThe Intel Gigabit CT Desktop ethernet PCI adapter is still one of the fastest and most robust NICs for the Hackintosh. This did not change with macOS Sierra 10.12. I’m still using the IONetworkingFamilyInjector.kext in Clover’s kext folder to override the compatibility list in Apple’s own Intel82574L.kext. However, while the installation of macOS Sierra went smoothly, I lost all network connectivity after installing Sierra. A quick look at the network kernel extensions revealed that Apple changed the driver identifier of the Intel82574L.kext, rendering the injector useless. After changing the identifier in the injector and a reboot, network connectivity was back again.

The patched injector kext is available for download here: IONetworkingFamilyInjector.kext_.macos-sierra.zip. The kext injector has to be placed into the EFI/CLOVER/kexts/10.12 folder.

intel gigabit desktop ct

The Hackintosh is still running in full protected mode (if enabled in Clover):
$ csrutil status
System Integrity Protection status: enabled.

A permanent solution?

While writing this post, I stumbled upon an alternative solution, which seems to be permanent. However, it requires flashing the Intel NIC and changing it’s device ID property. Check out this post on InsanelyMac. I’m going to try this approach in the near future since it would reduce the number of kexts in my Hackintosh rig to just one (only FakeSMC).

OS X Yosemite installer shows blank/black screen when using Clover

This is a heads up for everybody with an Nvidia GTX 760 (other Nvidia cards may be affected as well) trying to install OS X Yosemite 10.10 using Clover on a Hackintosh. If you’re getting a blank/black screen at the start of the installation, try to add the boot flag nv_disable=1. My screen was getting dark just after the installer displayed DSMOS has arrived when using the -v verbose boot flag. It always happened right after the installer was switching from text mode to graphics mode.

        <key>Boot</key>
        <dict>
                <key>Arguments</key>
                <string>dart=0 -v kext-dev-mode=1 nv_disable=1</string>
        ...(more)

Once OS X Yosemite has been installed, the nv_disable boot flag is no longer required and should be removed.

How to comfortably mount Clover’s EFI partition

I’ve been using command-line commands or the Clover Configurator to mount Clover’s EFI partition to edit Clover’s main configuration file.

However, I find it easiest to mount the hidden EFI volume in Disk Utility:

diskutility-efi

The hidden partitions will only be shown if Disk Utility’s debug mode has been enabled. In a shell, type:
defaults write com.apple.DiskUtility DUDebugMenuEnabled 1

Start Disk Utility and enable the option to show all partitions:

diskutility-debug

How to auto-boot an OS X Fusion Drive using Clover

Ever since I fusioned a SSD and a HDD into an OS X Fusion Drive, Clover has been unable to auto-boot the new logical Fusion Drive volume. Clover was just sitting on its startup volume selection screen and was waiting for me to select the volume to boot. I’ve found some hints that using an UUID should make Clover autoboot the Fusion drive but I’ve been unable to make it work with any of the UUIDs of the logical/physical volume.

What finally worked was using the system ID (or whatever this is called) of the volume. Here’s an excerpt from my Clover configuration:

	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>dart=0</string>
		<key>DefaultVolume</key>
		<string>HD(3,GPT,17337FC1-A0F7-4C73-DEA1-363BA11AB811,0x3A346008,0x40000)</string>
		<key>Timeout</key>
		<integer>5</integer>

With this ID, Clover auto-boots my Fusion Drive volume just fine after waiting for 5 seconds for user input.

The full IDs can be found in Clover’s log file in /Library/Logs/CloverEFI/ and look like this:
system.log:0:837 0:000 PciRoot(0x0)\Pci(0x1F,0x2)\Sata(0x0,0xFFFF,0x0)\HD(3,GPT,17337FC1-A0F7-4C73-DEA1-363BA11AB811,0x3A346008,0x40000)

You have to strip the PciRoot/Sata part for Clover.

Native Gigabit PCI-e Network Adapter / NIC for OS X

Here’s an overview of natively supported PCI-e (64-bit) network interface controllers (NIC) for OS X. I’ve had the chance to test some of them in my current Hackintosh build.

HP NC360T PCI-Express PRO/1000

The HP NC360T dual port PCI-e network adapter works out of the box in OS X. However, since OS X 10.8.2 Apple changed something in the driver resulting in a link loss whenever the network is under considerable load. If this happens, the network can be brought back to life by deactivating/reactivating the network in OS X’s control panel. Do not buy this network card if you intend to use it in a recent OS X version.
nc360t-pci-e-dual-port Continue reading

New Hackintosh build based on GIGABYTE GA-Z97X-UD5H

Updated 2015-10-21: This rig still works and performs awesomely on OS X El Capitan 10.11! I’m able to run it without any unsigned drivers and full system protection. csrutil says “System Integrity Protection status: enabled.”

My ASUS P6T Hackintosh died because of a busted capacitor on the motherboard. I had to decide wether to buy an Apple desktop computer or to build a new Hackintosh. I would have bought an (internally) expandable Mac Pro but the current trash can just doesn’t appeal to me.

I had three goals for the new build:

  • Since kernel extension signing is mandatory in OS X Yosemite (at least in the dev previews/public beta versions), it has to be as vanilla as possible.
  • Noise-free
  • Expandability

So, without further ado, here’s the new build:

The Z97X-UD5H uses Intel’s latest 9 Series chipset which to this date is not being used in any Apple computer. There’s a good chance Apple will use this chipset in the next iMac refresh in Q3/Q4 ’14. Even though the chipset is not officially supported in OS X, it runs just fine, even without a custom DSDT/SSDT! Continue reading

Best USB 3.0 controller for a Hackintosh

My rather dated ASUS P6T based Hackintosh lacked USB 3.0, a feature I really wanted because I already own an external USB 3 SSD drive which I’m using on my notebook. Quite a while ago, I bought this dirt cheap PCI-express 4 port USB card for $11 on eBay. However, the controller didn’t work on OS X no matter what (MultiBeast-)driver I tried. The connected SSD drive finally showed up once I applied some obscure XHCI compatibility settings to the .plist of the Apple USB driver but transferring files from/to the drive was beyond slow.

Last week, I noticed an USB 3 related entry in the MultiBeast release notes:

Added USB 3.0 – Universal which is RehabMan’s branch of Zenith432’s GenericUSBXHCI.kext

Once I installed this new driver using the latest MultiBeast and rebooted my Hackintosh, my external SSD started working like a treat! While I have no idea if this $11 controller is the best Hackintosh USB 3.0 controller (that was just a bait to lure you in) it’s still a good bang for your buck. This controller/driver combo might even work on a Mac Pro, which to this date still don’t have USB 3 support.

usb3-controller-hackintosh

Kudos go out to everyone involved in creating this universal USB 3 driver. You’re awesome!

ASUS P6T Hackintosh & OS X Mountain Lion

I just finished installing OS X Mountain Lion (latest preview) on my new Intel 520 SSD. The 520 is one of the fastest consumer SSD’s on the market today. Even though my 3 year old ASUS P6T mainboard doesn’t support SATA-3, the 520 still performs ridiculously fast. It takes a mere 6 seconds from the Apple logo to the desktop. The spinning Apple circle doesn’t even show up.

Installation went pretty smoothly using Tonymacx86’s UniBeast and MultiBeast.

Will somebody please teach the guys in Redmond about how to speed up an operating system boot?

Best Ethernet network adapter/NIC for a Hackintosh

Added 8-15-2014: This post ist outdated, please see here for more information on natively supported PCI-e network cards for OS X.

My ASUS P6T motherboard features a gigabit-capable Realtek 8111C onboard NIC. There’s an official but old OS X driver for this network adapter available from Realtek, but it crashes my Hackintosh whenever I try to use an OpenVPN connection to a remote server. Luckily, there’s an alternate RTL 81xx driver from Lnx2Mac which doesn’t suffer from this limitation. However, when I did some network benchmarking using a remote Linux server, I wasn’t getting consistent results regarding throughput. It seemed that the further a remote server was away, the less consistent was the throughput I got. It even got worse when using a VPN. It took me quite a while until I found out that the culprit was the Lnx2Mac driver for my onboard network adapter. Don’t get me wrong, the Lnx2Mac driver is perfect if you just need some sort if Internet connection and I appreciate the efforts that have been put into it. But since I was looking for a high performance driver, it didn’t seem to be a good choice. Continue reading

OS X 10.7.4 update breaks Asus P6T X58 compatibility

For the first time ever, an OS X update breaks compatibility with the X58 chipset. After applying the 10.7.4 update most X58-based Hackintoshs will see (if booted with the -v option) an ACPI related kernel panic or the kernel will just hang early in the boot process with a message like

IOAPIC: Version 0x20 Vectors 64:87
IOAPIC: Version 0x20 Vectors 88:111

Reverting  back to an older AppleACPIPlatform.kext will most likely bring the Hackintosh back from the dead. In order to get access to the disk you’ll need some sort of OS X boot/recovery drive. Make sure you rebuild the kext-cache or temporarily disable support for kernelcache in Chimera/Chameleon.

See this thread on insanelymac.com for a working AppleACPIPlatform.kext. Hopefully, someone finds out what changes need to be made in the boot loader and/or DSDT.

USB Bluetooth dongle for your OS X 10.7 Lion Hackintosh

Want to use Bluetooth on your OS X 10.7 Lion Hackintosh? I went through several super-low-cost USB Bluetooth dongles until I found one that still works after waking the Hack from sleep, which seems to be a common problem for some Bluetooth dongles. I’m only using Bluetooth for my Magic Trackpad though but so far, this dongle works a treat. I got mine from eBay for $1.88 including free shipping (no kiddin’!) from this seller. The item is shipping from China, delivery may take 2 weeks. Continue reading

Lowering Radeon 6870 fan noise in OS X Lion

While in Windows 7 the Radeon 6870’s GPU fan is almost inaudible under idle conditions, the fan is clearly audible in OS X Lion. In OS X the GPU fan is permanently changing its speed which creates quite some bothersome noise. If you can’t live with that noise, here’s a tip for the not-so-faint-of-heart about how to modify the fan control curve of your Radeon graphics card. This involves flashing your graphics card’s BIOS using an optimized temperature/fan-speed map. Ain’t that cool? :-) Continue reading

Best graphics card for an OS X 10.7 Lion Hackintosh

If you’re about to build a new OS X 10.7 Hackintosh or to replace the graphics card in your current Hackintosh rig, you may want to consider the AMD Radeon HD 6870. Power-wise it’s a mid-range graphics card which comes with an affordable price tag. The big advantage of the Radeon 6870 is that it fully supports Quartz Extreme and Core Image (QE/CI) in OS X Lion out of the box, no additional kernel extension like ATY_y.kext needed. All you have to do is to set graphics enabler to YES in Chameleon’s com.apple.Boot.plist. If you don’t need a high-performance gamer graphics card, this is the one to go for!

AMD Radeon HD 6870 Series:
  Chipset Model:	AMD Radeon HD 6870 Series
  Type:	GPU
  Bus:	PCIe
  PCIe Lane Width:	x16
  VRAM (Total):	1024 MB
  Vendor:	ATI (0x1002)
  Device ID:	0x6738
  Revision ID:	0x0000