Use the Apple external SuperDrive on (almost) any Mac

An interesting hack today, allowing you to use the Apple external optimal drive (SuperDrive) on (almost) any Mac.
En français.


From the launch of the MacBook Air, Apple proposes a nice external reader, which unfortunately does not work on every machine : only MacBook Air and some Mac mini. It was long believed it was due to a hardware limitation, but it is actually due to Mac OS X, as we shall see.


First of all, why using the Apple drive? For several reasons. The first one is that it is quite nice-looking. It also uses a slot-in, more convenient than fragile drawers, it can play a DVD without changing the DVD drive, as it is considered as « Apple-supplied drive » by the system (although a priori there is no more limitations on this point) and accepts the eject button on Apple keyboards.

It also has two drawbacks : it is quite expensive, $ 80, and its USB cable is ridiculously short and irremovable. But finally, it is more practical than the other drives I tested.

First, I could not test the handling on many machines : I had a 2009 17-inch MacBook Pro (when working), a 2006 MacBook (which does not work) and a 2010 Mac mini on which the manipulation is unnecessary. The tests were carried out under OS X Lion, but it should work on Leopard and Snow Leopard.

As far as I know, the easiest way to check if the hack is possible is starting by pressing option (alt) with the drive connected : if the player turns on, it should work.

For the modification itself, a file editor (I use Hex Fiend) and a tool that simplifies the update of « .kext » files are needed. I use Kext Utility, but it can be done by hand or with others.

We first have to edit a file, copying it first on the desktop.

Reach /System/Library/Extensions/, right-click on AppleStorageDrivers.kext and choose « Show package contents ».

Then go to /Contents/PlugIns/, right-click on AppleUSBODD.kext and choose « Show package contents ».

Then go to /Contents/MacOS/ and edit the file AppleUSBODD with Hex Fiend AppleUSBODD.

By searching the file, you should find two chains of this type: Supported Mac Models MacBookAir Macmini Macmini1 Macmini2.

You must replace one of the values by your model identifier. In my case, I simply replaced MacBookAir by MacBookPro to keep a file of the same length. Pay attention to spaces, do not put any between MacBook and Pro. Normally, just use the beginning of the identifier and it should be enough, so : MacBook, MacPro, iMac, etc. Also pay attention to capital letters…

Once it is done on the two chains, just save and replace the original file (AppleStorageDrivers.kext) by the new. If everything is OK, Mac OS X will ask for a password.

Then launch Kext Utility to clear caches and repair permissions, and restart it : if everything went well – this was the case on my MacBook Pro – the external drive should work right away.