Enabling the Apple USB SuperDrive on Ubuntu

Enabling the Apple USB SuperDrive on Ubuntu

Hi everyone,

In this post, we will see how to enable the Apple USB SuperDrive Optical Drive on Ubuntu. This drive is nothing more than an LG GX50N drive inside an Apple-designed case. It’s very likely the drive is also a special version designed for this case too.

One thing for sure is that the drive’s firmware seem to also be modified to only allow it to work with some Apple machines. However, we can trick it to work on Linux by sending a command which essentially “wakes up” the drive.

This seems to be how Apple adds or remove support, since the Macs may be sending this command to wake the drive and allow it to work. On Windows, it seems users need to install an Apple Boot Camp driver package too to make the drive work.

In this post, we will see the steps we need to do to enable the drive on Linux.

Step 1: Install sg3-utils

We need to install sg3-utils, which will allow us to a tool called sg_raw to send the wake up command.

To install it, we do it with apt: sudo apt install sg3-utils

Apple USB SuperDrive Linux Commands 1

Step 2: Sending the wake up command

To make the drive wake up and start working, we will send the following command:

sudo sg_raw /dev/sr0 EA 00 00 00 00 00 01
Apple USB SuperDrive Linux Commands 2

Note that if you have multiple optical drives connected, you may need to change /dev/sr0 to the actual drive, for example, /dev/sr1, and so on.

Permanently enabling the Apple USB SuperDrive

The above command needs to be sent every time we connect the drive. However, you can add a udev rule so the drive is waken up automatically when it is plugged in.

For this, we will type the following and press enter right after the last EOF:

cat <<- EOF | sudo tee  /etc/udev/rules.d/90-mac-superdrive.rules > /dev/null
# Initialise Apple SuperDrive
ACTION=="add", ATTRS{idProduct}=="1500", ATTRS{idVendor}=="05ac", DRIVERS=="usb", RUN+="/usr/bin/sg_raw %r/sr%n EA 00 00 00 00 00 01"
EOF
Apple USB SuperDrive Linux Commands 3

Ejecting a disc

The Apple USB SuperDrive doesn’t have an eject button. To eject a disc, we must open a terminal and simply type the eject command.

Apple USB SuperDrive Linux Commands 4

If you have multiple drives,you may need to specify it after eject. For example, if your drive is sr1 instead of sr0, you must use eject /dev/sr1.

Conclusion

With these steps, we can now use the Apple USB SuperDrive on Linux. I recommend you add the udev rule after installing the sg3-utils package so that it starts working immediately. Otherwise, you must send the wake up command every time.

You can buy the Apple USB SuperDrive on Amazon using the following link:


Note: Links to Amazon are referral links. This site earns a small percentage from orders placed with those links, helping keep this site operating.