All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: detect what module is in WD ROM pcb
PostPosted: August 23rd, 2014, 8:55 
Offline

Joined: August 7th, 2014, 10:04
Posts: 40
Location: Leghorn, Italy
I want to understand what module is in ROM of WD16Ears hdd by Hex Editor, I see several ROYL entries in file but I don't know what module is reference?


Top
 Profile  
 
 Post subject: Re: detect what module is in WD ROM pcb
PostPosted: August 23rd, 2014, 17:32 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 15461
Location: Australia
Here is MOD 0B extracted from the ROM of a WD2002FAEX-00MJRA0:

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

00000000  52 4F 59 4C 04 00 1E 00 0B 00 01 00 F3 E0 0C F5  ROYL............
00000010  30 30 30 33 30 30 30 30 00 00 00 07 07 00 0A 12  00030000........
00000020  02 01 00 18 00 03 18 90 00 5E 2C 02 00 5E 2C 02
00000030  00 12 01 0A 00 4E 00 00 19 00 00 00 F0 07 00 00
00000040  00 00 00 12 01 0B 00 29 01 00 19 00 00 DE FA 07
00000050  00 00 00 00 00 12 01 0B 02 29 01 00 19 00 00 DE
00000060  EA 07 00 00 00 00 00 12 01 30 00 00 04 00 19 00
00000070  00 00 F0 0F 00 00 00 00 00 12 01 47 00 00 06 00
00000080  19 00 00 DE F4 07 00 00 00 00 00 12 01 0D 00 90
00000090  00 00 19 00 00 4E F0 07 00 00 00 00 00 12 01 4F
000000A0  00 00 04 00 19 00 00 DE F0 07 00 00 00 00 00 12
000000B0  01 5D 00 00 10 00 19 00 00 00 00 08 00 00 00 00
000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000000D0  00 00 00 56 06 FF 0F 3F 00 00 A0 05 00 00 00 00
000000E0  00 00 A0 05 00 00 80 07 00 00 A0 05 00 00 00 0F
000000F0  00 00 A0 05 00 00 80 16 00 00 A0 05 00 00 00 1E
00000100  00 00 A0 05 00 00 80 25 00 00 00 00 00 00 00 00
00000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
........
000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

This is the structure, AIUI:

Code:
offsets       description
------------------------------------------------
0x00 - 0x03   "ROYL" signature
0x08 - 0x09   module ID = 0x000B
0x0A - 0x0B   module size in sectors = 0x0001
0x0C - 0x0F   checksum bytes (CRC) = 0xF50CE0F3
0x10 - 0x17   module version
0x0E          number of directory entries = 0x0A
0x0F - end    directory entries

Here are the directory entries arranged as 18 bytes per row:

Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11

00000000  12 02 01 00 18 00 03 18 90 00 5E 2C 02 00 5E 2C 02 00
00000012  12 01 0A 00 4E 00 00 19 00 00 00 F0 07 00 00 00 00 00
00000024  12 01 0B 00 29 01 00 19 00 00 DE FA 07 00 00 00 00 00
00000036  12 01 0B 02 29 01 00 19 00 00 DE EA 07 00 00 00 00 00
00000048  12 01 30 00 00 04 00 19 00 00 00 F0 0F 00 00 00 00 00
0000005A  12 01 47 00 00 06 00 19 00 00 DE F4 07 00 00 00 00 00
0000006C  12 01 0D 00 90 00 00 19 00 00 4E F0 07 00 00 00 00 00
0000007E  12 01 4F 00 00 04 00 19 00 00 DE F0 07 00 00 00 00 00
00000090  12 01 5D 00 00 10 00 19 00 00 00 00 08 00 00 00 00 00
000000A2  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

This is the structure of each entry, AIUI:

Code:
offsets       description
------------------------------------------------
0x00          size of entry = 0x12 (18) bytes
0x01          ? type/location (0x01 = ROM, 0x02 = SA)
0x02 - 0x03   module ID
0x04 - 0x05   size of module (in bytes for ROM MOD, or in sectors for SA MOD)
0x0A - 0x0D   location in ROM (byte offset) or location of primary copy in SA (LBA)
0x0E - 0x11   location of secondary copy in SA (LBA)

Note that all values are little-endian.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: detect what module is in WD ROM pcb
PostPosted: August 23rd, 2014, 19:14 
Offline

Joined: August 7th, 2014, 10:04
Posts: 40
Location: Leghorn, Italy
Ok now I understand logical structure.
What data is it necessary to retrieve data from mod 01 ?
Because I want to say why my hdd cannot read mod01, what steps need to read on SA firmware of mod01 which stays on palters?


Top
 Profile  
 
 Post subject: Re: detect what module is in WD ROM pcb
PostPosted: August 24th, 2014, 1:10 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 15461
Location: Australia
MOD 01 is the "directory" module. It looks a bit like MOD 0B (or MOD 20B), but it contains references to all the MODs in the SA. The MCU uses MOD 01 to locate other important firmware modules such as MOD 11, MOD 02 and MOD 32.

_________________
A backup a day keeps DR away.


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

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot], Google Adsense [Bot] and 66 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