The Solution
K, so after many hours online, a few trashed cables and a severe decrease in my level of patience I managed to resurrect my ST3500320AS.
I figured since RSA pricing isn't always very forgiving I'd share my findings and hopefully spare someone else the heartache and a few pennies.
Seagate's explanation:
Description
An issue exists that may cause some Seagate hard drives to become inoperable immediately after a power-on operation. Once this condition has occurred, the drive cannot be restored to normal operation without intervention from Seagate. Data on the drive will be unaffected and can be accessed once normal drive operation has been restored. This is caused by a firmware issue coupled with a specific manufacturing test process.
Root Cause
This condition was introduced by a firmware issue that sets the drive event log to an invalid location causing the drive to become inaccessible.
The firmware issue is that the end boundary of the event log circular buffer (320) was set incorrectly. During Event Log initialization, the boundary condition that defines the end of the Event Log is off by one. During power up, if the Event Log counter is at entry 320, or a multiple of (320 + x*256), and if a particular data pattern (dependent on the type of tester used during the drive manufacturing test process) had been present in the reserved-area system tracks when the drive's reserved-area file system was created during manufacturing, firmware will increment the Event Log pointer past the end of the event log data structure. This error is detected and results in an "Assert Failure", which causes the drive to hang as a failsafe measure. When the drive enters failsafe further update s to the counter become impossible and the condition will remain through subsequent power cycles. The problem only arises if a power cycle initialization occurs when the Event Log is at 320 or some multiple of 256 thereafter. Once a drive is in this state, there is no path to resolve/recover existing failed drives without Seagate technical intervention. For a drive to be susceptible to this issue, it must have both the firmware that contains the issue and have been tested through the specific manufacturing process.
Corrective Action
Seagate has implemented a containment action to ensure that all manufacturing test processes write the same "benign" fill pattern. This change is a permanent part of the test process. All drives with a date of manufacture January 12, 2009 and later are not affected by this issue as they have been through the corrected test process.
Recommendation
Seagate strongly recommends customers proactively update all affected drives to the latest firmware. If you have experienced a problem, or have an affected drive exhibiting this behavior, please contact your appropriate Seagate representative. If you are unable to access your data due to this issue, Seagate will provide free data recovery services. Seagate will work with you to expedite a remedy to minimize any disruption to you or your business.
Credit for the solution goes to Gustek, Fatlip, Gradius, Aviko and my77stang over at MSFN, thanks guys. Their thread.
I have only added few comments/steps/images that address difficulties I experienced and to turn the "fix tutorial" into "monkey see, monkey do" without any ambiguity.
What you'll need:
- Nokia or generic CA-42 data cable (R75 at the Brightwater Flea Market)
- Torx screwdriver
- Strip of plastic or cardboard (I used a laminated business card)
- Your f***ed 7200.11 hard drive
The Fix:
Drive tested with this solution was a ST3500320AS with firmware SD15 and worked perfectly using all of the steps provided below.
FIRST, PAY ATTENTION TO UPPER AND LOWER CASE WHEN TYPING THINGS INTO HYPERTERMINAL!!!!!!!!
Step 1: Remove the PCB (circuit board on the drive), take note of where the PCB makes contact with the actual hard drive. Leave the motor contacts connected, and put something like a business card or piece of thick paper between PCB and hard drive where the other connector is.
Replace all the screws you can, and snug down at lease a couple of them furthest away from where the business card is stuffed in there. Not too tight, you'll want to pull out the card later without having to loosen any screws.
Step 2: Cut the broad (phone connector) end off of your CA-42 cable, strip the wires and expose the USB end to determine which colour is RX, TX and GND now Connect the RX, TX, and GND wires from your custom fabricated cable to the drive.
(Note that the RX as listed on your cable goes to the TX on the Hard Drive, and the TX as listed on your cable goes to the RX on the Hard Drive). (Your colours may differ.)
Here is the cable after I modified it. I used a CD-ROM audio cable with the end removed and a very small piece of electrical tape around the connectors at the end of the wire to prevent them from touching each other.
Here's the pin arrangement on the drive - remember to hook up the RX and TX "backwards" or you will not be able to talk to the drive.
Again NB: The RX as listed on your cable goes to the TX on the Hard Drive, and the TX as listed on your cable goes to the RX on the Hard Drive.
Step 3: Plug the SATA power cable into the drive, and wait until drive motor stops, listen closely. Plug in the USB cable and install the "device" using the CA-42 cable's driver CD! Now check in device manager and confirm the COM port number that the "device" is using.
Step 4: Open Hyperterminal, when prompted choose the COM port that your cable is using. If you are unsure of which COM port to use, check your device manager again to see which COM port your cable is using. Choose 38400, 8, None, 1, None in the COM properties box that should pop up. If you hit "OK" and you get no errors, you should be in.
NOW FOLLOW CAREFULLY!!!
Step 5: Type
ctrl+z and you should see a prompt that says F3 T>
Step 6: Type
/2 and press enter. It should say F3 2>
Step 7: Type
Z and press enter. It should say "Spin Down Complete, Elapsed Time 0.146 msecs", the elapsed time may not be the same - that's OK.
Step 8: Remove business card and mount the PCB as normal, tighten up all the screws.
Step 9: Type
U and press enter. It should say "Spin Up Complete, Elapsed Time 6.864 secs". Again, the elapsed time may not be the same and that's OK.
This next part is not necessary, it's just checking that everything is OK. Use this when the first try fails (command F712 works only on 500 GB 7200.11 drives with firmware SD15, if this isn't your Firmware version just skip this part.)
Type / and press enter. It should say F3 T>
Type F712 and press enter. It should say.....
Byte:0712: RealTimeUpdatedFlags = 00 00
Byte:0712: Bit:0, HPA_SET_BY_SETMAX = 0
Byte:0712: Bit:1, HPA_SET_BY_SETMAX_EXT = 0
Byte:0712: Bit:2, DCO_SET_ACTIVE = 0
Byte:0712: Bit:3, CONGEN_READ_FROM_MEDIA = 0 <- configuration not loaded from surface
Type F,,22 and press enter. It should say Drive Configuration restored to defaults.
Type F712 and press enter. It should say.....
Byte:0712: RealTimeUpdatedFlags = 08 00
Byte:0712: Bit:0, HPA_SET_BY_SETMAX = 0
Byte:0712: Bit:1, HPA_SET_BY_SETMAX_EXT = 0
Byte:0712: Bit:2, DCO_SET_ACTIVE = 0
Byte:0712: Bit:3, CONGEN_READ_FROM_MEDIA = 1 <- done
(This is the end of the part that was not necessary unless the first try failed).
Step 10: You should see F3 T3> at this point, type
/1 and press enter. It should say F3 1>
Step 11: Type
N1 and press enter. It should say F3 1>
Step 12: Type
/ and press enter. It should say F3 T>
Step 13: Type
m0,2,2,0,0,0,0,22 and press enter. (Note the "m" is lower case and the 0's are zeros). It should say.....
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 00, Max Certify Rewrite Retries = 0000
User Partition Format 5% complete, Zone 00, Pass 00, LBA 00008DED, ErrCode 00000080, Elapsed Time 0 mins 05 secs
User Partition Format Successful - Elapsed Time 0 mins 05 secs
And should bring you back to the F3 T> Prompt.
Step 14: Unplug the SATA power cable from your drive, unhook the RX, TX, and GND wires. Turn off computer and re-install your drive.
Everything *should* be working fine.
Be sure to update your drive with the latest firmware as soon as possible.
TAKE THAT SEAGATE!