First things first. Open the drive and get to the related parts. One of the more common failures with the eject mechanism is the gear failing. You can order a 3D printed gear from Shapeways, so if it's the gear that's the problem this would be an easy and cheap fix.
Here is the drive after the bottom four screws and the single screw holding the back cover plate are removed:
Disconnect the ribbon cable holding the back cover plate and interface cable. Long nose pliers and a good grip on the edge of the connectors should do it.
You can disconnect the other ribbon cable going to the drive assembly using the same technique. Once the cables are disconnected, you can push the entire drive assembly out through the front of the metallic casing.
To see the gears, you will have to remove the disk eject motor assembly. It's located on the lower right next to the tracking motor. It consists of the motor and a little PCB with a frame holding the gears. It's held in place by two black screws.
Warning: Make sure you do not touch or bump either the drive heads or the tracking motor!
Here is the eject motor assembly after removing the two screws. Hmm the gears look fine!
Since the gears are fine, the next step is to check if the motor is okay. You can free the motor by releasing the three plastic retainer clips at the top. Start with the clip closest to the connector... the motor should tilt up a bit as shown in the photo below:
You will also need to carefully pry off the little PCB... it's held down by two retainer clips similar to the ones holding down the motor. Here is the motor and PCB after it's freed from the clips.
Once you have access to the motor, see if you can turn the motor's axle with the little gear. In this case it was sort of stuck. I couldn't easily move it by hand so I had to apply a little bit of pressure first using a pair of long nose pliers. Once I got it going, I could turn it by hand but it felt like it was going against some really heavy grease...
Solution? Break out your WD-40. Be careful not to get any of it on the plastic parts / wire. A short squirt into the two holes below should be sufficient. Give it a few minutes then give it a few turns again using just your hand. It should now move fairly easily with just the usual resistance from a DC magnet.
Once it's moving smoothly, leave the motor overnight upended on a piece of paper towel to make sure any excess WD-40 drips out and onto the paper towel, and not onto your gears and drive interior and desk later on. :)
If you were like me and got too excited and plugged it in right away to test it, no worries. Just disassemble it again and wash just the plastic frame and gears (shown below) in dishwasher liquid. Pat down as dry as you can and also leave to dry overnight.
Once everything is nice and clean and dry, reverse the steps to reassemble the drive.
Except the eject button on the front of the drive still doesn't work, and the disk activity light is still not lighting up.
We've fixed the eject motor, but still need to figure out why the eject button and LED don't work. This could either be (a) bad connector, (b) bad wires, (c) bad switch / LED, or (d) bad drive electronics.
A simple continuity test ruled out (b) and (c). From my initial testing as well, it didn't seem to be a bad connector. More on this in a minute.
To test the drive electronics, you can reassemble the drive, hook it up with the back exposed, and short the two pins on the black plug below to see if it initiates an eject sequence. In my case it did. Eject drive electronics check!
To test the LED, you will have to hook up the pins on the red plug above to a known working LED. It gets tricky since the plug is really small, so I had to make a custom plug to get two leads in there. If you are up for it the other way is to solder two wires to the underside of the board where the solder points are - just remember Pin 1 = red.
Guess what, mine worked too. LED electronics check!
We know the switch and LED are okay, and the circuits controlling it are okay, and the wire connecting both are okay... so what's going on!
I popped open the eject and LED connectors to get a better look at what is happening. For some reason, the plugs were not making contact with the pins!
I even tried to use Deoxit on both the connector leads and the receiving / male pins on the board... maybe the contacts were just oxidized?
So we were stumped... until Jon noticed the black and red plugs were pulled out from the pins! They were pulled out when I was unplugging the connectors.
It was just a simple matter of pushing the plastic connector housings in until the edges were almost flush with the board. Plugging in the connectors now had a satisfying "snap" as the electrical crimps slid into the receiving pins.
It took a bit more time than I expected, but I'm really happy I now have a perfectly working Apple 3.5" Drive.
tl;dr WD-40 rocks!