Use the Apple external SuperDrive on (almost) any Mac
Nov 11, '11 07:30:00AM
Contributed by: Dandu
Since the launch of the MacBook Air, Apple produces a nice external optical drive, which unfortunately does not work on every machine; only MacBook Air and some Mac mini models. 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 use the Apple drive? There are 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 and responds to the Eject button on Apple keyboards.
It also has two drawbacks: it is quite expensive and its USB cable is ridiculously short and non-removable. But finally, I found it to be more practical than the other drives I tested.
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 hack is unnecessary. The tests were carried out under OS X Lion, but should work on Leopard and Snow Leopard.
As far as I know, the easiest way to check if the hack is possible is starting up the Mac while pressing the Option key 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 (search for the correct version for your OS version), but it can be done by hand or with others.
We have to edit a driver file, as follows:
- Go to /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' on that file.
- Then go to /Contents/MacOS/ and edit the file AppleUSBODD with Hex Fiend.
- 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 the Mac. If everything went well -- this was the case on my MacBook Pro -- the external drive should work right away.
[crarko adds: I haven't tested this one. This is where I throw out the big caution flag and remind you that editing .kext files can render your Mac non-bootable. I've done this two or three times in ten years and they went fine but I made sure to have a complete system backup around before attempting it. If you haven't done this before you might want to wait and read the comments of those who try it to make sure there aren't any pitfalls.
I also have to say it's kind of silly for Apple to put this kind of artificial restriction on the hardware.]
Mac OS X Hints