How to make the MacBook Air SuperDrive work with any Mac

Note: for Mac OS X 10.11 El Capitan and later, please see this updated post instead.

(Edited/clarified Nov. 2012, Nov. 2013, Jan 2015 and June 2016)

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.

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:

[For OS X 10.11 El Capitan onwards please see here for updated instructions instead!]

  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

503 thoughts on “How to make the MacBook Air SuperDrive work with any Mac”

  1. This _was_ working just fine with my MacBook Pro, but it suddenly stopped. I can hear the drive starting to spin up, but it never succeeds, and the console has errors like this:

    “Apr 3 17:16:57 Pro kernel[0]: USBF: 210. 77 AppleUSBEHCI[0x55bd000]::Found a transaction past the completion deadline on bus 0xfd, timing out! (Addr: 2, EP: 6)”

    Any ideas would be welcome.

    Note: this happens on Snow Leopard and Lion. (I can boot the machine into either but the problem exists on both.)

    1. USBEHCI sounds like a low level USB 2.0 issue to me. As it happens on both SL and Lion, I’d assume some sort of hardware problem on the port itself. Have you already tried connecting the drive to another USB port? Because one thing that could make the drive not work correctly would be insufficient power supply.
      The MBASD requires more power than a regular USB port officially delivers (which is 500mA @ 5V = 2.5Watts). Mac USB ports can deliver extra power up to 1100mA, like when charging an iPhone. I just found a very interesting Apple Technote detailing the conditions for extra USB power. Foremost, it seems that a Mac can enable high power only on one of its USB ports, and does so for the first Apple device connected. So if you also connect an iPhone, it might be that the iPhone gets the extra power instead of the MBASD.

      In my own daily use of the MBASD on my MBP 17″ (early 2010), the drive is usually connected via the cinema display’s USB hub, which is explicitly mentioned in that technote to be capable of delivering extra power. I also used it a few times connected directly to the MBP (but then, certainly without anything else connected at the same time)

  2. Okay I was able to make this work for my mid 2010 MBP. However when I tried to do this on my 2006 MBP (Original Core Duo model) running on 10.5.8 I was not able to get it working And I tried the boot.plist editing as well as hex editing the driver itself. However when I booted that machine to 10.6.8 off of an external Drive and tried it there it worked (same hardware but different versions of the OS). Just for reference I also tried it on a 10.5.8 Mac mini G4 1.5 ghz and same results as the MBP running 10.5.8 (though for the G4 Mini it could also be a difference of CPU architectures as well and if so I can accept that) So for me this is only working in 10.6.8. Any more ideas that I can try to get this working on Leopard Machines. Thanks

    1. On a early Core 2 Duo MBP (refurb purchased new in 2007), applied the boot argument mbasd=1 to the Kernel Flags in com.apple.Boot.plist.

      I see this in my logs:
      4/15/12 3:02:11 PM kernel USBMSC Identifier (non-unique): K15C2AN3857 0x5ac 0x1500 0x200

      I did not think it was working because Disk Utility would not see the drive. However, I am able to insert a disc and it is mounted as a Volume.

      What else to do, to make Disk Utility see the USB drive?

      Thanks for this blog!

      1. I have no idea, because in my case the SuperDrive shows up in DiskUtility (however, that’s on Lion).

        About that USBMSC console log line – I get that too, and it’s not an error, just an information (see answer post from a member of the Apple USB team). So nothing wrong here.
        0x1500 is the product ID, 0x05AC is the vendor ID (=Apple). 0x200 is the version. That’s all identical with my drive. The K15… string is the serial number which is of course different for every drive.

        Maybe the 10.6.8 disk utility has some extra checks (or rather, bug, as it seems to work in later OS versions) that prevents the external drive to show up. Is the drive shown in the system profiler (under “Disk Burning” and under “USB”)?

        1. my bad. the Superdrive shows up in Disk Utility. was confusing due to same name as internal superdrive.

  3. I’ve also just tried it on a fresh Leopard install on the original MacBook Pro freshly updated to 10.5.8 booting from an external firewire drive and still no go.

  4. Sorry, doesn’t work.

    I have a MacBookPro2,2, running 10.5.8 (Leopard)

    I did modify the com.apple.Boot.pList file, I rebooted, then plugged the SuperDrive. The message “The MacBook Air SuperDrive is not supported on this Mac” popped up in the console log. Of course the drive did not accept the DVD.

    The pList file was originally as follows :
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
    <plist version=”1.0″>
    <dict>
    <key> Kernel </key>
    <string> mach_kernel </string>
    <key> Kernel Flags </key>
    <string> </string>
    </dict>
    </plist>

    and was subsequently modified to :
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE plist PUBLIC “-//Apple Computer//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>

    I heard about 2 SuperDrive models, the latest being the MC684ZM/A (i.e. the one I’m trying to operate). Is it possible that this model needs another flag than “mbasd” ?

    1. There are two things that look strange to me (if they really are in your plist and not just artifacts of posting the XML here):
      1) You seem to have removed the kernel/mach_kernel key/string pair – that should definitely remain in place!
      2) There seem to be extra spaces within the <key> and <string> These should not be there.

      As long as you get that “is not supported” message, you can be certain the problem is that the plist modification was not accepted by the system (maybe due to extra spaces).

      1. The simple, .plist method did not work for me (so far).

        The SuperDrive (MD564ZM/A ? that’s what the box label says) won’t grab a CD I try to insert – presumably because it doesn’t have enough power via the USB cable.

        original File: …ferences/SystemConfiguration/com.apple.Boot ORIGINAL-BACKUP.plist:

        <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList$

        Kernel
        mach_kernel
        Kernel Flags

        Modified version:

        <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList$

        Kernel
        mach_kernel
        Kernel Flags
        mbasd=1

        (looks like spaces etc are intact/correct)

        Drive behaves exactly the same (no power), no popups upon reboot or anything. System Profiler DOES show the following under “USB High-speed Bus”:
        MacBook Air SuperDrive:

        Product ID: 0x1500
        Vendor ID: 0x05ac (Apple Inc.)
        Version: 2.00
        Serial Number: KTDC4L02518
        Speed: Up to 480 Mb/sec
        Manufacturer: Apple Inc.
        Location ID: 0xfd100000
        Current Available (mA): 500
        Current Required (mA): 500

        Perhaps I need to upgrade to Snow Leopard? My computer is only a late-2006 Mac Mini Intel Core Duo, with Mac OS X 10.5.8.

        (beware – annoyed rant coming up – stop reading now to avoid:)
        Either way I am sorely disappointed by how incredibly annoying Apple’s products have become! Their entire selling point (to me) used to be “It just works” – well that seems to have gone down the drain over the last few years, with each computer needing a different monitor or firewire adapter, space/expose/dashboard/mission control/launch pad a big confusing mess that changes randomly each year. This is not the same Apple I enjoyed back in college.
        I can’t believe they made a USB CD drive that works on exactly TWO computers – that is ASININE and it should SAY SO on the BOX!!!!!

        1. Have you checked in console.app for the “The MacBook Air SuperDrive is not supported on this Mac.” message?

          If you still have that message appear when you connect the drive, the problem is that the .plist modification hasn’t been recognized.

          BTW: There is a reason why I described doing the change from the command line with “sudo pico” as root user – with other editors and not as root the saved file might get modified permissions and/or ownership which might prevent the change from becoming active, even if the contents of the file are perfectly ok (which seems to be the case judging from your plist editor screenshots). I don’t know how the Plist edit handles this.

          The original permissions are owned by root:admin and with readwrite permission only for the owner, but readonly for all others. You can check with the following command (on a single line):

          ls -la /Library/Preferences/
          SystemConfiguration/
          com.apple.Boot.plist

          output should look exactly like this (except for the date):

          -rw-r--r-- 1 root admin 232 13 Okt 2011 /Library/Preferences/SystemConfiguration/
          com.apple.Boot.plist

          If your permissions look any different, correct them with:

          sudo chown root:admin /Library/Preferences
          /SystemConfiguration/
          com.apple.Boot.plist

          sudo chmod 644 /Library/Preferences/
          SystemConfiguration/
          com.apple.Boot.plist

          I’m not sure if that’s important in the case of this plist, but it’s a common pattern in all un*x system that some important system files are ignored when they have too loose permissions set (mainly for security reasons, e.g. a file that everyone can edit cannot be trusted).

          1. I did the editing via the terminal command
            “sudo pico /Library/Preferences/SystemConfiguration/com.apple.Boot.plist”

            the command “ls -Fal /Library/Preferences/SystemConfiguration/” displays:
            -rw-r–r– 1 root admin 297 Jul 4 10:52 com.apple.Boot.plist

            so i think the permissions are fine.

            in Console.app, a string search for “usb” doesn’t show any interesting messages or errors since the last reboot (in All Messages or in Console Messages). Interesting that the drive shows up in System Profiler.app whether or not the .plist patch is applied. As far as I can tell, the plist hack has no effect on this system – possibly too old.

            I’m really disappointed that I had no prior warning that this drive works on exactly two types of computers only! That’s crazy, no other USB or Firewire drive requires one to do a compatibility check before purchasing! Hopefully I can get some money back thru Amazon – never had to return something before.

            The “USB Superdrive” box really needs to say “Requires a MacBook Air” or something to indicate this will not act the same as another manufacturer’s USB drive – ie. all you need is a USB port to know it’ll work.

    1. I have 10.7.4 myself and it still works fine here! So if it doesn’t in your case, it’s not a matter of 10.7.4 as such, but some other problem (like insufficient USB power, see other comments)

    1. Haven’t tried that so far here. But it’s no far-fetched guess that probably some things have changed in the driver to support the new retina MBP.

      That’s the 10.8 beta release from yesterday you’re referring to – did it work with earlier 10.8 betas before?

  5. It works ! Unfortunately, I inserted a Snow Leopard Install DVD into the Air Superdrive and tried to boot from it, then after it’s reading a while the screen shows this icon “∅” . Afterwards, I’ve to hard shut down the macbook pro. (early 2008)
    As I intend to add a 2nd hdd to the laptop and would like to do a clean install from the external Air Superdrive. Does anyone have an idea of how to do it?

  6. GREAT ! it works in my Snow Leopard, Toast recognize it !
    Thank you so much LUZ , for this great tip
    <3

  7. I have tried our method now after adding the mbasd=1, my mac pro isn’t booting!
    I’m running 10.5.8 and wanted to upgrade to snow leopard, my internal cd-rom wasnot working, wanted to do the upgrade using the external superdrive. Now can’t boot, I guess my only solution would be to replace the cdrom and restore from Time Machine ….. unless there is another way to fix!

    1. I’d try to boot the machine into single user mode (if I correctly recall, hold S during startup) so you can edit the file from the command line.

      How did you edit the file in the first place? Using pico or some other editor?

      I’d say something must have gone severely wrong when editing the file, maybe it was left in an invalid XML format, which might make startup fail.

  8. Great reading although not understanding all of it.
    Would this edit work with a Powerbook G4 7″ 1.67 (Non Intel) running Leopard 10.5.8.
    (Failed Superdrive in laptop and replaced with 2nd HDD instead)

    1. Hard to predict without trying. But at least, it’s not impossible, as 10.5.8 is newer than the original Macbook Air. On the other hand, the extra power the SuperDrive needs is probably not available on PowerBook USB ports. Additionally, if I correctly recall the ports on the PB G4 (11″ I assume, not 7″) were USB 1.1 and thus very slow.

      1. Hey Lulz , I’m also trying to get the Superdrive to work with My Pro. But the duplicate file i’m trying to edit comes up like this: m
        This is where you’ve instructed to enter the mbasd=1, but the ‘m’ in between the -string-string- is confusing! Do I remove it or… Any help greatly appreciated Lulz!

        1. I guess the comment editor has eaten most of your example, but I’d say just a single “m” like <string>m</string> does not make any sense, so just replace it such that you have only mbasd=1 (and no extra spaces) in between.

          BTW, it’s just luz, not luLz :-)

Leave a Reply

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