Your cart is empty

Drivestar News

Wednesday 08 December, 2010 | RSS Feed

How-to fix Seagate 7200.11 HDDs 0 LBA and BSY errors.

by Jason | post a comment

Please make sure you've READ the Read-Me-First Sticky FIRST!

The Solution for Seagate 7200.11 HDDs (final and revised version):

Attention: This guide might not be to everyone. Is not hard to KILL your HD if you don't follow the instructions with extreme caution. I'm NOT responsible for any damage or data loss it can happen (so far no one lost anything, but accidents can occur).

There are two common errors on Seagate 7200.11 HDDs (caused by bugs on firmware):

- 0 LBA error: it happens when your BIOS can recognize your HDD at POST moment, but as an 0MB drive.
- BSY error: it happens when your HDD enter on a halt state, or BuSY state. In this condition, your HDD will not be recognized by BIOS at POST moment.

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.

You'll need:
- 1 (one) adapter ($4)
http://alldav.com/index.php?main_page=product_info&products_id=11

I used this adapter ($13.95, yep expensive):
http://www.sparkfun.com/commerce/product_info.php?products_id=449

- 1 (one) RS232 cable ($3.78):
http://www.cispc.com/ssproduct.asp?pf_id=10480908

or (buy a RS232 to TTL adapter, or FT232BM/BL, not need both!)

- 1 (one) FT232BM/BL adapter (check below) and USB cable ($12.47):
http://shop.ebay.com/?_from=R40&_trksid=m38.l1313&_nkw=FT232BM%2FBL&_sacat=See-All-Categories

Any other similar adapter will works fine, just need to be +3.3V DC (+5V will works too, but I recommend 3.0~3.3V). Is possible to find USB to TTL adapters too, they do USB to RS232 internally and then it converts to TTL. For example, some users used a cellular data cable for PC (lots them do RS232 to TTL).

- 1 (one) USB cable ($3.99):
http://www.optimization-world.com/details/prodid/320.html

- 1 (one) kit of Ten 5" Jumpers and 20 Headers ($5):
http://www.hobbyengineering.com/H2362.html

- 1 (one) mini Torx 6 screw driver ($3.29):
https://www.acehardwareoutlet.com/(jv21u13pgpd5jx25dfy2vkj0)/ProductDetails.aspx?SKU=2167237

- Soldering stuff (optional). Use 60W max.
You can buy a complete kit for $7.99 here:
http://www.radioshack.com/product/index.jsp?productId=2062758&y=2&x=10&retainProdsInSession=1

The rest:
- 1 (one) computer with Terminal software (like HyperTerminal or similar) and a RS232 or USB port.
- A fixed firmware from Seagate here (Released in 22/01/2009 and 24/01/2009 for all affected drives).
- A little bit of patience and practice.


TX and RX connections from a SATA Seagate 3.5":
Image



Photo with the real drive:
Image



Connect TX and RX ports with RS232 to TLL adapter, you'll need something like jumpers in order to do that, or soldering directly to the PCB board. Connect GND and +5V to PC power supply, or similar. Keep in mind those are direct from Seagate sides, so you'll need to connect in this way:

- From PC (TX) to >>> RX (on Seagate)
- From PC (RX) to >>> TX (on Seagate)

You can use RED wire (+5V) from PC power supply. Blacks are GNDs (yellow is +12V so don't use it).

If you don't want to mess with power supply, just use a CR2032 (3V) battery:
https://www.isaleproducts.com/p-7709-3v-lithium-button-cell-battery.aspx

An idea of whole setup (I used an USB to RS232 too):
Image

Run HyperTerminal (or your favourite terminal software).

Configure the RS232 port to: 38400 8 N 1 (like this one):
Image

Image

Image

Image



Fixing 0 LBA error:

Note: All commands are case sensitive !

To correct 0 LBA error, you'll need to do a quick format in order to regenerate the partition, just with m0,2,2 and the rest can be left blank by putting only commas or filling out with zeros. At the end you need to use a "ValidKey" code, or 22.

Attention: The commands must be used 100% equal as showed here, wrong cmds could lead to data loss or HD loss! Double or triple check the cmd before to press enter!

So we'll have to enter:

F3 T>m0,2,2,0,0,0,0,22 (enter)

For reference: F3 T>m does:

Quote

Level T 'm': Rev 0001.0000, Flash, FormatPartition, m[Partition],[FormatOpts],[DefectListOpts],[MaxWrRetryCnt],[MaxRdRetryCnt],[MaxEccTLevel],[MaxCertif
yTrkRewrites],[ValidKey]

Now wait 15~30 seconds until something like this appears (it will vary a bit):

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

ONLY after the message like above you can turn off everything.

Fixing BSY or CC errors aka BUSY (I recommend some practice before trying this):

Note: All commands are case sensitive !

First, make sure you have your hard drive accessible; on a table with open access to the drive is best.

Second, you need to remove the PCB (Printed Circuit Board) from HDA case using a Mini Torx 6 screw driver.

Third, connect RX & TX cables from your RS-232 adapter, verify that all is correct, and then connect the power supply to Hard drive circuit board.

Explanation: The problem with the drive is that the drive is stuck/halt in a BUSY state. This basically locks up the SATA port, causing the BIOS problem (cannot detect the drive at POST). In the terminal, you will see this sort of error (LED: 000000CC FAddr: 0024A051). Once you see this in the terminal, the terminal session to the drive is completely blocked and will not accept any more commands. In order to circumvent this, we'll need to disconnect the PCB (circuit board) from the hard drive case so that the LED: 000000CC FAddr: 0024A051 command cannot be sent from the firmware of the terminal session.

After you have connected the power to the circuit board, press CTRL+Z in your HyperTerminal session. You should now see a prompt like this:

F3 T>

If you do not see this prompt, check your RS-232 connections to the drive. (you may have the TX and RX flipped).

Now we'll need to access the Level 2, type:

F3 T>/2 (enter)

F3 2>

And type (to spind down the motor):

F3 2>Z (enter)

Spin Down Complete
Elapsed Time 0.147 msecs (the time will vary here)
F3 2>

Now the tricky part. Pratice a lot without any power before even trying this. You need to make sure that the screws don't touch the PCB board where they aren't suppose to or you will fry your PCB board. If you have been practicing and the power is not connected, start at STEP ONE.

With the POWER CONNECTED to the PCB board, as well as your TX/RX terminal wires, mount the board back on the HDA case. You must have the power connected when you do this.

Now type (to start the motor):

F3 2>U (enter)

You should get something like this:
Spin Up Complete
Elapsed Time 7.093 secs
F3 2>

Then go to Level 1 (by typing /1):

F3 2>/1 (enter)

Now lets do a S.M.A.R.T. erase (create S.M.A.R.T. sector):

F3 1>N1 (enter)

-------------------------------------------------------------------------------------
G-List step is optional:

Skip G-List step first, if after proceeding the whole BSY fix and the drive still remains under BSY error, then you'll need to repeat BSY process with G-List command below.

G-List Erase (Fix Defect List):

F3 1>/T (enter)

F3 T>i4,1,22 (enter)

For reference:

Quote

Level T 'i': Rev 0001.0000, Overlay, InitDefectList, i[DefectListSelect],[SaveListOpt],[ValidKey]

-------------------------------------------------------------------------------------

Power OFF/ON the drive (very important!)

Wait 10 seconds and now Power ON your drive.

Press CTRL+Z on terminal and type:

Partition regeneration:

F3 T>m0,2,2,,,,,22 (enter)

For reference:

Quote

Level T 'm': Rev 0001.0000, Flash, FormatPartition, m[Partition],[FormatOpts],[DefectListOpts],[MaxWrRetryCnt],[MaxRdRetryCnt],[MaxEccTLevel],[MaxCertif
yTrkRewrites],[ValidKey]

You should get something like (in around 15~30 seconds):

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8

User Partition Format 10% complete, Zone 00, Pass 00, LBA 00004339, ErrCode 00000080, Elapsed Time 0 mins 05 secs

User Partition Format Successful - Elapsed Time 0 mins 05 secs

If you didn't get the msg above, then you skipped something important, and turning off your drive now will render an unreadable drive, so be careful.

ONLY after the message like above you can turn off everything.






Other news for Wednesday 08 December, 2010


View all news for Wednesday 08 December, 2010 on one page




News archive