Switch to full style
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

Editing some S.M.A.R.T. values on WD-Royl drives

January 4th, 2019, 19:57

Hello and Happy New Year friends!

I have a whole bunch of refurbished (arco/selfscan) WD Royl drives which are about to be sold to a reseller. The thing about all this is that the SMART attributes of the drives were zeroed after performing arco/selfcan tests. I don't want the reseller to sell them as brand-new drives so I decided to change the "Power-on-hours" and "Start/stop count" SMART attributes to their original values.

At first I wanted to write back the native 21-th modules and clear G+Relo list but this only worked for a very few drives. Clearing G+Relo affects RAW values of "Relocated sector count", "Relocated event count" and "Current pending sector" attributes but does nothing to "WORST" column and other attributes (such as "Raw read error rate" etc)

Eventually, I decided that the best option would be to find the offsets of the "Power-on-hours" and "Start/stop count" attributes in 21th module and change them to original values manually. So I compared 21th modules of the same drive before and after resseting the SMART data (recently-reseted 21-th VS same module copied after a few hours of being powered-on) in HEX editor but the difference was SO huge that I am at a loss.

How do I find the needed offsets? Gimme a clue guys.

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 4th, 2019, 20:02

I doubt anyone has ever taken the time to deconstruct S.M.A.R.T. modules in great detail. Beyond clearing/disabling it there isn't much benefit from a data recovery standpoint to figure this all out.

You're probably the first person to ever care about setting back those values.

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 4th, 2019, 21:22

Extracting SMART data from WD MODs 20 - 26:
http://www.hddoracle.com/viewtopic.php?f=22&t=968

If my ugly source code is too hard to understand, let me know and I'll try to explain it.

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 4th, 2019, 21:30

Extracting SMART data from WD MODs 20 - 26:
http://www.hddoracle.com/viewtopic.php?f=22&t=968

If my ugly source code is too hard to understand, let me know and I'll try to explain it.

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 15:05

fzabkar wrote:Extracting SMART data from WD MODs 20 - 26:
http://www.hddoracle.com/viewtopic.php?f=22&t=968

If my ugly source code is too hard to understand, let me know and I'll try to explain it.


Thank you friend for sharing your tool. There is no problems with running your awesome utility cause a long while ago you shared your wdromv11 tool with me and taught me how to run utilities like these. Just one question, does the "Flg" column indicate the offsets I am looking for? If it doesn't, how do I interpret those hex characters?

Image

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 16:44

Can you upload module 0x21?

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 16:59

fzabkar wrote:Can you upload module 0x21?


Sure
Attachments
21.zip
(2.57 KiB) Downloaded 416 times

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 17:12

Spildit wrote:It might be easy to replace the module template that is used when clearing S.M.A.R.T. to the values that you do need for the drive to have and execute the VSC to clear S.M.A.R.T. otherwise you might have "problems" editing module 21 as the values might not survive a power cycle if they "stick" at all to start with.


Which module do I have to edit, 22, 23,24, 25 or 26? And how do I find the needed offsets? Sorry if I sound retarded but I honestly have never done any reseach on SMART modules architecture :)

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 18:19

Here is the table of SMART attributes:

Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B

00003FB4              01 2F 00 64 FD 00 00 00
00003FC0  00 00 00 00 03 27 00 64 FD 00 00 00
00003FCC  00 00 00 00 04 32 00 64 64 00 00 00
00003FD8  00 00 00 00 05 33 00 C8 C8 00 00 00
00003FE4  00 00 00 00 07 2E 00 64 FD 00 00 00
00003FF0  00 00 00 00 09 32 00 64 64 01 00 00
00003FFC  00 00 00 00 0A 32 00 64 FD 00 00 00
00004008  00 00 00 00 0B 32 00 64 FD 00 00 00
00004014  00 00 00 00 0C 32 00 64 64 00 00 00
00004020  00 00 00 00 B8 B2 00 64 64 00 00 00
0000402C  00 00 00 00 BB B2 00 64 64 00 00 00
00004038  00 00 00 00 BC B2 00 64 64 00 00 00
00004044  00 00 00 00 BE A2 00 3B 3B 29 00 00
00004050  00 00 00 00 C0 32 00 C8 C8 00 00 00
0000405C  00 00 00 00 C1 32 00 C8 C8 05 00 00
00004068  00 00 00 00 C2 22 00 6A 6A 29 00 00
00004074  00 00 00 00 C3 B6 00 64 FD 00 00 00
00004080  00 00 00 00 C4 32 00 C8 C8 00 00 00
0000408C  00 00 00 00 C5 32 00 C8 C8 33 00 00
00004098  00 00 00 00 C6 30 00 64 FD 00 00 00
000040A4  00 00 00 00 C7 32 00 C8 FD 00 00 00
000040B0  00 00 00 00 C8 08 00 64 FD 00 00 00
000040BC  00 00 00 00 F0 B2 00 64 64 01 00 00
000040C8  00 00 00 00 F1 B2 00 C8 C8 0B 00 00
000040D4  00 00 00 00 F2 B2 00 C8 C8 1F 02 00
000040E0  00 00 00 00

It's easier to make sense of it if you choose 12 bytes per line in your hex editor.

Each attribute record has the following format:

    ID (1 byte)
    Type (or flags, 1 byte)
    Null byte ???
    Current Normalised Value (1 byte)
    Worst Normalised Value (1 byte)
    Raw data (little-endian, 7 bytes)

Re: Editing some S.M.A.R.T. values on WD-Royl drives

January 5th, 2019, 18:42

Yeahhh I got it! Thank you guys for taking your time to guide me and help me learn! People like you both are the ones who make this forum a great pleace to be a part of!
Post a reply