How to make the MacBook Air SuperDrive work with any Mac

(Edited/clarified Nov. 2012 by luz, updated for Mavericks Nov. 2013, added Trim Enabler note Jan 2015) 

The story is this – a while ago I replaced the built-in optical disk drive in my MacBook Pro 17″ by an OptiBay (in the meantime, there are also alternatives)  which allows to connect a second harddrive, or in my case, a SSD.

To be able to continue using the SuperDrive (Apple’s name for the CD/DVD read/write drive),  the Optibay came with an external USB case which worked fine, but was ugly. And I didn’t want to carry that around, so I left it at home and bought a shiny new MacBook Air SuperDrive (by 2012, Apple USB SuperDrive) for the office.

It just didn’t occur to me that this thing could possibly not just work with any Mac, so I didn’t even ask before buying. I knew that many third-party USB optical drives work fine, so I just assumed that would be the same for the Apple drive. But I had to learn otherwise. This drive only works for Macs which, in their original form, do not have an optical drive. Which are the MacBook Airs and the new Minis [Update 2013-11-10: the only model left with an optical drive is the non-retina MBP 13″].

At this point, I started to search the net, finding hints, disassembling Mac OS X USB drivers and finally patching code in a hex editor which was the first, but ugly, solution to make the superdrive work, and gave me the information to eventually find the second, much nicer solution presented below. For those interested in the nitfy details of disassembling and hex code patching, the first approach is still documented here.

For actually making the SuperDrive work in clean and easy way, just read on (but note: while it has proven to be  a quite safe method, still you’ll be doing this entirely on your own risk! Using sudo and editing system files incorrectly can damage things severely!).

Apparently, Apple engineers had the need to test the superdrive with non-MacBookAir computers themselves, so the driver already has an option built-in to work on officially unsupported machines! All you need to do is enable that option, as follows:

The driver recognizes a boot parameter named “mbasd” (Mac Book Air Super Drive), which sets a flag in the driver which both overrides the check for the MBA and also tweaks something related to USB power management (the superdrive probably needs more power than regular USB allows). So just editing /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and inserting the “mbasd=1″ into the “Kernel Flags” does the trick:

  1. open a terminal
  2. type the following two commands (two lines, each “sudo” starting on a new line)

    sudo plutil -convert xml1 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

    sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

  3. Insert mbasd=1 in the <string></string> value below the <key>Kernel Flags</key> (If and only if there is already something written between <string> and </string>, then use a space to separate the mbasd=1 from what’s already there. Otherwise, avoid any extra spaces!). The file will then look like:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Kernel Flags</key>
    <string>mbasd=1</string>
    </dict>
    </plist>

    [Important update for users of Trim Enabler (thanks boabmatic!): Since Yosemite, installation of Trim enabler puts another flag “kext-dev-mode=1” into the com.apple.Boot.plist, and, unfortunately, also converts the .plist to binary format which shows as mostly garbage in many text editors (that’s what the “plutil” line in step 2 above takes care about: it converts the file back to XML so you can edit it). Note that the system will not boot any more when trim enabler is installed, but “kext-dev-mode=1″ is missing! So to apply the “mdasd=1″ with trim enabler active, you need to combine both flags, such that the line will read
    <string>kext-dev-mode=1 mbasd=1</string>. For details on Yosemite and Trim Enabler, see here]
    [Update: As CyborgSam pointed out in the comments, the file might not yet exist at all on some Macs. In that case, the pico editor window will initially be empty – if so, just copy and paste the entire XML block from above].

  4. Save (press Ctrl-X, answer yes to save by pressing Y, press enter to confirm the file name).
  5. Restart your machine. That’s it!

I tested this [Updated:2013-11-03] on Lion 10.7.2 up to 10.7.4, Mountain Lion up to 10.8.4 and Mavericks 10.9 so far, but I expect it to work for all Mac OS versions that came after the initial release of the Macbook Air Superdrive, which is probably 10.5.3, and is likely to work with future versions of OS X. Just let me know your experience in the comments!

BTW: the boot options plist and how it works is described in the Darwin man pages

[Update 1]: This trick has found it’s way into a Mac OS X Hints comment, unfortunately lacking credit… [Update: was just accidental omission by the comment’s author]

[Update 2]: It seems that there’s an even simpler method than all what I described above: 1) Open a Terminal, 2) type sudo nvram boot-args=”mbasd=1″ – done. I haven’t tested so far, but Apple docs (from here to here to here) suggest this has exactly the same effect as the .plist editing below. [Update: apparently, does not always work, so I recommed to stick with the .plist editing which works well]

28. October 2011 by luz
Categories: English | Tags: , | 394 comments

Comments (394)

  1. I have a early 2009 Imac with the DVD drive not able to burn anymore. Just bought a new Apple External Superdrive for $100 and plugged in the USB cable and got an error message saying this device is not supported. After reading all the fixes for this I was ready to edit the files listed but am a bit of a novice in that I haven’t a friggin’ clue what ‘open terminal’ means. I searched all my preferences etc. for something called ‘terminal’ and can’t find it.
    Where do I find these files I’m supposed to edit/add to and is it just a matter of deleting and typing in place? Also is there a chance I could screw up the entire computer so it loses data or won’t boot?

    • Just type “terminal” in spotlight, and you’ll find it (app with black rectangular icon).
      If you follow the instructions closely, there’s not much that can go wrong.
      However, it is possible to screw it up, and with a lot of bad luck you can also render your mac unbootable.
      Unlikely, but possible. Still, as long as you have an up-to date time machine backup, you’ll be able to restore even in the worst case (If you don’t have a backup, get one, now! There are 1000 more reasons to have a full backup, not just using “Terminal” and “sudo”!!).

      • Thanks so much. Will give it a try.

      • I found Terminal and typed in the first Sudo Plutil command , hit enter to start typing second Sudo command line and was asked for Password. Typed that in and got lots of error messages saying couldn’t read command, couldn’t find command followed by lines of text which I didn’t understand. Was not able to get any screen that looked like the one you show to insert the other imput.

      • I have a MBAir with a working Apple USB Optical Drive. I also recently bought a used 17″ MBPro (2011-ish the latest version before being stupidly discontinued) and installed an SSD so I put the original spinning Drive in the Optical Drive’s position. Its a long story but I “Cloned” my MBAir’s SSD to the MBPro’s SSD making the Pro an Air….sorta. Everything has worked for months flawlessly till I plugged the Apple USB Optical Drive into the MBPro. It “doesn’t” recognize it. Shouldn’t it? The Pro should contain the Air’s flag etc…. Any idea whats up? (I’m running Mavericks and will NEVER upgrade to Yosemite.)

        • The MBA is the machine the external SuperDrive was designed for, so it does not need the flag (OS X figures out it is runnning on a MBA itself and allows the SuperDrive). But now the OS is cloned to a MBP17″, you need to add the flag.

  2. Seems to work for me. Thanks a lot, you saved my day :-)
    Solange

  3. This is a great tip, thanks for this.

    I only need my superdrive occasionally, when I’m writing CD Masters for production.
    With the Clover bootloader I can add the mbasd command at the boot-screen. That way I’m only tweaking the power management on sessions where I need that extra juice.

    • Oh, interesting comment! Wouldn’t have thought a Apple Superdrive would get connected to a machine booting with Clover ;-) But then, why not?

  4. How do I make it go onto a second line. I tried entering “enter” but then it wanted my password. Should I just hit space until I am on the next line. The first one when completed goes on to the second line but should I make the sudo start a new line? Reply soon please. Thank you

  5. Using these instructions, I had my external SuperDrive working fine for the last 9 months. Recently, I received an automatic update to my system and now it will not work. I’ve tried to redo the instructions in this post, but it will still not work.

    Specs: MacBook Pro (15-inch, Mid 2010)
    OSX Yosemite: Version 10.10.3

    Any help would be super appreciated!

  6. Using Yosemite 10.10.3 and, to my shock, couldn’t use my Apple USB SuperDrive on my MBP (15″ mid 2012). I had long ago applied this patch and it had persisted through many upgrades, until now.

    I followed the above instructions and upon reboot, the com.apple.Boot.plist file reverted back to its original state and created the version I made as com.apple.Boot.plist.save. I noted that com.apple.Boot.plist~orig existed as well, which was identical to what my com.apple.Boot.plist was upon reboot. So, I first converted the file com.apple.Boot.plist~orig to XML, edited it to add the patch, saved it, and converted it back to binary. I then converted the file com.apple.Boot.plist to XML, edited in the patch, saved it, and converted it back to binary. Upon reboot, it saw that they matched and my edit remained in place. My SuperDrive works again. So upon boot, the OS looks at teh com.apple.Boot.plist file and makes sure it matches the com.apple.Boot.plist~orig file. If not, it reverts to the original and saves any changes. No doubt a protection against malware…

  7. I bought a SuperDrive for my Early 2011 13-inch MacBook Pro that I essentially just use for DVD’s and streaming, but the internal DVD drive doesn’t always work. Naturally, I didn’t find out until I got home that it doesn’t work with MacBook Pros with an internal DVD drive.
    It’s running on Yosemite 10.10.3 and I was able to get the SuperDrive to work by just using the basic instructions Luz provided (two sudo lines, inserting mbasd=1 between the , reboot).
    I noticed some people have been having trouble with it, so I’m not sure if it has to do with the year they were made? Just thought I’d add that it worked great for me. It’s a beautiful drive and I would have been really disappointed if I spent $80 and it didn’t work.

    Thanks Luz!!!

Leave a Reply

Required fields are marked *