Recently ran into an issue with a Seagate FreeAgent 1 GB USB drive where the drive was no longer seen by the OS. After doing a bit of searching found that there were several issues with the 7200.11 HD’s and bad firmware. After dis-assembling the drive from it’s casing found the 1 TB drive in the system was in fact an affected drive.
The issue is caused by a bug in the firmware. Once the data is retrieved you can attempt to patch the firmware. My particular drive is firmware SD81 and the issue is resolve with the latest firmware. My objective is to get the drive recognized, retrieve the data and then upgrade the firmware and reuse the drive.
Several items are needed to achieve my goal.
COM-Connector (You can make this or do like I did and get one off eBay)
Torx T6- wrench
SATA 5V power connector
SSH Client (Putty)
The trick is to connect to the drive using the COM cable using Putty and issue the commands to power down the drive and then reset the drive and re-spin the drive. The COM cable that I purchased off eBay came with instructions and ran me about $24 for the cable. I found it by searching for ST31000340AS, the model number of the hard drive.
The Torx-T6 is used to loosen the PCB board were the drive connects and the SATA 5V power connector is an adapter from inside a case. Here is what the connections look like.
Disconnect PCB from drive. Loosen Torx screw by drive.
Place plastic card or a guitar pick in between the drive connection and PCB board, this will prevent the drive from spinning up.
Connect COM-convertor cable and apply power to drive.
Open a Putty serial session with the settings, note the com port will need to be changed to what was set by your OS.
- Speed: 38400
- Data bits : 8
- Stop bits: 1
- Parity: None
- Flow Control: None
When the session opens press Ctrl+T until you get the prompt showing F3 T. This is when the error LED:000000CC FAddr:0024A051 appeared and then the prompt. The terminal commands to use are:
/2 = Change to Diagnostics level 2
Z = Power down drive
U = Power up drive
/1 = Change to diagnostics level 1
N1 = Change to smart level 1
You can get a full list of the available terminal commands by typing Q.
So let’s move on and run the commands to get the drive spun down and accessible again.
LED:000000CC FAddr:0024A051 LED:000000CC FAddr:0024A051 F3 T>/2 F3 2>Z
Spin Down Complete
Elapsed Time 0.146 msecs
With the power still applied to the PCB, I attached the PCB back onto the drive. Remove the plastic blocking the contacts and tighten the torx screw.
Spin up motor and change to diagnostics level 1, then back to Level T m: Rev 0001.0000, Flash, FormatPartition, m[Partition],[FormatOpts],[DefectListOpts],[MaxWrRetryCnt],[MaxRdRetryCnt],[MaxEccTLevel],[MaxCertifyTrkRewrites],[ValidKey].
The settings for level T were from the Seagate forums for this specific issue, any other settings you try do so at your own risk! Note!! DO NOT power off or disconnect the drive while the level T command is running or you will brick your drive!! So, here is what it looks like.
F3 2>U Spin Up Complete Elapsed Time 6.824 secs F3 2>/1 F3 1>N1 F3 1> F3 T>m0,2,2,,,,,22 Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8 User Partition Format Successful - Elapsed Time 0 mins 00 secs F3 T>
Disconnect the Putty session and power off the drive. Then using whatever method you want to access the drive do so. I was able to access it using a SATA to USB drive adapter. Copy the data off the drive. Now if you want you the firmware can be updated and the drive is usable again. Do not use the SATA to USB connector as the Windows utility and the bootable CD will not recognize the drive.
Updating the firmware
Download the SD1A firmware from http://knowledge.seagate.com/articles/en_US/FAQ/207951en. I found the bootable CD ISO image worked well and this document provided excellent instructions on updating. If the drive is mounted in your system and you are running Windows then using the executable works well and this document is excellent for use.