Seagate death rom chip and PCB

Research and Development. This is the place to report experimental stuff related to data recovery.
weseli82
Registered User
Registered User
Posts: 1
Joined: Mon Jun 24, 2013 2:53 pm

Seagate death rom chip and PCB

Postby weseli82 » Fri Nov 15, 2013 1:47 pm

Hi all,
I have a case with death PCB on Seagate drive (model ST3500DM003),and along with PCB the rom chip is also death :twisted: .
Fortunately this is not often case but i haven't had any progress in finding solution for these type of problem on Seagate drives.
Is there any way to regenerate content of rom, from FW moduls like it''s the case for WD drives, or any other solution ???

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Sat Nov 16, 2013 8:16 pm

Hello !
At present I don't know a solution for this, but it's a thing that I would like to know too.
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Sat Nov 16, 2013 8:39 pm

At any rate it might be worth investigating the following commands :

Level 7 Commands :

'r' Command: Read Non-Volatile Adaptive Parameters

'w' Command: Save Adaptives To Flash

Read Non-Volatile Adaptive Parameters (Level 7 'r' and Level T 'R')
Description:
This command reads the specified adaptive parameters from non-volatile memory.

Quick Help:

Level 7
"RdNonVolatileAdaptiveParms, r[Opts]";
Level T
"RdNonVolatileAdaptiveParms, R[Opts]";

Input Parameters:

0 - Read Adaptive Parameter Options.

This parameter is a bit significant value that specifies which adaptive
parameters are to be read from non-volatile memory.

Bits 31-3: not used


Bit 2: Read SAP.

If this bit is set the Servo Adaptive Parameters (SAP) will be read
from non-volatile memory.


Bit 1: Read RAP.

If this bit is set the Read/Write Adaptive Parameters (RAP) will be
read from non-volatile memory.


Bit 0: Read CAP.

If this bit is set the Controller Adaptive Parameters (CAP) will be
read from non-volatile memory.


Type: Unsigned 32-bit value

Range: 0 to 0xffffffff,

Default: 0x7 (Read the SAP, RAP and CAP)


Output Data:

If an error occurred, the following information will be displayed.

"DiagError aaaaaaaa "

where

aaaaaaaa is the Diagnostic Error Code


Save Adaptives To Flash (Level 7 'w' or Level T 'W')

Description:
The Save Adaptives To Flash command writes the adaptives currently in memory to flash.
This command takes about 10 seconds to complete.

Quick Help:

"SaveAdaptivesToFlash, w[Seg],,22";
"SaveAdaptivesToFlash, W[Seg],,22";

Input Parameters:

0 - Which adaptive set to save

This parameter specifies which adaptives set to save.

NOTE: If you specifiy an adaptive set that the drive does not have in its flash,
the drive will flash LED.
NOTE: This command will only work once per power cycle.


0 CAP Controller adaptive parameters
1 SAP Servo adaptive parameters
2 RAP Read / write adaptive parameters
3 IAP Interface Adaptive parameters

Type: Unsigned 32-bit value

Range: 0 to 0xFFFFFFFF

Default: 0

1 - Not used.

2 - Valid Command Key.

This value must be 0x22 for the command to execute.

Range: 0x22

Default: None


Output Data:

If an error occurred, the following information will be displayed.

"DiagError aaaaaaaa "

where

aaaaaaaa is the Diagnostic Error Code


Examples:

Example #1:
To save current RAP values to flash:

F3 7>w2,,22
or F3 T>W2,,22

Example #2:
To save current CAP values to flash:

F3 7>w0,,22
or F3 T>W0,,22
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Sat Nov 16, 2013 9:27 pm

I have done a little bit of work in analysing the ROM structure. If someone could provide a ROM image, preferably from a working drive which they have at hand, I could go through my findings on this forum.

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Sun Nov 17, 2013 3:44 am

fzabkar wrote:I have done a little bit of work in analysing the ROM structure. If someone could provide a ROM image, preferably from a working drive which they have at hand, I could go through my findings on this forum.


Ok !
There you go.
This is from a 7200.12 1TB drive - ST31000528AS , like the one i'm trying to fix here :

http://forum.hddguru.com/viewtopic.php?f=1&t=27290

Is there any way to re-adapt ROM if the original PCB is lost or if the ROM chip is damaged ?
Attachments
ROM.rar
(442.73 KiB) Downloaded 365 times
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Sun Nov 17, 2013 5:20 am

I notice that the header of the ROM consists of 0x38 bytes.

Code: Select all

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  F6 1D 00 00 40 00 00 00 40 00 00 00 77 F2 04 00
00000010  02 38 00 00 04 38 16 06 06 48 18 06 03 58 9C 06
00000020  0B 58 CC 07 05 58 DD 07 0E 70 FD 07 00 00 00 08
00000030  00 00 00 00 00 00 00 00


Code: Select all

Offset(h) 00       04       08       0C

00000000  F61D0000 40000000 40000000 77F20400
00000010  02380000 04381606 06481806 03589C06
00000020  0B58CC07 0558DD07 0E70FD07 00000008
00000030  00000000 00000000


Bytes 0x10 to 0x37 appear to comprise a table.

Code: Select all

          byte    bytes   checksum            last 4/8 bytes
module#  offset   3 & 2    offset   checksum    of module
------------------------------------------------------------
  2      000038   01FD                        FD850000
  4      061638   0008    061840    93C30000  93C30000 00000000
  6      061848   0210    069C50    24900000  24900000 00000000
  3      069C58   04BF                        F0C80000 00000000
  B      07CC58   0020                        ADC70000
  5      07DD58   0040                        50760000 00000000
  E      07FD70   0000                        FFFFFFFF
  0      080000   past end of ROM


The table contains 4-byte entries. The first byte looks like a module number or ID, while the next three bytes are the byte offset of the module (little endian).

I have been told that bytes 3 and 2 reflect the module size (little endian), at least for some modules.

The first module (at offset 0x38) appears to be the main block of code, while the smaller modules are probably data (adaptives?).

Each module appears to have a 2-byte checksum at the end. For some modules the location of the checksum appears to be given by ...

<start of module> + (0x40 x <size of module>) + 0x8

The above rule appears to work for modules 4 and 6, but fails for the others.

BTW, module #4 is the "CAP" module. The location of its checksum was confirmed by a PC3K user.

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Sun Nov 17, 2013 6:19 am

@Spildit, I've just compared your ROM image with the following one from another ST31000528AS:

http://forum.hddguru.com/download/file.php?id=7327
http://forum.hddguru.com/viewtopic.php?f=1&t=27238

The "B" modules of both ROMs are identical, but the contents of the other modules are different. Their sizes are the same, though.

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Sun Nov 17, 2013 6:53 am

@Spildit, if you could extract the CAP, SAP, RAP, and IAP data from memory, then perhaps we could compare them against the ROM and determine which module they correspond to.

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Sun Nov 17, 2013 4:44 pm

fzabkar wrote:@Spildit, if you could extract the CAP, SAP, RAP, and IAP data from memory, then perhaps we could compare them against the ROM and determine which module they correspond to.


Hi and thanks for your explanation on Seagate F3 ROM.
Unfortunately at this point I can't extract anything more from that drive,
Best regards.
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Sun Dec 01, 2013 10:25 am

The following announcement from Ace Labs would suggest that one solution may involve transplanting both the PCB and heads from a compatible donor, even if the original heads are good. Presumably you would need to match the head map. A combined headstack and PCB swap would ensure that those adaptives that are related to head compatibility would be matched. I would think that this would give you access to the SA, and you could then retrieve the SA modules and patch the rest of the drive specific data (eg serial number) in ROM. Is there anything wrong with this approach?

New version for PC-3000 UDMA 5.2.3 and Data Extractor Ver. 4.8.18:
http://www.acelaboratory.com/pc3000.udma.ver5.2.3.php

Possibility of moving both all adaptive data (RAP+CAP+SAP+IAP) and part of it that responsible for donor heads compatibility has been added into function of adaptive data transplanting from one ROM dump to other. It helps to read faster and more stable on compatible donor heads.

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Sun Dec 01, 2013 4:21 pm

fzabkar wrote:The following announcement from Ace Labs would suggest that one solution may involve transplanting both the PCB and heads from a compatible donor, even if the original heads are good. Presumably you would need to match the head map. A combined headstack and PCB swap would ensure that those adaptives that are related to head compatibility would be matched. I would think that this would give you access to the SA, and you could then retrieve the SA modules and patch the rest of the drive specific data (eg serial number) in ROM. Is there anything wrong with this approach?


The problem is that you would need to open the drive on a clean room, have a compatible drive to provide the heads, and discard the 2 drives when you finish to recover data.

This would not be a good procedure if the idea would be just replace a toasted PCB with toasted ROM to re-use the drive, even if data is not required.

There should be another way that is less destructive.... Or so I hope.
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

fzabkar
Contributor
Contributor
Posts: 550
Joined: Tue Apr 16, 2013 9:28 am
Location: Australia

Re: Seagate death rom chip and PCB

Postby fzabkar » Tue Dec 03, 2013 8:12 pm

Spildit wrote:
fzabkar wrote:The following announcement from Ace Labs would suggest that one solution may involve transplanting both the PCB and heads from a compatible donor, even if the original heads are good. Presumably you would need to match the head map.

The problem is that you would need to open the drive on a clean room, have a compatible drive to provide the heads, and discard the 2 drives when you finish to recover data.

This would not be a good procedure if the idea would be just replace a toasted PCB with toasted ROM to re-use the drive, even if data is not required.

There should be another way that is less destructive.... Or so I hope.

Is there a way to recalculate the adaptives by recertifying the drive, without harming the data?

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Tue Dec 03, 2013 9:16 pm

fzabkar wrote:Is there a way to recalculate the adaptives by recertifying the drive, without harming the data?


I don't know yet, by I assume there is.

That is what I would love to know, how to do it :)

Have to research more.
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)

nvjar
Banned User
Banned User
Posts: 12
Joined: Sun Jan 04, 2015 5:37 am

Re: Seagate death rom chip and PCB

Postby nvjar » Fri Jan 16, 2015 1:48 am

do you have any progress on this ?

User avatar
Spildit
Posts: 1554
Joined: Sat Apr 06, 2013 4:59 pm
Location: Portugal
Contact:

Re: Seagate death rom chip and PCB

Postby Spildit » Fri Jan 16, 2015 7:40 pm

nvjar wrote:do you have any progress on this ?


At the moment - 16/01/2015 - the firmware tools on the market (MRTLab, PC-3000, DFL, Salvation Data, etc) don't provide any function to recover from a lost ROM on F3 arch drives.

There is a rumor that a very few data recovery specialists did figure out a way to do so but they will charge a lot of $$$ to recover a F3 Arch drive without it's native PCB ROM.
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)


Return to “R&D - Experiments”

Who is online

Users browsing this forum: No registered users and 1 guest