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

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: dead hts541010a9e680
PostPosted: March 1st, 2015, 10:39 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
Hi, maybe someone could have any grate thought about my problem. I now have 2 of these hdd non responsive.
I have had one HDD that stoped spining, after some tests i understand that PCB went bad. i got other identical HDD (exept serial number of course), and switched 25FU40 flash chip form old drive to new pcb, and put new pcb on old HDD, no spinning.
then i made same with new hdd, puting old PCB with new BIOS and new HDD worked just fine :) so not a PCB issue, i have put that same old PCB with NEW bios to old drive, and bingo, it begins to spin, but ofcourse no recognision and so on (of course different bios and hdd data).
Now i read both new and old hdd bios to compair, see some interesting differences, but have too little experiance in HDD to see what is bad. but to make situation worse, i try to rewrite NEW BIOS (read new hdd bios, write that same bios back ) Guess what? i have now two non spining non working hdd, but unable to understand why, as i have read and write same type flash memory many times before in other computer parts like routers and so on.
any help on my topic would be grate.
i add both BIOS readed, many thanks :)


Attachments:
File comment: Both hdd bios
hdd.rar [241.22 KiB]
Downloaded 612 times
Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 1st, 2015, 15:15 
Offline
User avatar

Joined: September 5th, 2010, 12:29
Posts: 1038
Location: South Africa
Does the PCB have a ROM and NVRAM IC?

_________________
Death is nothing, but to live defeated and inglorious is to die daily.
Data Recovery Cape Town


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 1st, 2015, 16:23 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
nop, only one flash MCU. 25V40 :) i presented dumps i have read. other MCU only, main procesor, as i understand without internal eeprom, motor driver and of course RAM chip. :)
as i see in stucture that flash holds NVRAM area and full FW. one thing i can not understand is exesive difference from two same FW read flash chips. NVRAM diference okey, but why FW area differs too? and what i have done wrong to stop new hdd working? bad read?


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 5th, 2015, 13:26 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
no one to help ? :)


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 6th, 2015, 15:00 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
Could anyone help recalculate cheksum for this hitachi file? many thanks.


Attachments:
NVRAM_naujausias_mod_old.rar [2.28 KiB]
Downloaded 511 times
Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 6th, 2015, 18:41 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16960
Location: Australia
@andrius, are you using a chip programmer to read/write your flash memory in-circuit? If so, did you not save the original copies of each of your ROMs?

AIUI, there are some circumstances under which a donor ROM/NVRAM is partially reprogrammed when the donor PCB is installed on a patient drive, rendering the donor drive inoperable. I'm not a data recovery professional, but I suspect that is what may have happened.

I have written a tool for calculating Hitachi's XOR16 checksums.

XOR16 checksum calculator for Hitachi NVRAM:
http://www.hddoracle.com/viewtopic.php?f=22&t=80&p=4588

I have extracted the primary and secondary copies of the NVRAM from each of your ROMs at offsets 0x2000 - 0x2FFF and 0x3000 - 0x3FFF. FWIW, there is also an E2CH block at 0x7000 - 0x7FFF. All have zero checksums.

Code:
C:\>xorchksm.exe -16 NVR_OLD1.BIN
NVR_OLD1.BIN: XOR16 checksum = 0x0000

C:\>xorchksm.exe -16 NVR_OLD2.BIN
NVR_OLD2.BIN: XOR16 checksum = 0x0000

C:\>xorchksm.exe -16 E2CH_OLD.BIN
E2CH_OLD.BIN: XOR16 checksum = 0x0000

C:\>xorchksm.exe -16 NVR_NEW1.BIN
NVR_NEW1.BIN: XOR16 checksum = 0x0000

C:\>xorchksm.exe -16 NVR_NEW2.BIN
NVR_NEW2.BIN: XOR16 checksum = 0x0000

C:\>xorchksm.exe -16 E2CH_NEW.BIN
E2CH_NEW.BIN: XOR16 checksum = 0x0000

Your edited NVRAM has a checksum of 0x9032.

Code:
C:\>xorchksm.exe -16 NVRAM_naujausias_mod_old.bin
NVRAM_naujausias_mod_old.bin: XOR16 checksum = 0x9032


I'm not certain, but I believe that the checksum bytes may be located at 0xFFA - 0xFFB, in which case the new checksum bytes would be 0xFFFF XOR 0x9032 (little endian).

To identify the location of the checksum bytes, I would obtain a working donor and read the ROM before and after enabling Power Up In Standby (PUIS). The PUIS flag plus the checksum bytes should be the only differences in the before-and-after comparison.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 7th, 2015, 15:51 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
many thanks for reply. for my knowledge there is definetely XOR type cheksum at the end, but it is not XOR16 of hole dump for sure. :) it seams to be XOR16, because all bytes XOR to 0, but same result would be if it is XOR8, or 3 cheksums of different area XOR16 algo. :) would you guid me, how to enable options on hdd like Power Up In Standby? i would do reasearch on cheksums :) many thanks :)

my skype: greenfox1


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 7th, 2015, 22:27 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16960
Location: Australia
PUIS can be enabled and disabled using tools such as HDAT2 or hdparm.

XOR8 is a special case of XOR16. For example, is the XOR16 checksum is 0x1234, then the XOR8 checksum is 0x12 XOR 0x34. Essentially the algorithm computes a parity for each bit.

XOR16 checksum bit #0 = [(bit #0 of word #0) + (bit #0 of word #1) + ... + (bit #0 of word #n)] modulo 2

...

XOR16 checksum bit #15 = [(bit #15 of word #0) + (bit #15 of word #1) + ... + (bit #15 of word #n)] modulo 2

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 9th, 2015, 11:08 
Offline

Joined: March 1st, 2015, 10:26
Posts: 8
Location: Lithuania
yes, i understand perfectly what the numeber near XOR mean (bytes count), in fact in most cases CRC cheksum may give same result as XOR function, nethermind that CRC ha ROL ROR functions, and anditional XOR parameters. :) i know cheksum calculation very well. i have been working or reverse engineering CAR ECU, dash, cheksums and so on. :) when i get my equipment to read write that flash memory, on 20-22 of March, i will try to investigate is that realy XOR16 and could the area be located for the cheksum, and if other cheksum are present :) i have scanned hole NVRAM area for XOR8, XOR16, XOR24, XOR32, XOR40 cheksums and posible cheksum residue. but none were found.
So maybe someone already know what area are those 3 cheksums in the end of file belong to?


Top
 Profile  
 
 Post subject: Re: dead hts541010a9e680
PostPosted: March 10th, 2015, 16:54 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16960
Location: Australia
Well, it appears that you have much more experience with checksums than I do. I'll be very interested in your findings. BTW, you might like to examine the resource dumps for those other Hitachi models where the "ROM" (SPI flash) and "NVRAM" (microwire EEPROM) are implemented as separate ICs.

http://files.hddguru.com/index.php

You may find the following tool useful:

http://fsumfe.sourceforge.net/

Quote:
Fsum Frontend is a free and easy-to-use tool that allows to compute message digests, checksums and HMACs for files and text strings.

It supports 96 algorithms: alder8, adler16, adler32, ap hash, bdkr, cksum, cksum mpeg2, crc8, crc16, crc16 ccitt, crc16 ibm, crc16 x25, crc16 xmodem, crc16 zmodem, crc24, crc32, crc32 bzip2, crc32 jamcrc, crc32 mpeg2, crc64, crc64 ecma, djb hash, dha256, edonley/emule, elf32, fletcher8, fletcher16, fletcher32, fnv0-32, fnv0-64, fnv1-32, fnv1-64, fnv1a-32, fnv1a-64, fork256, ghash3, ghash5, gost, has160, haval (128, 160, 192, 224, 256 bits) (3, 4, 5 passes), jhash, js hash, md2, md4, md5, panama, pjw32, ripemd128, ripemd160, ripemd256, ripemd320, rs hash, sdbm, sha0, sha1, sha224, sha256, sha384, sha512, size64, snefru2 (128, 256 bits) (4, 8 passes), sum8, sum16, sum24, sum32, sum64, sumbsd, sumsyv, tiger128, tiger160, tiger192, tiger2, tiger tree, tiger tree 2, whirlpool0, whirlpool1, whirlpool2, xor8, xum32.


Best of luck.

_________________
A backup a day keeps DR away.


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

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: Google [Bot] and 29 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