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:

sudo vi /Library/Preferences/SystemConfiguration/

and add mbasd=1 to the Kernel Flags:

        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.


This post currently has 23 responses

    • Oh yes. I got the dreaded “needs power” message again, added mbasd=1, and that message disappeared. But yet, since Mojave, the SuperDrive doesn’t work anymore. When I unplug it from the Belkin hub and plug it back in, I get the same message again. Any solutions your side / including a different drive that would work?

      • And here is one more observation: I just started WinX in a VirtualBox and assigned the SuperDrive to the WinX client. I was able to right-click on the SuperDrive in WinX and hit eject – and the SuperDrive reacted to it. The SuperDrive doesn’t yet recognize loading a CD, but if I push one in to the point that I can’t get it out manually, I can eject it again from WinX.

  • Thank you, this is really useful, as I am trying to connect my Superdrive to a Belkin Thunderbolt Express. However, I have the Thunderbolt Express 2 (running otherwise successfully with a mid-2012 MBP with Thunderbolt v.1). Would you expect the above solution still to work? Specifically, do you know if the Belkin Express 2 dock actually outputs sufficient power via USB to run the superdrive?
    (I don’t know if Superdrives vary over the years as to their power consumption – here’s all I could find in System Report:
    Device Name: SuperDrive, Media Name: HL-DT-ST DVDRW GX30N)

    Grateful for any reassurance or otherwise!

  • 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

    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


      I’ve been searching for an answer to this problem for years and finally found it here. Now using a horizontal Henge dock with my Superdrive.
      All the best,

  • 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?

          • I think this question from daniel, and the same one from boris above, is still not answered. Where is the save option in Terminal? I don’t see it on any of the Terminal menu options after making the change. (I have done the csrutil disable step.)

Leave a Reply

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