In a prior post I mentioned the drive we are repairing for a fellow Alto owner, a drive which is still fighting us tooth and nail. In our last session we had connected the suspect drive to our own drive to form a dual drive Alto system, but soon our own drive was not working properly any more.
We met this afternoon and put our drive on the workbench. First, I hooked up my FPGA based disk tool, which stalled because our drive would no longer do seeks beyond track 0. We swapped the three cards that implement seeking, but it made no difference.
As I relayed in the prior post, there is no mechanism we could image that would cause problems in one disk drive to spread to another; the only vulnerability would be head crashes or damage to the disk surface but all heads and packs remained pristine.
Normally, when power is switched on to a drive, the positioner motor is held rigidly in position. At startup or switchoff, the arm is pulled all the way back to track 0 (called a Restore operation), otherwise the servo mechanism holds the motor steady at its current track. There is a positioner release button we can push, which turns off the motor so we can rotate the arm to whatever track we want.
On our failed drive, the arms could be moved in or out at any time without pushing the release button. The drive did not perform a Restore operation at startup or turnoff. When it was moved to any track position, it did not 'snap' to exactly the track but sat whereever we left it.
To get to the bottom of this, Ken hooked up the oscilloscope to several test points on the board driving seeks plus the output of the arm drive amplifier. The results looked odd indeed, so we repeated them on a different drive where the Restore, positioning and track holding behavior was normal.
We could see the drive amplifier deliver almost the full 15V supply voltage to the motor, but it didn't move. The schematic showed precious few parts that could fail - the motor that moved the arm, a capacitor and a resistor. Flipping the drive on its side, we began inspecting the components one by one.
The capacitor - exactly on spec and working right. The resistor - on spec and working right. The motor had appropriate resistance and appeared okay. All parts okay but the drive didn't work. To isolate the various parts, I pulled connectors off the motor one by one.
In the process of reconnecting the motor, I noticed that the plate to which the connector fitted would move a bit on the motor body. It was a plate with a nut that should jam it against the body. We used a wrench to tighten it down, then tested the motor with a bench power supply.
Suitable power moved the motor, one direction or the other depending on polarity. Given that promising sign, we stuck in a cartridge and powered up the drive. The Restore worked! The arm wouldn't move in or out unless the release button was pushed! The servo would 'snap' the arm to a precise position at whatever track we had moved it near!
Ken and I hauled the drive back to the Alto, cabled it up, and used Ken's ethernet tool to network boot the Alto to run a diskcopy operation. The source was a disk cartridge image on the Alto server built into the ethernet tool and the target was the cartridge in our drive. The copy completed, then the Alto booted fine off the disk.
All is well with our drive again. It appears we had a coincidental failure, a gradual loosening of the motor connection which first showed problems as we began testing the 'demon' drive. Next up on Friday, we work on the demon drive itself.