Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

WD30NMZW-11GX6S1 drive doesn't spin

March 16th, 2020, 10:44

Hello guys, i have this drive WD30NMZW-11GX6S1 that when turn on by USB 3.0 connection doesn't spin and only turn on the PCB led light. I open in camera and saw the heads was damaged. I swap the heads for donor drive and the result was the same. I put the ROM chip in donor PCB and the result was the same, drive doesn't spin. I put the 2 drives like original and the donor drive still working and have access to the partition. The problem is in the original PCB? Thanks for the help. Best regards.
Attachments
Parts PCB.jpg
Client PCB.jpg
2 drives, client on the right.jpg

Re: WD30NMZW-11GX6S1 drive doesn't spin

March 16th, 2020, 11:50

Have you tried reading the patient rom chip in a reader/programmer?
pepe

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 3rd, 2020, 8:44

Pepe i read the ROM with a External Reader. What you recomend? Thank you

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 3rd, 2020, 9:31

can you post the rom img here?
however, it would be quite odd to have heads and rom problem at the same time...

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 3rd, 2020, 9:35

Yes i can. ROM file attached.
Attachments
ROM.zip
(308.06 KiB) Downloaded 598 times

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 3rd, 2020, 10:34

i can't really see anything wrong with that rom, but i did not check it very thoroughly, just ran through it and it looks like ok.
As i said, it is not very probable it developed 2 different issues simultaneously.
Btw, do you really want to recover this drive through usb?

pepe

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 4th, 2020, 20:55

The last ROM module has a bad checksum. The boot block may also be bad, but I don't know how to check it.

Code:
Analysing ROM.bin ...

Searching for LDSCs and verifying PCMBlocks ...

LDSC   LDSC    Att   PCMBlock          RAM         size       PCMBlk     CS
Start  ID CS        Start -  End     address     RAM / ROM    Exp/Act
---------------------------------------------------------------------------
    0  5A 40   04     140 -  1ED7      4B688     1D94  1D94   000BAF4E unknown CRC     <-------- boot block
   20  01 11   11    1ED8 -  5F7C   30080000 c   5500  40A4    69   69   OK
   40  02 58   0C    5F7D -  6345   24000000      3C8   3C8    05   05   OK
   60  03 01   40    6346 -  BFAA   FFE00200     5C64  5C64    19   19   OK
   80  04 31   01    BFAB - 120F3          0 c   7C40  6148    3F   3F   OK
   A0  05 9E   01   120F4 - 12518       DFB0 c    4EC   424    F3   F3   OK
   C0  06 94   03   12519 - 14AA5      402E0 c   3020  258C    36   36   OK
   E0  07 ED   03   14AA6 - 14E7E   602B3400 c    9C0   3D8    D5   D5   OK
  100  08 BE   01   14E7F - 2BBC7   383A4A00 c  1EA20 16D48    9A   9A   OK
  120  09 17   01   2BBC8 - 4E474   38008230 c  2F444 228AC    E6   EA   BAD     <-------- bad checksum

LDSC   = PM Loader Config String (32 bytes)
ID     = ID byte of LDSC (byte #0)
CS     = Checksum byte or word
Att    = Attributes
PCMBlk = Program Code Memory Block
Exp    = Expected checksum for PCMBLock
Act    = Actual checksum for PCMBLock
c      = compressed PCMBlock
size   = size of decompressed (in RAM) and compressed (in ROM) PCMBlock in bytes


ROYL directory module 0x000B found at 0x7F19A

Active directory flag = 0x01

Identifying SA regions ...

Reg#  Reg size    Reg loc
----------------------------
0x00  0x0006352E  0x00000000
0x01  0x0006352E  0x000C8A00
0x02  0x0006352E  0x00191400
0x03  0x00000000  0x00000000
0x04  0x00000000  0x00000000
0x05  0x00000000  0x00000000
0x06  0x00000000  0x00000000
0x07  0x00000000  0x00000000
0x08  0x00000000  0x00000000
0x09  0x00000000  0x00000000

Verifying ROYL modules ...

ID          Size (bytes)         Address    Checksum
dir   hdr    dir       hdr
-----------------------------------------------------
0001  N/A    00008000  N/A        00000000             N/A
000A  OK     0000004E  00000200   0007E000   00000000  OK
000B  OK     00000129  00000200   0007F19A   00000000  OK
020B  OK     00000129  00000200   0007D19A   00000000  OK
0030  OK     00000400  OK         0007B000   00000000  OK
0047  FFFF   00000B18  01FFFE00   0007E682   FFFFFD3A  BAD
000D  OK     00000108  00000200   0007E04E   00000000  OK
004F  OK     0000052C  00000600   0007E156   00000000  OK
0181  OK     00000C00  OK         0007B400   00000000  OK

ROYL directory module 0x020B found at 0x7D19A

Active directory flag = 0x02

Identifying SA regions ...

Reg#  Reg size    Reg loc
----------------------------
0x00  0x000C6A5C  0x00000000
0x01  0x000C6A5C  0x000C8A00

Verifying ROYL modules ...

ID          Size (bytes)         Address    Checksum
dir   hdr    dir       hdr
-----------------------------------------------------
0001  N/A    00008000  N/A        000C591D             N/A
000A  OK     0000004E  00000200   0007C000   00000000  OK
000B  OK     00000129  00000200   0007F19A   00000000  OK
020B  OK     00000129  00000200   0007D19A   00000000  OK
0181  OK     00000C00  OK         0007B400   00000000  OK
0030  OK     00000400  OK         0007B000   00000000  OK
0047  OK     00000B18  00180000   0007C682   00000000  OK
000D  OK     00000108  00000200   0007C04E   00000000  OK
004F  OK     0000052C  00000600   0007C156   00000000  OK

dir  -  Module ID/Size as reported in directory module (0x20B or 0x0B)
hdr  -  Module ID/Size as reported in module's header
N/A  -  Not Applicable
BAD  -  Module has invalid checksum. This may be due to non-existent module.

ROM modules saved to Flash_00\000Bmods and Flash_00\020Bmods

Active directory is 0x20B

Analysing active 0x0A module ...

Head map checksum (Expected / Actual) = 0x0000 / 0x0000 - OK
Number of heads (physical / in use) = 10/9
Head map #1 = 0x03EF / 0b0000001111101111
Head map #2 = 0x03FF / 0b0000001111111111

DCM = | W | M J 3 D H 2 C
      : : : : : : : : : :
      : : : : : : : : : unknown
      : : : : : : : : top VCM
      : : : : : : : ACA
      : : : : : : bottom VCM
      : : : : : HSA
      : : : : media
      : : : preamp
      : : latch
      : base
      spindle motor

Analysing active 0x0D module ...

Firmware Version = 01.01A01
World Wide Name = 50014EE059C260F5
Model Number = WDC WD30NMZW-11GX6S1                   
Serial Number =                     


Analysing active 0x4F module ...

ROM version = 00020014

Analysing active 0x47 module ...

Preamp values
-----------
0  01300681
1  0132067E
2  012C0681
3  012A0681
4  0130057A
5  0132067A
6  01300781
7  01320681
8  012E0681
9  02300570

Microjogs
-------
0  0000
1  0000
2  0000
3  0000
4  0000
5  0000
6  0000
7  0000
8  0000
9  0000

Head/Media DCM = 3J
Attachments
ROM.7z
(169.64 KiB) Downloaded 778 times

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 5th, 2020, 4:52

@ OP, did you try donor PCB with donor ROM on patient drive ?

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 6:56

The ROM is damaged?

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 6:58

pepe wrote:i can't really see anything wrong with that rom, but i did not check it very thoroughly, just ran through it and it looks like ok.
As i said, it is not very probable it developed 2 different issues simultaneously.
Btw, do you really want to recover this drive through usb?

pepe


Yes because in this drives i don't have the PCB SATA unlocked.
This type of drives i think have some encription...

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 7:21

fzabkar wrote:The last ROM module has a bad checksum. The boot block may also be bad, but I don't know how to check it.

Code:
Analysing ROM.bin ...

Searching for LDSCs and verifying PCMBlocks ...

LDSC   LDSC    Att   PCMBlock          RAM         size       PCMBlk     CS
Start  ID CS        Start -  End     address     RAM / ROM    Exp/Act
---------------------------------------------------------------------------
    0  5A 40   04     140 -  1ED7      4B688     1D94  1D94   000BAF4E unknown CRC     <-------- boot block
   20  01 11   11    1ED8 -  5F7C   30080000 c   5500  40A4    69   69   OK
   40  02 58   0C    5F7D -  6345   24000000      3C8   3C8    05   05   OK
   60  03 01   40    6346 -  BFAA   FFE00200     5C64  5C64    19   19   OK
   80  04 31   01    BFAB - 120F3          0 c   7C40  6148    3F   3F   OK
   A0  05 9E   01   120F4 - 12518       DFB0 c    4EC   424    F3   F3   OK
   C0  06 94   03   12519 - 14AA5      402E0 c   3020  258C    36   36   OK
   E0  07 ED   03   14AA6 - 14E7E   602B3400 c    9C0   3D8    D5   D5   OK
  100  08 BE   01   14E7F - 2BBC7   383A4A00 c  1EA20 16D48    9A   9A   OK
  120  09 17   01   2BBC8 - 4E474   38008230 c  2F444 228AC    E6   EA   BAD     <-------- bad checksum

LDSC   = PM Loader Config String (32 bytes)
ID     = ID byte of LDSC (byte #0)
CS     = Checksum byte or word
Att    = Attributes
PCMBlk = Program Code Memory Block
Exp    = Expected checksum for PCMBLock
Act    = Actual checksum for PCMBLock
c      = compressed PCMBlock
size   = size of decompressed (in RAM) and compressed (in ROM) PCMBlock in bytes


ROYL directory module 0x000B found at 0x7F19A

Active directory flag = 0x01

Identifying SA regions ...

Reg#  Reg size    Reg loc
----------------------------
0x00  0x0006352E  0x00000000
0x01  0x0006352E  0x000C8A00
0x02  0x0006352E  0x00191400
0x03  0x00000000  0x00000000
0x04  0x00000000  0x00000000
0x05  0x00000000  0x00000000
0x06  0x00000000  0x00000000
0x07  0x00000000  0x00000000
0x08  0x00000000  0x00000000
0x09  0x00000000  0x00000000

Verifying ROYL modules ...

ID          Size (bytes)         Address    Checksum
dir   hdr    dir       hdr
-----------------------------------------------------
0001  N/A    00008000  N/A        00000000             N/A
000A  OK     0000004E  00000200   0007E000   00000000  OK
000B  OK     00000129  00000200   0007F19A   00000000  OK
020B  OK     00000129  00000200   0007D19A   00000000  OK
0030  OK     00000400  OK         0007B000   00000000  OK
0047  FFFF   00000B18  01FFFE00   0007E682   FFFFFD3A  BAD
000D  OK     00000108  00000200   0007E04E   00000000  OK
004F  OK     0000052C  00000600   0007E156   00000000  OK
0181  OK     00000C00  OK         0007B400   00000000  OK

ROYL directory module 0x020B found at 0x7D19A

Active directory flag = 0x02

Identifying SA regions ...

Reg#  Reg size    Reg loc
----------------------------
0x00  0x000C6A5C  0x00000000
0x01  0x000C6A5C  0x000C8A00

Verifying ROYL modules ...

ID          Size (bytes)         Address    Checksum
dir   hdr    dir       hdr
-----------------------------------------------------
0001  N/A    00008000  N/A        000C591D             N/A
000A  OK     0000004E  00000200   0007C000   00000000  OK
000B  OK     00000129  00000200   0007F19A   00000000  OK
020B  OK     00000129  00000200   0007D19A   00000000  OK
0181  OK     00000C00  OK         0007B400   00000000  OK
0030  OK     00000400  OK         0007B000   00000000  OK
0047  OK     00000B18  00180000   0007C682   00000000  OK
000D  OK     00000108  00000200   0007C04E   00000000  OK
004F  OK     0000052C  00000600   0007C156   00000000  OK

dir  -  Module ID/Size as reported in directory module (0x20B or 0x0B)
hdr  -  Module ID/Size as reported in module's header
N/A  -  Not Applicable
BAD  -  Module has invalid checksum. This may be due to non-existent module.

ROM modules saved to Flash_00\000Bmods and Flash_00\020Bmods

Active directory is 0x20B

Analysing active 0x0A module ...

Head map checksum (Expected / Actual) = 0x0000 / 0x0000 - OK
Number of heads (physical / in use) = 10/9
Head map #1 = 0x03EF / 0b0000001111101111
Head map #2 = 0x03FF / 0b0000001111111111

DCM = | W | M J 3 D H 2 C
      : : : : : : : : : :
      : : : : : : : : : unknown
      : : : : : : : : top VCM
      : : : : : : : ACA
      : : : : : : bottom VCM
      : : : : : HSA
      : : : : media
      : : : preamp
      : : latch
      : base
      spindle motor

Analysing active 0x0D module ...

Firmware Version = 01.01A01
World Wide Name = 50014EE059C260F5
Model Number = WDC WD30NMZW-11GX6S1                   
Serial Number =                     


Analysing active 0x4F module ...

ROM version = 00020014

Analysing active 0x47 module ...

Preamp values
-----------
0  01300681
1  0132067E
2  012C0681
3  012A0681
4  0130057A
5  0132067A
6  01300781
7  01320681
8  012E0681
9  02300570

Microjogs
-------
0  0000
1  0000
2  0000
3  0000
4  0000
5  0000
6  0000
7  0000
8  0000
9  0000

Head/Media DCM = 3J


Its possible to repair?

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 8:20

Thanks Franc for that log, it made me check the dump a bit more thoroughly.

the boot loader segment seems to be damaged, but i could not find this version, so could not repair it.
the other problem with mod47 seems not be a real one coz drive uses the other dir where 47 is valid.
pepe

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 8:26

I've discovered that a ROM with the same FW version might work well enough to read LBAs on the Spyglass and Pebble Beach models.

My guess is that this may be true of other WD SMR drives as well.

Worth a try . . .

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 6th, 2020, 11:21

there are 2 segments with bad cs, the first one and the last one, the adaptive data is ok. So it would be sufficient to copy rom code from same version 0-4e474.

The real struggle would start afterwards i think (damaged heads and possibly surfaces).

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 0:26

pepe wrote:Thanks Franc for that log, it made me check the dump a bit more thoroughly.

the boot loader segment seems to be damaged, but i could not find this version, so could not repair it.
the other problem with mod47 seems not be a real one coz drive uses the other dir where 47 is valid.
pepe

The active directory is 0x20B (my tool identifies it), so the second set of ROYL modules (all OK) are the ones that the drive uses. Therefore any checksum errors in the previous set of ROYL modules don't matter, but I have computed them anyway.

I would suggest to the OP that he dump the ROM again, just to see whether the dumps are consistent.

Can you tell us the algorithm for the boot loader checksum/CRC?

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 4:35

Hello,
Can you tell us the algorithm for the boot loader checksum/CRC?

it is a simple byte sum added in a 32bit accumulator.

So the first and the last code segments are bad.
+1 for reading it again and compare the result.

pepe

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 5:53

pepe wrote:there are 2 segments with bad cs, the first one and the last one, the adaptive data is ok. So it would be sufficient to copy rom code from same version 0-4e474.

The real struggle would start afterwards i think (damaged heads and possibly surfaces).


Hello,
This should definitely work ,Even if it Involves manual work on rom

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 13:21

jono-ats wrote:I've discovered that a ROM with the same FW version might work well enough to read LBAs on the Spyglass and Pebble Beach models.
My guess is that this may be true of other WD SMR drives as well.
Worth a try . . .

I didn't know that for the spyglass/pebble but it happens for the Giant family too (not SMR)

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 15:10

yeah, same fw version... but here the problem is exactly there, ie getting the same fw version. After that rom can be rebuilt coz the adaptive modules are not damaged.
But as i said, the real hardcore will start after the rom is rebuilt because of the head (and possibly surface) damage...
I can do it with safe methods if the OP is interested in sending it...

pepe

Re: WD30NMZW-11GX6S1 drive doesn't spin

April 7th, 2020, 17:46

pepe wrote:Hello,
Can you tell us the algorithm for the boot loader checksum/CRC?

it is a simple byte sum added in a 32bit accumulator.

I'm almost positive that's one of the things I tried when I was writing my tool. Maybe I was analysing a bad ROM? Anyway, thanks, I'll update my program.
Post a reply