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

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 206 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11  Next
Author Message
 Post subject: Re: WD2000JD problem
PostPosted: April 10th, 2013, 19:06 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
and....H1 died again (after playing with MRJog for H0..did a reset and on spinup heard some loud clicks and when testing... H1..was dead). :| . I think it's a random hardware problem.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 11th, 2013, 1:56 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
..and no hardware tools to help discover the problem. :)

however, I don't have any scope at this time. so quit telling me to send my hdd to a pro :lol: I'm chasing for a new donor..and meanwhile..I learn things and develop further my application.

I'm sure that someone, sometime will find useful info on this topic.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 11th, 2013, 2:24 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
Spildit wrote:
Did you manage to "revive" the head ?

nop. but for few hours I had that head working. tried to perform all the actions I did before it worked..with no success.

there isn't also a cold/hot problem. told ya that I had few times when the read channel was entirely dead (for all heads). the hdd was badly damaged when it fell down. perhaps it's a alignment problem with the hsa, platters etc.

I think I''ll try the kill head1 again. I need 2 SA valid heads to test my app, on.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 11th, 2013, 13:07 
Offline

Joined: July 18th, 2011, 5:40
Posts: 95
Location: Serbia
fzabkar wrote:
GreenWD wrote:
...it's obvious that louis enjoys the intellectual exercise. Good luck to him.


Good point! :D

@Louis

You shouldn't mess with both heads adaptives at the same time.

BTW, I like your work.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 11th, 2013, 13:41 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
here's a picture with mod 47 (ROM adaptives for a 4 headed drive) pre ROYL.

you can play with those MR Jog values to see when the head can't read. those values are also present in SA mod 41..so you'd better try the operation in safe mode.

from what you see..all balance around +- 0x600 value.

it will be nice to find..how those values are generated. since it's head-dependent..there must be a factory module to "tune" and gen those values.


Attachments:
mod47.png
mod47.png [ 86.05 KiB | Viewed 16157 times ]
Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 12th, 2013, 17:11 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
I have depoped the H1..and re-dimension the max LBA..so from 200Gb now shows 150. I can work with it and test my app on a good SA.

the second drive it's a pre- "marvel" model. I believe the firmware prior to 2004 wasn't so standardized. this model doesn't have a mod 0A from where to get the head map..like newer version so called marvel..or later..royl. in this case I get the head map from ATA ID. however..in this case I can't read the H4 although it presents as having 4 heads.

Quote:
C...\Debug>wdt -did 00
Model:.............WDC WD1200LB
S/N:...............WD-WCAMT131983
FW Rev:............08.05J0
Size:..............293041476 sectors (150.04 GBytes)
Family:............ID_BUCCANEER (91)
Drive Type:........0 (Desktop 3.5 Inch)
Rom Frmw Rev:......08.3AJ
Rom Type:..........5 (Serial Flash)
Platter count:.....2
Heads count:.......4
Heads used:........3
Head map: H0->H3 1 0 0 0 1 1
Zones count:.......21
Servo wedges:......216
SA cyl count:......64
Spindle rpm:.......7204
Used cylinders:....103520
Format ver:........1
Interface Type:....2 (Serial ATA)
PCBA Revision:.....3

C...\Debug>wdt -did 01

Model:.............WDC WD1600JD-00GBB0
S/N:...............WD-WMAES4018073
FW Rev:............02.05D0
Size:..............312581808 sectors (160.04 GBytes)
Family:............ID_POLARIS (73)
Drive Type:........0 (Desktop 3.5 Inch)
Rom Frmw Rev:......02.1SD
Rom Type:..........5 (Serial Flash)
Platter count:.....3
Heads count:.......6
Heads used:........4
wd_smart_write_log: error register is on. aborting...
VSC error code not decoded for : 0x0410
wd_get_drive_module: send_wd_cmd failed, aborting
Head map: H0->H6 1 1 0 0 1 1
Zones count:.......21
Servo wedges:......180
SA cyl count:......32
Spindle rpm:.......7200
Used cylinders:....87922
Format ver:........1
Interface Type:....0 (UnKnown)
PCBA Revision:.....0


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 12th, 2013, 22:39 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
louis wrote:
in this case I get the head map from ATA ID. however..in this case I can't read the H4 although it presents as having 4 heads.


the head is there..only that it's not readable in SA. I tested the readability for positive tracks and it reads fine. perhaps the head's zone 0 wasn't formatted. :roll:

I'm aware of performing write/sector to test the head..could lead to data destruction since I don't know what's there. until I learn more..(where it' safe to test head write) I'm keeping myself at a distance from writing SA :)


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 13th, 2013, 11:46 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
the LBA size I set it manually. 3/4 * original; checked that "clear translator" when depop. then I did a full format with p list. then a SS. however I don't know what happened because the P/G lists are empty now. I tried a logical scan.and stopped at 1% because it was horrible long. I have now 2 good heads on SA where I'm interested. for the moment I'm not interested in the rest of the disk area. I'm happy that it's stable and no more clicks and other ugly sounds.

for the so called "marvel" drives...(like mine) there isn't a module holding the rom image...as for the royl. for the royl models I think it will be easy..let's say if you find a closer PCB and you can access the SA with it..then read the rom backup modules..and compose original rom image.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 13th, 2013, 15:48 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
Spildit wrote:
How did you set it manualy ? Using 3.0 or editing ROM with hex editor ?
SS can take days ..... also you have to stop it using ss stop at the end ...


3.0 :) although I don't know at this moment what those LBA1-LBA3 means..I set all 3 at 3/4 of original size..after cutting one head.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 13th, 2013, 21:11 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
current supported options in my app :)
interface: console
OS: XP or later.

Code:
*********************************************************************************************
*       WDT ver 0.4 alpha - a tool for western digital HDD firmware
*********************************************************************************************

  WARNING: please disable/delete/uninstall the drive you operate on from device manager

        usage: wdt.exe [-scan] [-dumprom <dev>] [...] [-v]

  -scan                 : scan for IDE/ATA compliant devices on default ports 0x1F0, 0x170
  -did [dev]            : identify drive - vendor specific command; show heads, platters frm etc. [dev] defaults to 00
  -sadir [dev]          : show modules found in SA by parsing directory module.
  -dumprom <dev> [t]    : dump rom; dev = 00 first number = channel, second  0=master, 1=slave; t=1 autodetect (default),t=2 128k t=3 196k
  -dumpddt <dev> <nr>   : dump drive data table; dev = 00 etc; nr= table number (dec)
  -dumpmt <dev> <nr>    : dump memory table; dev = 00 etc; nr= table number (dec)
  -dumpmem <dev> <s><l> : dump MCU's RAM memory, dev =00 etc, <s>=start ex. 0xffff000 <l>=lenght (hex)
  -dumpmod <dev> <nr>   : dump a resident module; dev = 00 etc; <nr>= mod number (hex)
  -dumpsat <dev> <t> [h]: try read and dump track t with headh h=0 from SA (reserved area)
  -ldpovl <dev> <f>     : load permanent overlay to RAM; dev = 00 etc; <f>= mod file on local hdd
  -uprom <dev> <f> [t]  : flash rom with a firmware file; dev = 00 etc; <f>= path to firmware file on local hdd [t] same as dumprom
  -upmod <dev> <f>      : load drive module to SA; dev = 00 etc; <f>= mod file on local hdd
  -delmod <dev> <nr>    : delete drive module from SA; dev = 00 etc; <nr>= mod number
  -bkall <dev>  [t]     : backup the rom firmware and Service Area modules; rom type t=2... 128k t=3... 196k rom etc
  -ckmod <dev> [t]      : check module with vsc command (hardware)...t = module number (hex)
  -ckall <dev>          : check all mods found in SA (hardware)
  -ckalll <d> [m]       : check all mods locally by parsing [m]=mod_01.bin in directory <d>; all mods must be present inside <d> (software)
  -cksat <dev> <t> [h]  : check if track t on head h in reserved area (SA) is readable; track must be negative numbers
  -spinup <dev> [t]     : spins UP or DOWN the servo...t=1 => UP t=0 => DOWN
  -reset <dev> [t]      : reset the device...t=1 Immediate; 2 Spindown and reset; 3 Soft Reset
  -puisr [dev]          : get the current configuration for Power-up in standby; check why PM2 doesn't let you enter PUIS
  -puisw <dev> [t]      : set the current configuration for Power-up in standby: 1=PM2 controlled; 2=PUIS enabled PM2 ignored;
                          3=PUIS disabled,PM2 ignored; 4=PATA PUIS enabled PM2 ignored
  -puisup [dev]         : use this if your drive doesn't spin because PUIS flag it's set to 2 and -scan prompts for device in PUIS mode
  -smarte <dev> [t]     : enable or disable smart t=1 enable t=0 disable
  -smart [dev]          : show hard disk drive smart status; use -smarte if you get an error
  -vstat [dev]          : vendor specific status for a wd hard disk drive
  -dreg [dev]           : show controller registers
  -v                    : verbose output
  -h                    : print this help


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 23rd, 2013, 22:17 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
waiting for a new donor to appear. meanwhile I started to port my console app to a windows GUI app.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 26th, 2013, 10:08 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
got my hands on a ROYL drive. (donor+patient) :) few year ago it was taken to a DR and back due to missing donor. the DR spec. told that it requires a donor. the owner got it back and didn't done anything with it till today...although meanwhile he found a donor. initial, the patient wasn't even spinning. the owner was surprised when we plug it on and the drive came ready in K.M. I can access the SA, read all mods..and all are "green" when checking with VSC firmware function. he said..well look that in fact the DR did something to it. :)

what I noticed is that with this ROYL, I can't perform basic vsc commands like spin up/down...in kernel mode. it complains about perm ovl not loaded, thing which didn't happened on "marvel" models, where I was able to spin down the drive before unplug it.

I tried to load its mod 11...and it throws "not compatible" error. also with donor's mod 11.

so the DR specialist flashed somehow other rom firmware which isn't compatible with the SA modules.

I have to regen the rom firmware, I mean. to code my app to do this.

had a look at mods 102-109 and are all there, just fine. I have to figure how to stick them together. Maybe I should extract the rom backup mod (0x010x)..flash it..and then flash the other rom mods...after changing internal names. this way I hope it will handle internally the mod location/positioning at the eof rom.

teh big problem is that the hdd it's with "masked" rom. so if I screw it up..I cannot use external programmer :D


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 26th, 2013, 16:16 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
I've put the donor's PCB to the patient and windows found it. however...it doesn't work to well...it blocks and hangs during file transfer. I believe that the donor's rom version it's closer to patient's one...so it loaded the sa mods. in the end..I have to regen the rom to solve the problem

the rom it's type manteca, tricky one...it resets itself at the end of the flash..which is bad because we can't verify.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 27th, 2013, 0:53 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
jtag or 2 resistors + U12 :)

the goal it's to write/regen the rom with my tool.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 27th, 2013, 3:18 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
I know what modules to use. beside..I don't know what to use in wdr to regen the rom. and since it's undocumented and no more supported I risk doing bad things.

I'm working right now at my app. The gui it's only an aspect of the whole project. I'm building along a low level library with wd vsc...so my app will use that lib..which handles all low level command - wd internals.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 27th, 2013, 15:02 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17091
Location: Australia
louis wrote:
current supported options in my app :)

One more feature?

http://idle3-tools.sourceforge.net/

"Idle3-tools provides a linux/unix utility that can disable, get and set the value of the infamous idle3 timer found on recent Western Digital Hard Disk Drives. It can be used as an alternative to the official wdidle3.exe proprietary utility ..."

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: April 30th, 2013, 16:17 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
louis wrote:
jtag or 2 resistors + U12 :)

the goal it's to write/regen the rom with my tool.


today I've finished gathering all the code into my GUI app, required to do a ROM regen for the royl drive..and give it a try. it worked. now I have the drive with its original rom.

I have recovered directly from windows one of 3 partitions (about 150gb). on other 2 it seems that there are some problems with bad sectors?

the SMART was error-less...but in this situation I believe it will go fast to full. It's a bad thing to do a scandisk? I did this on one partition but it works veeery slow...at 230.000 files..about 1 file record/sec.

the drive was opened by the f DR spec...which flashed an incompatible rom version...probably never heard about rom regen :lol:


Attachments:
1.png
1.png [ 61.39 KiB | Viewed 16909 times ]
success.png
success.png [ 44.8 KiB | Viewed 16910 times ]
Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: May 1st, 2013, 3:20 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
did a wd diagnostic tool on it and the SMART error went red. now the drive is BAD. the relocated sector count gets incremented while under windows.

at this moment I'm asking if I could have a bad head...or a head with wrong adaptives? or just surface bads due to the mr DR spec..when opening the drive? notice the bad pattern..on this 4 Head drive.

I know that the LBA it's a linear function, it will be interesting how it varies along the platters. it will be something like from [0-x] head 0...[x-y]..H1 on entire platter surface...or it jumps from head to head inside each Zone? I'm trying to find if those bads are from a specific head...but the MHDD shows LBAs.

I've read an entire partition (150gb) without a single error. the errors are on the other 2.


Attachments:
DSC00941.JPG
DSC00941.JPG [ 496.62 KiB | Viewed 16889 times ]
Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: May 1st, 2013, 5:03 
Offline

Joined: April 21st, 2013, 6:12
Posts: 17
Location: Italy
Hi louis, I'm reading you thread from the beginning, but didn't had nothing interesting to say (but had many interesting things to read :))!

Regarding your new task with WD6400AAKS, why don't you try making a raw copy from that disk to another good using ddrescue? So you could copy as much data as you can in a safe place, and than you could try to see inside with other tools like R-studio o Ontrack Easy Recovery, without having I/O errors!!

I'm afraid that going on with tests on a faulty disk you could damage head if the patter surface is damaged!

I Think that ddrescue (not dd_rescue that is another app) is the better option because first copy all good blocks, and than try to read errors by splitting block size. ddrescue it's a GNU Linux app, but you should also find some cygwin port for win32.

Best Regards
Paolo


Top
 Profile  
 
 Post subject: Re: WD2000JD problem
PostPosted: May 1st, 2013, 8:29 
Offline

Joined: August 22nd, 2011, 15:43
Posts: 209
Location: Romania
VDT - variable data track

Programmable, variable data track pitch


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 206 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 52 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