Fix external DVD playback after upgrade to El Capitan on MacBook Pro

I resisted for as long as I could and finally upgraded to El Capitan. I got the following error when I tried using my external optical drive to play a DVD:

There was an initialization error
A valid DVD drive could not be found. [-70012]
DVD-error

 

My MacBook Pro is the type with a built-in optical drive. Long ago I removed the optical drive and replaced it with a custom tray that holds a hard drive. Since the operating system expects the DVD player to be internal, it won’t play a DVD unless it is told where to find it.

Apparently El Capitan “fixed” my modified DVDPlayback file during the upgrade, so it no longer pointed to the external DVD. I needed to find a way to unfix it.

I used the information on this site to get it working. It’s in German so I had Chrome translate it.

Here is the quick summary of the fix:

  1. Disable system integrity protection
  2. Modify the DVDPlayback file
  3. Re-enable system integrity protection

Here is the longer version:

  1. Restart the system. Hold down the Command + R keys when you hear the restart tone. Hold them until the Apple logo appears
  2. Open the Terminal from the menu bar
  3. In the Terminal window type: csrutil disable
  4. Press Enter
  5. Restart and let it boot normally, without holding down keys
  6. Open the Terminal
  7. In the Terminal window, type: name=/System/Library/Frameworks/DVDPlayback.framework/Versions/A/DVDPlayback; sudo perl -i.saved -pe “s,\000Internal\000,\000External\000,sg” “$name”;
  8. Press Enter
  9. If it works you should be prompted for your system password.
  10. Restart the system. Hold down the Command + R keys when you hear the restart tone. Hold them until the Apple logo appears
  11. Open the Terminal from the menu bar
  12. In the Terminal window type: csrutil enable
  13. Press Enter
  14. Restart and let it boot normally, without holding down keys
  15. Test the external DVD

This process worked for me. If you try it, you do it at your own risk. I take no responsibility for any problems you may experience. Make sure you have your system backed up.

 

El Capitan’s new security system, “System Integrity Protection”, also removes libdvdcss, which keeps programs like Handbrake from working properly with DVDs. I was able to get it working again by installing it with Homebrew:

brew install libdvdcss