Fix external DVD playback after upgrade to El Capitan (or High Sierra) on MacBook Pro

Update: I upgraded to High Sierra and followed these instructions to get my external DVD working again.

PROBLEM: After upgrading 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

 

CAUSE: My MacBook Pro had a built-in optical drive. I have removed the optical drive and replaced it with a custom tray that holds a hard drive. The operating system expects an internal DVD player. It needs to be told where to look for an external DVD drive. This is done by modifying the DVDPlayback file.

When I upgraded, 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.

SOLUTION: 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 Mac. Hold down the Command + R keys when you hear the restart tone. Hold them until the Apple logo appears
  2. Ignore the options in the window and choose the Terminal from the menu bar
  3. In the Terminal window type: csrutil disable
  4. Press Enter. A message will tell you that the action was successful
  5. Restart the Mac and let it boot normally, without holding down keys
  6. Open the Terminal (From the menu bar choose Go > Utilities, then Terminal)
  7. In the Terminal window, cut and paste from this page, or 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 Mac. 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