How to use 'unsupported' Thunderbolt 3 docks and enclosures on Sierra and High Sierra

Posted:
in Current Mac Hardware edited October 2017
Even using the "universal" USB-C connector for Thunderbolt 3, there are still some drive enclosures, eGPU cases, and docks that won't connect to a Mac running Sierra or High Sierra. Here's how to get them to talk to your MacBook Pro or iMac.




Prior to the release of the MacBook Pro with Touch Bar in 2016, some vendors developed peripherals with the TI82 chipset -- there are a few early docks and hard drive enclosures that have it. Apple has chosen to block TI82 chipset-based peripherals in software for some reason known only to itself.

Note that we said "in software." There's nothing inherently preventing the hardware from negotiating a connection, other than the Apple-placed block. In fact, BootCamp Windows installations recognizes the TI82-based hardware just fine.

But, there's a hack around the software block in macOS, and we've been taking advantage of it for some time. First developed for external GPU solutions using Thunderbolt, the hack works equally well for drive enclosures and some docking stations.

The eagle-eyed may have spotted a piece of TI82 gear in use at AppleInsider in a previous piece.




The hard drive array here is an AkiTiO Thunder 3 enclosure (minus the front perforated plate), that before the execution of the hack was "unsupported" in macOS, even with Apple's bidirectional Thunderbolt 2 to Thunderbolt 3 adapter in the mix.

Caveats

In theory, since the hack modifies a system file, any given OS update could wipe it back to the original incompatibility. In fact, the shift from Sierra to High Sierra did just that, necessitating the developer to crank out another version of the script.

Also, power delivery isn't negotiated fully. You may have a dock or enclosure that supplies more than the baseline 15W, but it will never connect at the higher power if you need to use the hack.

That, and there's the need to disable System Integrity Protection to implement the hack in the first place.

Drivers may be an issue with docks. While macOS Sierra and High Sierra natively support a large number of USB and Ethernet chipsets, it doesn't support them all. You may need to hunt down a third-party driver to get something to work right.

If none of these four things bother you, then on with the show!

Disable System Integrity Protection

Reboot your computer, and hold down command-R to boot into the recovery partition.

From the Utilities, select Terminal

In the Terminal window, enter
csrutil disable
The operating system should tell you that you have "Successfully disabled System Integrity Protection" and it also tells you to restart your computer for the changes to take effect.

Thunderbolt 3 hack

The KhaosT tb-3-enabler hack has come a long way since we used it to test out the Razer Core external GPU solution in December 2016.

Download the hack from the Github repository for the project. Click on tb3-enabler.py




Control-click Raw, and select Download Linked File.




Allow the script to run, by opening the Terminal app, and without hitting return and including a trailing space, type:
chmod +x
Drag the file you downloaded earlier to the Terminal window to tell macOS where the script is. Hit return.

In the same terminal window, without hitting return and including a trailing space, enter:
sudo
Once again, drag the file you downloaded earlier to the Terminal window to tell macOS where the script is, and hit return.

Reboot for changes to take place. Connect your previously incompatible Thunderbolt 3 device, and verify connectivity with either the System Profiler or functionality.

As a reminder, this solution does not provide drivers for Ethernet or USB -- so you may still need to hunt those down yourself.
Soli

Comments

  • Reply 1 of 5
    Great article Mike. Just one question. After verifying that TI82 works, should one re-enable SIP?
  • Reply 2 of 5
    SoliSoli Posts: 8,408member
    1) Thanks for the article, Mike.

    2) What a huge PITA for any platform, but especially for the "It just works" company. I wonder if this limitation has to do with security. I honestly can't fathom any other reason for what seems like an artificial limitation.
  • Reply 3 of 5
    Mike WuertheleMike Wuerthele Posts: 3,728administrator
    Soli said:
    1) Thanks for the article, Mike.

    2) What a huge PITA for any platform, but especially for the "It just works" company. I wonder if this limitation has to do with security. I honestly can't fathom any other reason for what seems like an artificial limitation.
    Wish I knew why. Nobody's talking about why the choice was made -- but it was a pretty obvious decision by Apple to cut it off at the knees, since it works on Windows on the same hardware.

    And, you're welcome. Lots more tips and things incoming.
  • Reply 4 of 5
    Mike WuertheleMike Wuerthele Posts: 3,728administrator

    macseeker said:
    Great article Mike. Just one question. After verifying that TI82 works, should one re-enable SIP?
    I'd like to say yes. But, what I was finding was that in "point" releases of the OS with SIP ON, as I did so, the hack would be over-written. With it OFF, it would stay intact. Not really that relevant to this article, but you can disable SIP to install some drivers for older hardware. If you turn SIP back on, it generally kills the driver.

    It's a conscious choice that the user needs to make. If it's a daily use machine, with active internet use, then SIP ON is best. For a home server like I used the array on? Less of a need for it.

    So, what I'm doing is selectively enabling and disabling during point release upgrade day.
  • Reply 5 of 5

    macseeker said:
    Great article Mike. Just one question. After verifying that TI82 works, should one re-enable SIP?
    I'd like to say yes. But, what I was finding was that in "point" releases of the OS with SIP ON, as I did so, the hack would be over-written. With it OFF, it would stay intact. Not really that relevant to this article, but you can disable SIP to install some drivers for older hardware. If you turn SIP back on, it generally kills the driver.

    It's a conscious choice that the user needs to make. If it's a daily use machine, with active internet use, then SIP ON is best. For a home server like I used the array on? Less of a need for it.

    So, what I'm doing is selectively enabling and disabling during point release upgrade day.
    Thank you Mike for explaining what would happen when SIP is re-enabled.  It's kinda like running High Sierra on a MBP 5,1 - I have to have turned SIP off.
    edited October 2017
Sign In or Register to comment.