Question HDD doesn't spin with original PCB, but does with replacement - but can't be recognised. Flash ROM?

Apr 16, 2024
40
0
30
Hey,

I have both my original PCB and donor PCB for an old Western Digital WD6400AAKS. My goal is to get the data off this HDD, as it's from 2010 or so and I'm curious to see what's on it from back in my live music days etc.

I thought I could DIY transfer the ROM/"BIOS" across, but this has turned out to be way more complicated than I thought so I haven't bothered in the end. Plus I'm more of a software guy, so I lack the skills necessary to DIY it.

Windows detects the drive, but asks to initialise it (which I haven't done).

Using WDMarvel I'm able to read the S/A Modules and ROM, but I'm not sure what to do with them. Some very helpful people on Reddit are offering advice there. Here's a link to the zip containing these files: https://mega.nz/file/VQBD0byL#HxJyZ7E9auftaOABTQl-BEz5F7Ssk7zHKuqset0JU5E

I believe I need to flash the ROM of the donor PCB so I'm able to read the contents of the drive. Am I on the right track?

Reddit thread here if interested: https://www.reddit.com/r/datarecove..._revived_my_dead_hard_drive_by_replacing_the/

Thanks in advance.
 
Apr 16, 2024
40
0
30
Thank you so much @fzabkar. Just so I understand, is there anything I need to do with the WD ROM Regen or Parsing tool, or do I simply take the ROM you rebuilt and transfer it over using HDDSuperTool script?

Also, do I need a Linux distro to use it? (my main OS is W11). From what I gather I need to run HDDSuperClone from HDDLiveCD.
 
Last edited:
You need Linux. Just take my ROM.bin file and download it to your donor PCB using that script. I think HDDSuperTool is included on the HDDSuperClone Live CD, but I could be wrong.

As for my tools, I just provided them for reference and for others to use.
 
Apr 16, 2024
40
0
30
Thanks again, I thought that was the case but figured I'd check in case I was missing a step. Can't wait to finish work and see if is a success! I'll report back.
 
Apr 16, 2024
40
0
30
Trying to get this working, but unfortunately Linux doesn't detect the drive that I'm trying to write the ROM to. The drive is detected in the BIOS before startup though.

Running `lshw -class disk` only displays the live USB I'm using at /dev/sda. I've unplugged all other drives except the HDD I'm attempting to restore.

Don't suppose you have any suggestions there? Cheers buddy.
 
Apr 16, 2024
40
0
30
The BIOS sees the drive as an unnamed 0.0GB drive, I'll get a photo soon.

Windows detects the drive via Disk Management, but can't use it until it's initialised. View: https://imgur.com/g529At1


CrystalDiskInfo can't detect the drive though, but interestingly enough I also downloading GSmartControl - which DOES appear to detect the drive: View: https://imgur.com/kok4mJ6


(though an error occurs when I check "Enable SMART".

smartctl 7.2 2020-12-30 r5155 [x86_64-w64-mingw32-w10-b22631] (sf-7.2-1) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: [No Information Found] Serial Number: [No Information Found] Firmware Version: [No Information Found] Device is: Not in smartctl database [for details use: -P showall] ATA Version is: [No Information Found] Local Time is: Thu Apr 18 10:09:55 2024 NZST SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 82-83 don't show if SMART supported. SMART support is: Ambiguous - ATA IDENTIFY DEVICE words 85-87 don't show if SMART is enabled. A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
 
Apr 16, 2024
40
0
30
Here's how it looks in the BIOS:

View: https://imgur.com/GfZzilL


I have only my Windows drive (ADATA) and the HDD I'm attempting to restore attached. Just to recap:

BIOS: See's the HDD
Windows: See's the HDD in Disk Management, GSmartControl, but not CrystalDiskInfo
Linux: Doesn't see HDD at all

Also I don't have a huge amount to spare being a single income family, but can I send you some $ for a coffee, or beer or something? You've been amazingly helpful, even if this isn't a success story in the end. I really do appreciate all your replies and suggestions.
 
We still have some options.

Can you dump the donor's ROM with the wd_royl_read_rom script?

If not, we can write the ROM to a fully functioning donor drive and then transfer the PCB to the patient. This will recover the patient HDD, but will obviously sacrifice the donor, unless you want to restore the donor after the recovery,
 
Apr 16, 2024
40
0
30
I did wonder about that. I have a WD WD10EADS sitting here, which is fully functional.

The donor ROM is on the dead drive - the one that Linux doesn't detect. Would it be worth transferring the PCB to another HDD, or is it likely to be the same result?
 
Apr 16, 2024
40
0
30
Does this sound like a plan?
  1. Plug in my WD10 (the fully functional drive)
  2. Boot up Linux, execute wd_royl_read_rom to get the ROM from the functional drive
  3. Back it up (somehow?), with the intention to restore later
  4. Execute wd_royl_write_rom to the PCB on WD10, using your steps above for the dead drive ROM
 
Apr 16, 2024
40
0
30
The next step would be to remove the PCB from the working drive, and transfer it to the dead drive, and then attempt a boot and data retrieval
 
Don't those drives use different PCBs? What are the PCB part numbers, ie 2060-nnnnnn?

If you can read the ROM using the HDDSuperTool script, I may be able to edit the write script to circumvent the non-detection problem.

Otherwise, your plan sounds good to me, if the PCBs are identical. Just let me check your ROM dump to make sure it is valid.

BTW, I found, and circumvented, the problem at reddit. Several URLs were flagged by an overly aggressive auto-moderator bot, and the posts were subsequently deleted.
 
Last edited:
Apr 16, 2024
40
0
30
They do use different PCBs, which is why I was wondering if it was possible :unsure:

Donor PCB is: 2060-701537-003 (REV A)
WD10 PCB is: 2060-701640-001 (REV A)

So a bit different.

If you can read the ROM using the HDDSuperTool script, I may be able to edit the write script to circumvent the non-detection problem.
Sorry you might have to spell it out for me here, which ROM are you talking about in this situation?
 
I'm talking about the 701640 donor ROM. I realise that WDMarvel has already dumped it for you, but I want to see if HDDSuperTool can do the same.

BTW, don't use the 701537 PCB. I don't feel comfortable with it.
 
Apr 16, 2024
40
0
30
"I'm talking about the 701640 donor ROM."
Just to clarify, the WD10 PCB (2060-701640-001) is the completely unrelated spare HDD I have floating around, which currently works.

The Donor PCB (2060-701537-003) is the one I purchased that matches the dead PCB of the drive I'm attempting to restore, the one that has the drive spinning again but access the drive.

You're suggesting we stop using the 701537 replacement PCB for the dead HDD and use the WD10 701640 instead from this point on?
 
Apr 16, 2024
40
0
30
Ah cool, thought I'd better double check :)

If you can read the ROM using the HDDSuperTool script, I may be able to edit the write script to circumvent the non-detection problem.
In that case, unfortunately this is the PCB/ROM that I can't access from Linux when it's mounted to the HDD.

I'm a little unclear here sorry - should I place the donor PCB onto the WD10 spare drive I have, and attempt to read the ROM that way?
 
It doesn't matter that Linux can't see it. HDDSuperTool is trying to access the drive at a lower level.

Maybe you should practice reading the ROM with your working drive, just to make sure that you are using HDDSuperTool correctly. Just use this working drive as is -- don't swap any parts.
 
Apr 16, 2024
40
0
30
Had a bit of a play, I think it can see the drive. I've unplugged all disks from the PC, and it's detecting... something.

Just wanted to bounce this process off you so I know I'm on the right track.

  1. OpenHDDSuperTool
  2. H for "Direct AHCI"
  3. I see a device list which appears to detect a device on ATA4
    1. View: https://imgur.com/AUhT9cp

At this point I'm not quite sure how to execute the scripts you sent through (eg. `wd_royl_read_rom`). Would you be able to advise me of the steps and command to run?

I'm guessing it's something like `8 (Custom)` and then `1 (Custom message)`. There's also `8) my scripts tech` and `9) my scripts test`