Dear Diary: USB 3.0 on my MacBook

Here’s the tale of getting USB 3.0 working in a tolerable regard on my 17″ MacBook Pro.

In short, it cost me about $10 and I had to install a custom, but generic kext to enable USB 3.0. Thankfully, all the heavy lifting was done for me by people with far more free time (lucky freaks).

Here’s a visual of my final result:

10614170_10100189899662557_3043406805184849068_n

 

So come along with me on my tale of computery enhancement.

3100_01_large

Getting to the launchpad (Device Selection)

There’s two vehicle-types you can chose for the mission, if you’re rocking a 17″ MacBook like myself. ExpressCard was my first choice, and ended up working out. The other route is thunderbolt, there are various adapters out there, I find this one to be especially encouraging. ExpressCard has the potential of not being an external solution, as you can see.

I ended up sporting the GMYLE BC628I forget where I bought it, as I ended up shelving it for a few months before the real push to getting it working arrived.

For those without ExpressCard slots (non 17″ users), you may as well enjoy that thunerbolt link, cause you almost definitely don’t have an ExpressCard reader. Though my adventure through USB 3.0 in VMware would still apply for you…

 

Fuelling up (Installation)

Screen Shot 2014-09-02 at 10.07.54 PMWhen I decided to get this going, I was running Mac OS X 10.10 Yosemite Public Beta 2.

I initially installed the USB 3.0 – Universal kext using MultiBeast.

The MultiBeast kext didn’t actually work for me. I could see it present, but not loadable by my kernel. I’m pretty sure this was only because I’m running a beta build of Mac OS and MultiBeast doesn’t yet have support for my particular kernel. For people reviewing this later, you’ll probably be fine with MultiBeast alone.
I ended up replacing the Multibeast kext in /System/Library/Extensions with this GenericUSBXHCI.kext (thanks). I’m not sure where I got that kext from, but I did not compile it.

I used the Repair Permissions feature of Disk Utility to square-away potential woe. Then I rebooted. With this, my Card was visible in the System Information under PCI (as per the image to the right).

 

Lift-Off (My Benchmarks)

Throughput Operation Type Source Destination Notes
20MB/s USB write Internal SSD Ext HDD via Apple USB 2.0
36MB/s USB write Internal SSD Ext HDD via ExpressCard USB 3.0
35MB/s USB read Ext HDD via Apple USB 2.0 /dev/zero
98.8MB/s USB read Ext HDD via ExpressCard USB 3.0 /dev/zero
6.48MB/s USB write Ext HDD via Apple USB 2.0 Ext HDD via Apple USB 2.0 Transfer occurred within VMware Fusion VM
16MB/s USB write Ext HDD via ExpressCard USB 3.0 Ext HDD via ExpressCard USB 3.0 Transfer occurred within VMware Fusion VM
4.8MB/s USB write Internal SSD Ext Flash via Apple USB 2.0
5.6MB/s USB write Internal SSD Ext Flash via ExpressCard USB 3.0
33.9MB/s USB read Ext Flash via Apple USB 2.0 /dev/null
75.6MB/s USB read Ext Flash via ExpressCard USB 3.0 /dev/null

The data speaks for itself. I care most about the performance of my USB 3.0 attached hard drive. I’m getting roughly double the throughput from it and numbers that are typical of what I’d see if the drive were attached via SATA. My USB flash drive I tested with was relatively cheap, so I’m not overly stunned by its “meh” performance.

VMware Detour

Newly refitted, I set my course for my destination to carry-out my mission. Most of why I wanted USB 3.0 is to support external storage I’m using for VMs. I have an OS X installation on a hard drive that can be booted natively. Since Mac OS will tolerate being transplanted, I typically have been booting this external drive’s system within a VM, rather than natively.

I was quite surprised to find that VMware Fusion largely doesn’t support USB 3.0. It gave me an error message when I attached my USB drive to my VM. I googled around and confirmed this seems to be a general problem for virtualization.

I found a way around my problem, rather than letting VMware worry about USB matters, I instead created a raw disk mapping to my USB-attached block device. VMware didn’t complain about that and I was able to run my VM over USB 3.0. Damn straight.

 

Debriefing (Details of my equipment)

Here’s the details of my toys:

  • 17″ MacBook Pro: MacBookPro8,3
  • Modified MacBook with Dual internal SATA 3 SSDs (SSDs in stripe raid – ~200MB/s writes and ~550MB/s reads)
  • ExpressCard USB 3.0 adapter: GMYLE BC628
  • 2TB USB 3.0 Seagate drive: STBX2000401
  • 8GB USB 3.0 flash drive: PSF8GTAB3USB
  • Mac OS X 10.10 Public Beta 2

Getting personal

Still reading? Huh..

How I hope Apple will manage to resurrect their 17″ MacBook line OR come up with something remotely similar. I’m horrified that the latest MacBook machines have become almost entirely non-upgradable. The general user benefits as they get a much slimmer product but it really kills the longevity of such machines for users like me. Consider my first MacBook, it came with a 60GB hard drive and a gig of ram. It currently sits attached to my TV for general use, with a 750GB drive and 4GB of ram, such hard drives didn’t exist when I bought the machine and 4GB of ram was a $900 upgrade at the time (which I promptly did myself using “PC” parts for $90). My current machine will probably be smashed or stolen before it’s obsolete for me, mainly because I can keep upgrading some its support-organs. I don’t expect Apple to make more 17″ machines or trend back towards user-serviceable parts. As such, my next machine will probably be something resembling a high-end MacBook Air and I’ll use it more like a terminal than anything. Apple’s trend is good for general users, bad for super-power users and there could be an emerging market for someone to take care of us ultra-geeks. Microsoft seems to be a lot of years away. Maybe if they can adopt a Unix, they could work out. Linux remains crap on the desktop thanks to Xorg remaining functioning as cutting-edge 1980s academicware, but Canonical’s Wayland may breathe new life in to the Linux Desktop.

My next upgrade for my 17″ MBP involves trying to find a good solution to use Hand Off, which requires Bluetooth 4.0. I found a promising lead on that, so perhaps I’ll make a posting on that adventure. After that, I guess I’ll get around to goofing with this ever-so-attractive Thunderbolt port. Amazing, to have what feels like the spine of the motherboard, open via some port. This too could be something of a saving-grace to the loss of user-servicability.

 

^D

2 comments to Dear Diary: USB 3.0 on my MacBook

  • Lee

    i have the same model gmyle bc628 card. The GenericUSBXHCI.kext used to work fine on my MacBook Pro under Mavericks, but no longer seems to work under Yosemite. I *did* disable kext certificate checking but setting nvram’s kext dev mode boot argument so that Yosemite wouldn’t reject the kext outright. But still no success.

    Is your gmyle card still working on the release version of Yosemite ?

  • Doc

    @Lee
    Yeah, it still works for me under Yosemite. Maybe I missed posting about a step I took or something. I think I used MultiBeast to repair permissions (or maybe Disk Utility), that *may* be involved, though probably not. In your System Information tool, you should check under Software > Extensions – do you see GenericUSBXHCI listed? Is it loaded? Mine indicates that it is.