How To: Get your external Super Drive working in Lion
Every once in awhile I like to post a tip that will likely help only one other person on the planet. Today is such a time.
As some of you may know, I recently replaced my MacBook Pro’s internal SuperDrive with an SSD drive. I chose the MCE Optibay kit for both its ease of installation, and also because it included an external enclosure for my SuperDrive (basically turning my internal drive into an external USB-powered one), so on those rare occasions where I actually needed to burn or read a DVD, I could.
Well, wouldn’t you know it, the day after upgrading to Lion I needed to rip something in Handbrake. This worked fine in Snow Leopard, so imagine my surprise (really, TRY to imagine it) when I popped in a DVD and got THIS message from the DVD Player App:
“There was an initialization error. A valid DVD drive could not be found. [-70012]”
This error sucked for a couple reasons. First, this drive worked just fine in Snow Leopard – I didn’t have to do anything other than plug it in to get it to play a DVD. Second, it’s one of those error messages that really doesn’t give you any info or course of action other than to say “Crap. It looks like a hardware error, and what the hell am I supposed to do with that?” And Third, I knew it WASN’T a hardware error since the DVD Showed up on the desktop and in Finder – it was just that the DVD Player App couldn’t see it.
Well, luckily for me, I have many smart faithful readers, and luckily for YOU, I am going to tell you what I learned. Faithful Macenstein reader Jens pointed me to an article over at hardwrk that fixed my problem, and at the risk of plagiarism (and because their screenshots are in German and I want to get this info out there) here’s a quick run through of the steps to get Lion to recognize your now EXTERNAL, formerly internal, SuperDrive.
Step 1: You’re going to need to slightly modify the DVDPlayback framework on your Mac, and to do that, you need a Hex editor. Download 0xed. You’re basically going to do a “Find and Replace” on that file, changing all instances of the word “Internal” to “External”. But a regular text editor can’t do that.
Step 2: Back up the file /System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback by Option + dragging a copy to your desktop, or somewhere else on your computer. I then renamed the file by adding the word “ORIG” to the end. You should too. This is just so if you screw things up you can always put the original file back, but you’re not going to screw anything up.
Step 3: Open the file in 0xed. It should look like this:
Step 4: Hit Command + F (Find) or go to EDIT> FIND> FIND, and then type in “Internal” in the top FIND box, and type “External” in the bottom REPLACE box. I left “Ignore case” checked, and then hit REPLACE ALL.
Step 5: You probably won’t be able to save the file over itself, so you’ll need to do a SAVE AS. Save the file to your desktop (good thing you renamed your old version ORIG, right?). Now just drag that file back into the /System/Library/Frameworks/DVDPlayback.framework/Versions/A/ folder, overwriting the old file. (You may have to give your admin password to modify the file).
Step 6: That should be it. Try plugging in your external drive and verify that it works. If it still doesn’t, then, sorry. I got no other ideas. But it should.