Seagate HDD fixed

The adaptor I ordered arrived after a couple of days, so I set about fixing the problem. A spot of the good ole google and I found several web articles which provided me with the information I needed to attempt the repair. I’ve reproduced the steps below in case you are interested in seeing how I did it. Plus, in the unlikely event that you encounter the same problem as I did, you won’t have to search for the fix elsewhere.

There are two common firmware errors on the seagate 7200.11, these are:

0 LBA error – when you computer recognises the HDD but reports a size of 0 bytes

BSY error – when the HDD enters a BuSY state and is not recognised by your computer.

My drive suffered from the latter and the following instructions address that error.

Firstly, a warning. It is very easy to kill a hard disk so proceed with caution. This procedure worked for me but it may not work for you and I make no promises or guarantees that it will. I am NOT responsible for any damage or data loss. In other words, you’re on your own!

First job (if you haven’t done so already) is to extract the hard disk (HDD) from its external case and power supply. Then, use a TORX screwdriver to remove the screws fixing the HDD PCB to the chassis.

HDD exposed

With the PCB removed, you can see the contacts for the HDD motor (middle) and the contacts which control the HDD’s operation (lower right).

HDD contacts

You need to isolate the controller contacts. Place a suitably sized piece of card over the contacts and replace the PCB. Fix it in place by replacing the top 3 TORX screws and tighten them. Replace the other 3 but leave them loose.

HDD with card isolating drive contacts

You need to provide power to the HDD. In my case, I removed the second PCB (which controls power and data interface to the computer etc.) from the external case and connected it to the HDD. Luckily the HDD’s serial connectors were still accessible. In this photo you can see the HDD PCB replaced with the card isolating the controller contacts, on the right of the photo is the second PCB with the A/C power attached.

It is worth turing the power on briefly to check that it is supplying power to the HDD and that it spins up. Disconnect the power for now.

HDD with power PCB attached

The USB/RS232 adaptor has 5 pins. The outer two supply power and are not used in this setup. The adaptor needs to be tested without the drive attached. Without any cables, insert in into a free USB port on your computer and run up your terminal program. For this procedure I was using a DELL laptop running Vista. Yes, I know, Me using Windows! There was no way I was going to risk frying my MacBook with some untried procedure and this old DELL was fair game!

I downloaded hyperterminal and configured the port which Windows assigned (in my case COMM3) as follows:

  • Baud 38400
  • Data Bits 8
  • Stop Bits 1
  • Parity none
  • Flow Control none

Test the adaptor as follows. Type a few characters. If you see them displayed on your screen then your terminal program is in local echo mode and you need to switch that off. Next create a loopback connection. Simply connect the Tx and Rx pins. Now when you type you should see the characters displayed as you type. If all is good then you can proceed to fix the drive.

RS232 to USB adaptor

Now connect the HDD’s Tx, Rx and ground pins to the RS232 adaptor. To get the cables into the small space on the HDD I had to remove the connector’s outer insulation. These were just plastic mouldings which came off easily. Once the connections were made I used small pieces of insulating tape to keep them from touching each other or moving about. Ground goes to Ground, whilst the HDD’s Tx is connected to the adaptor’s Rx and the HDD’s Rx to the adaptor’s Tx.

This photo shows the HDD’s Tx and Rx pins with the cables plugged in before taping them up. The pins from right to left are Tx, Rx, Ground, unused (as far as we are concerned).

HDD Tx and Rx connections

Now for the tricky part.

Power up the HDD. Your USB will supply power to the adaptor. The commands you need to type are in red bold. Please note they are case sensitive.

After a few seconds Press Ctrl + Z

You should see this prompt on your terminal screen:

F3 T>

If not, swap the Tx and Rx cables and try again.

Now access Level 2:

F3 T>/2 [press Enter]

F3 2>

Wait about 20 seconds then spin down the HDD motor:

F3 2>Z [Enter]

Spin Down Complete

Elapsed Time 0.146 msecs

F3 2>

If you instead see a message something like this:

LED: 0000CE FAddr: 00280D4D,

you entered the commands too quickly. Power off and on, wait 20 seconds and start again.

Next, carefully remove the piece of card you placed between the PCB and the HDD contacts and tighten the remaining TORX screws. Spin up the drive motor:

F3 2>U [Enter]

Spin Up Complete

Elapsed Time 7.087 msecs

F3 2>

Now access Level 1:

F3 2>/1 [Enter]

Do a S.M.A.R.T erase:

F3 1>N1 [Enter]

When the prompt comes back, turn off the power to the HDD, wait a few seconds then turn it on again. Wait about 20 seconds then do a partition regeneration. If you don’t see the prompt do:

Ctrl + Z

F3 T>

Enter the partition command carefully:

F3 T>m0,2,2,0,0,0,0,22 [Enter]

If all goes well you should eventually see a message something like mine, below:

Screenshot showing successful completion

Do not turn the drive off until you see this message. Once you have seen it you can power everything off and reassemble the drive, etc.

And that’s it. If you are lucky your drive should be readable and you should be able to access the original data. At this point you have several options, e.g. copy the data somewhere else or at least back it up.

What happened with my drive? Well one of the partitions had missing data while the other seemed intact. As my data wasn’t unique or remotely critical, I decided not to bother with data recovery and instead plugged it into my Mac and used Disk Utility to repartition it as a new drive. It seems to be behaving itself so I’m using it as a network store and a redundant disk where I can copy non-critical files.