Powerup Utility for Windows - MacBook Air SuperDrive

This utility will allow the use of a MacBook Air SuperDrive on any Windows computer. I built and tested it on Windows XP but have no reason to think it would not work on any modern Windows OS (probably 2000 or later).

Included here is a Zip file. Unzip this anywhere and drag the contents anywhere you like. Then plug in the drive. Then, double-click on "powerup.bat". If the program cannot find the drive, you will see a message to that effect. Otherwise, you should hear the drive make a "powering up" noise. The drive is now fully functional.

Do not run the utility before you plug in the drive; it won't hurt anything but it won't work either.

If you unplug and reconnect the drive, or if you reboot your machine, you will need to run the utility again. I am working on a better way of doing this.

NOTE: There is a limitation in sdparm that prevents the drive from being plugged and unplugged more than about 500 times without rebooting the computer. That should only be an issue if you use a server or computer that you keep up for an extremely long time. If you encounter this issue, the only fix is to reboot.

Most of the credit for this goes to "A Random Hacker" from http://www.wired.com/gadgetlab/2008/06/hacker-fixes-ma/ who anonymously contributed the original code. The utility included here is a modified version of "sdparm", a utility by Douglas Gilbert, the webpage for which is available at http://sg.danny.cz/sg/sdparm.html. I am also indebted to Mr. Gilbert for such an amazing tool, and for having the wisdom to release it with a generous license.

I modified this code to provide a new command "--command=powerup" which sends the 7-byte activation sequence 0xEA 0x00 0x00 0x00 0x00 0x00 0x01 to the drive. If there is any interest in the code I changed to do so I would be happy to oblige. I imagine most people will just be happy that it works. :) The batch file is just there to extract the name of the drive.

Kudos also to the MSys/MinGW people without whom this would have undoubtedly been much more difficult.

NOTE: If you have two SuperDrives connected at the same time, it will only turn on the first one it finds. A clever soul could probably figure out how to rewrite the batch file to deal with that.

DISCLAIMER: I have no idea why this really works. The SCSI command 0xEA is not actually a valid command, so it must be an Apple-specific extension. I'm really just copying A Random Hacker's code.
Because I have no idea why this really works, and because we live in a litigous society, I must make the following disclaimer:

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

In other words, Caveat Emptor.

Questions? Concerns? Contact me at adam AT adamhunter DOT net. Or go to http://www.adamhunter.net.

Below, I am reproducing the copyright from Mr. Gilbert's original code, which is also contained in the downloaded zip file.

/* * Copyright (c) 2004-2008 Douglas Gilbert. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */