MultiDrive – free backup, clone & wipe disk utility from Atola Technology

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 14 posts ] 
Author Message
 Post subject: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 9th, 2009, 6:15 
Offline

Joined: June 9th, 2009, 5:42
Posts: 8
Location: Thailand
I have a seagate ES drive, ST3500630NS. 500 gigs, 3 platters, 6 heads. About 2 years old.

It was working perfectly, until suddenly I noticed it started failing at reading sectors with UNC errors. I did a smart short offline test, and it failed with a read failure. I then tried an extended offline test, and it also failed with a read failure. So I immediately wrote a little linux program to scan the sectors off my most important partition (50 gigs), to copy it to another drive.

My program would read about 50 megs successfully, then an UNC failure. Whenever there is an UNC failure, the hard drive would make a lot of noises. There were 2 different kinds of noises it made. The linux kernel seems to retry sectors with UNC failures a few times before giving up. Sometimes it would succeed on the retry, but other times it would give up.

Everytime I got a failed sector, my program would skip about 50 megs, and continue scanning the rest of the data. I managed to get some 20 gigs off the drive this way, then suddenly the drive froze.

This is what I mean by the drive freezing: the motor and platters are still spinning, but I can't hear a single sound come from any head movement, and the drive doesn't respond to any ATA commands at all. It is a silent for a good number of seconds and then the linux kernel logs say "res 40/00:00:00:00:00/00:00:00:00:00/e8 Emask 0x4 (timeout)", and then does "hard resetting link", but the drive just doesn't respond.

The only thing that brought the drive back up was to power cycle it.

I was able to rerun my program to continue reading more sectors, but ever since the first time it froze, it freezes pretty often now. It can sometimes read about 20-100 megs straight without error, and then when it seems to reach a bad sector, the drive usually freezes. I estimate that it freezes about 90% of the time, the other 10% of the time, it just reports an UNC but keeps on working.

It's making it very difficult for me to read the rest of the good sectors when the drive just keeps freezing like that. The only thing that brings that drive back up is to power cycle it.

Does anybody know what could be the cause of this freezing? I want to fix the freezing so that I could continue to copy the rest of the readable sectors off the drive.

I have 2 ideas about the cause:

1- It has remapped too many sectors, (current count reported by smart = 3592), and has a bug when it reaches too many sectors that causes the firmware to crash and stop responding to ATA commands everytime it wants to remap an additional sector.

2- The firmware is actually designed to freeze like when there are too many bad sectors in order to prevent further damage to the drive.

Since I think it is the firmware that is responsible in some way for not responding to any more ATA commands, I am thinking of disassembling the firmware from the drive to see if I could modify it so that it stops freezing.

Does anybody know what the cause of the freezing is? And are there any easy solutions to fixing it so that I could read the remaining good sectors from the drive?


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 9th, 2009, 8:20 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
Weak head. Backup and replace.


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 9th, 2009, 9:06 
Offline
User avatar

Joined: May 5th, 2004, 20:06
Posts: 2782
Location: England
Quote "Since I think it is the firmware that is responsible in some way for not responding to any more ATA commands, I am thinking of disassembling the firmware from the drive to see if I could modify it so that it stops freezing."


Disassemble the firmware and post what you find

_________________
All went well until I plugged the drive in.


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 9th, 2009, 10:17 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
guru wrote:
Disassemble the firmware and post what you find


.... as we've been working hands on for years with almost no joy :D


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 9th, 2009, 22:35 
Offline

Joined: June 9th, 2009, 5:42
Posts: 8
Location: Thailand
guru wrote:
Disassemble the firmware and post what you find


How much do you guys already know? I would appreciate any information I can start with, cause this is the first time I've ever tried doing anything to a hard drive, so I'm starting from scratch with absolutely no info but what I can find on the web. Any good links on related info would be really nice!

I could not find the technical datasheet for the Agere chip for my hard drive. Does anybody know where I can find it?

The writing on the chip says:
agere
100404225
SEAGATE (e3)
YUMACPA2-E16
0714K 2413817
2413817000C A4

Looks like YUMACPA2-E16 is the part number, but searching only gets me a few web pages that mention that it's a SoC designed specifically for hard drives.

Before I figure out how to download the firmware from my own hard drive, I decided to look at some firmware I found on seagate's website (SN06C.lod) for a similar drive and see if I can at least figure out the instruction set.

I took a brief look at it, and here is what I have discovered so far:
- The instruction set seems to be ARMv5TE or similar, running in little-endian mode.
- The source code seems to have been written in C++.
- The firmware contains a complete listing of the "serial terminal commands" supported by the hard drive, and their format. I recently found out about the serial terminal interface from this website.

The .lod file seems to be organized into separate sections. Does anybody know the file format for this? Is there any table within the file that lists all the sections and their offsets?

I found a really neat looking serial terminal command: DisplayZoneInfo
I heard about the zones from a youtube video I saw, where the guy showed the output of some "expensive" package that showed LBA offset sections, and which head/track they were physically located on. Is this what DisplayZoneInfo will give me?

I already have a large list of bad sector LBA offsets from my hard drive. I was thinking of extracting the zone list, and checking if the bad sectors all fall on the same head. My drive has 6 heads, so maybe 5 of the heads are fine, and all the bad sectors are from only one bad head. If that is the case, I can use the zone list, and only copy the sectors from the working heads, and recover 83% (5/6) of my hard drive without problems! And after that is done, I can work on the remaining 17% (1/6). Has anybody here ever done something like this before? Has anybody ever seen a case where only ONE out of all the heads was giving problems on a hard drive?


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 10th, 2009, 12:39 
Offline
User avatar

Joined: August 9th, 2007, 8:40
Posts: 791
Location: United Kingdom
Quote:
Has anybody here ever done something like this before? Has anybody ever seen a case where only ONE out of all the heads was giving problems on a hard drive?


Every day ..

Problem with imaging around the bad head is that you will have holes in the data. On most drives, data is not stored on a platter by platter basis. So you end up with holes in the data.

That said, you could do what we do and image using the good heads first, then try to image the last head but bear in mind you may damage the heads/media. You would need a copy of the zone tables then create a 'map' of some sort in your software to skip the bad head.

If the data has any value, get some quotes for getting the job done by a pro.. It's all well and good experimenting, but better to experiment with a drive with worthless data on it than risk losing it. Or at least experiment with a good drive first.

_________________
If you can keep your head when all about you are losing theirs, you probably don't fully understand the situation. ... Mr Kipling

https://www.mjm.co.uk/


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 11th, 2009, 0:11 
Offline

Joined: June 9th, 2009, 5:42
Posts: 8
Location: Thailand
scratchy wrote:
Quote:
Has anybody ever seen a case where only ONE out of all the heads was giving problems on a hard drive?


Every day ..


Hooray! I hope that is the case with my hard drive. I'd be able to get 83% of the sectors out at minimum, which would make me very happy.

scratchy wrote:
You would need a copy of the zone tables...


So what are my different options for extracting the zone tables? I have found some serial command "x"="DisplayZoneInfo". Is that going to give it to me? I still have to order the parts I need to build the serial interface to the HD. Also, does anybody know if the interface is 5V or 3.3V for sure? I am getting conflicting answers from different websites, and some say it may work with both, but 3.3V is better.

I suspect there should be some undocumented ATA commands that can also get the zone tables for me. Do you know any ATA commands that would let me read the zone tables, and possibly the rest of the SA? I can try disassembling seagate's dos based firmware uploader to see which ATA commands they use to upload the firmware.


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 11th, 2009, 0:39 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
Make up your mind... Want to do R&D by yourself or do it with info from other people ?


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 14th, 2009, 2:09 
Offline

Joined: June 9th, 2009, 5:42
Posts: 8
Location: Thailand
I appreciate all the help from everybody who replied so far!

Sending my drive to a commercial data recovery place is not possible, so I am stuck having to do everything that I can myself with a very small budget, together with all the help from everybody here!

Hasn't anybody ever come across my main problem? The one mentioned in the topic of this thread, as explained in the first post?

It isn't logical that a hard drive just freezes and stops responding to ATA commands just because of bad sectors, or a bad head.

In case somebody doesn't understand why... My hard drive boots and loads the its own firmware without any problems everytime I turn it on. It is the responsibility of the hard drive's CPU (not my computer's CPU) to receive, execute and respond to ATA commands. An ATA command like "NOP"="00h", doesn't involve the platters or heads at all. So if the firmware and all the circuitry between the SoC (which contains the CPU) and the SATA cable are working properly, it should always respond to this command, the way the ATA specification says it should. The circuitry between the SoC and the SATA cable seems to be fine, because whenever I try to read sectors that I know are good sectors, I can read them indefinitely without the hard drive ever freezing at all.

My main problem as described in the first post is not the "bad sectors", it's the repeated "freezing" of the drive, forcing me to power cycle it every 10 seconds just to recover the good sectors. I am currently trying to solve the "freezing" problem.

Either there is a bug in the 3.AEG firmware. Or it has a bad design, which purposely halts itself on certain conditions whenever it has trouble reading some sector.

Seagate's website doesn't have any firmware updates for 3.AEG, as far as I can see.

Aren't there any other Seagate ES users (Not ES.2) here that have seen their hard drive freeze upon encountering a bad sector?

Aren't there any already known solutions to this problem?


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 14th, 2009, 3:04 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
Sure if you send the drive in it will be either fixed and/or data recovered but this is what you can't do...

P.s. Your firmware doesn't seem to have higher failure rate, at least in my stats, but it may be purely statistic.


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 14th, 2009, 13:29 
Offline

Joined: August 12th, 2008, 13:11
Posts: 3235
Location: USA
Humanoid wrote:
Aren't there any other Seagate ES users (Not ES.2) here that have seen their hard drive freeze upon encountering a bad sector?


Sure, I've seen this on newer Seagates from time to time.

_________________
You don't have to backup all of your files, just the ones you want to keep.


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 14th, 2009, 14:09 
Offline
User avatar

Joined: March 28th, 2008, 7:52
Posts: 1466
Location: Europe, Hungary
agree

I have seen a lot of times, Seagate can freeze with "unhandled software path" or similar...

Janos


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 21st, 2009, 14:35 
Offline

Joined: June 9th, 2009, 5:42
Posts: 8
Location: Thailand
So how do you guys deal with it? Do you just keep power cycling the drive over and over again? Or did you modify the firmware to fix it? Or what?


Top
 Profile  
 
 Post subject: Re: Seagate ES drive keeps freezing (firmware bug?)
PostPosted: June 21st, 2009, 14:59 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
I threaten the drive : "if you freeze again, I'll dismantle you and with your PCB I will build a programmable toaster with SATA interface" :mrgreen:
Works 100%.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: Google [Bot] and 73 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group