How to run a SuperDrive on a USB Hub

Jeff Grundy has made an awesome suggestion on how to make an Apple SuperDrive work on a USB Hub. As a background, Apple supports running these drives only when connected directly to the computer. They also work when connected to a ThunderBolt display, but you’ll get a warning saying the device is underpowered if you put it on an alternative USB Hub. As Jeff writes, it is sufficient to modify one file:

and add mbasd=1 to the Kernel Flags:

Then save the file and reboot the machine.

With this change I am without issues able to run the SuperDrive, lying conveniently in my bookshelf, connected to a Belkin ThunderBolt Dock. It is a powered Hub, so YMMV if you try with an El Cheapo solution.

Comments

This post currently has 14 responses

  • I have it up and running now with a powered USB hub on Mac OS High Sierra with the following instructions:

    Startup in recovery mode (cmd + R)
    In terminal type: csrutil disable
    Reboot in recovery mode
    In terminal type: nvram boot-args=“mbasd=1”
    Reboot in recovery mode
    In terminal type: csrutil enable
    Reboot

    You can use the following command to check the settings:
    nvram -p > /tmp/overview
    You can then view the file /tmp/overview (e.g. with vi) to check if the setting of boot-args is actually applied

    Succes!

  • Just upgrade to high sierra and it looks like this no longer works (it was working fine in Sierra).

    • Checked again, it does work in High Sierra. You’ve again to temporarily disable SIP to make it work. High Sierra then came up again with the warning, even after applying the patch, but it still does work.

  • doesn’t seem to work on high sierra. still get the error about needing to connect directly when trying to use a powered anker hub.

      • Nope not working for me anymore. Not sure why.

        I am trying to manually change the file though, I don’t know how to save my changes in terminal. How do you edit and save the file in terminal? I wish there was an ELI5 version of this post.

      • Your suggestion didn’t work here either. 🙂
        However, there’s a simple work-around. Without disabling SIP as well, so you can save two reboots.
        All you need to do is boot in to recovery and do:
        nvram boot-args=”mbasd=1″

        Reboot. Done.
        No need to disable SIP first, just one command and you’re done.
        Of course if you have more boot-args you have to include those as well, for example I boot in verbose mode so its:
        nvram boot-args=”mbasd=1 -v”

        Modifying the plist is more work, indeed doesn’t always work under High Sierra, etc.
        The only downside is that if you clear your NVRAM: the boot argument will be lost and you have to add it again.

        But for me modifying that file unfortunately didn’t work either.
        Maybe because nvram already had boot-args set?
        Maybe it will work if you modify that plist to show “mbasd=1” if you first remove the boot-args from NVRAM.
        Perhaps that’s what’s different. 🙂

      • Oh it just occurred to me, perhaps you were editing the file with something like El Capitan or more recent. Then you cannot save the file, unless you first disable rootless / System Integrity Protection (SIP). So here’s what you do: boot into your recovery screen, open terminal, type csrutil disable. If you don’t want to bother mounting the partition and changing the file from there, just reboot. Go and change your file. Reboot again, to recovery screen, open terminal, type csrutil enable. Reboot, and all is done. Just confirmed, it also works on Sierra.

        • I went through Recovery mode and disabled SIP, but when I go into the terminal after reboot I cannot save the edit and am only given the option to “terminate running process in this window?” “Closing this will terminate running processes: vim, sudo.”

          Am I missing something?

Leave a Reply

Your email address will not be published. Required fields are marked *

Sidebar