All times are UTC - 5 hours [ DST ]


Forum rules


Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...



Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: November 20th, 2013, 17:29 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
4.5 Resident g-list and sector remapping (continued.2)

This particular 2000GB drive has some real bad areas on it, that have recently? occurred or been noticed when attempting to write to them

Some of them refresh and become operation with a 'W' command
others become operation via getting remapped (and get a strange series of V{00000028}q messages)
others fail to remap for some reason and give v{00000028}q messages

The V4 Reassigned Sectors List has now grown and includes the successfully remapped sectors

eg a typical new V4 entry
0021 00000007D52D 00001D32A85C ------.-.---- 0437FA.0.0013 01AD9E ----- ------ 00010000 11111111

F3 A>F 7d52d
Sector Info:
LBA PBA LogSec PhySec Wdg SFI Split Burst
0007D52D 1D32A85C 0013 0013 0056 0001AD9E 0372:1(04B4):03F1 0057 REALLOCATED TO PBA 00001D32A85C

viewtopic.php?f=1&t=27319


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: December 3rd, 2013, 16:07 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Note
I’ve ‘low level reformatted’ the user partition [badly] between posts 4.4 and 4.5
using a T>m0... command on a 7200.12 drive [DON’T DO THIS, unless experimenting]

Hence the 7d52d new V4 entry stuff above when rewriting a bad sector

I’ve ‘low level reformatted’ the user partition [badly]several times since then, in some experiments to try to resurrect the drive
and ‘fix’ its earlier problems.
But of course have made it worse, but still ok to experiment on

viewtopic.php?f=1&t=19275
viewtopic.php?f=1&t=27319


4.6 Manually adding bad sector entries

Half way down this article it discusses this
viewtopic.php?f=1&t=26367

Modify Track Defect List (Level 2 'F')

Parameter 0 = LBA or sector

Parameter 1 specifies the format action to be taken. The valid choices are:
A - Add Sector to Alternated Sector List
A1 - Add LBA to Alternated Sector List
B - Add Sector to Pending Sector List
B1 - Add LBA to Pending Sector List
C1 - Remove LBA from Alternated Sector List
F1 - Remove LBA from Alternated Sector List ( same as C1 above )


Current V4 alt list is empty

V80 g-list has entries
1B entries but all at high PBA’s

(V40 non resident glist has ‘D entries’ as before, but we shouldn’t be touching this list)

LBA 48aa2 (which is alsoPBA 48aa2) etc has issues on this drive, so lets try to remap them

F3 2>F 48aa2,A1

F3 2>F 48aa3,B1
InitiateMarkPendingReallocateRequest for disc_lba: 00048AA3

F3 T>V4

Reassigned Sectors List
Entries: 0002, Alts: 0001, Removed: 0000, Pending: FFFF

Idx LBA PBA LLLCHS of LBA PLPCHS of PBA SFI Hours Msecs Status BBM Mask
0000 000000048AA2 00001D32A83B ------.-.---- 0437FB.0.00B4 08D35D ----- ------ 00000000 00000000
0001 000000048AA3 000000048AA3 000000.4.009A 000000.4.009A 072DF4 ----- ------ 00000001 00000000


F3 T>V80
Resident GList 1C entries returned //added one
Total entries available: 1C
PBA Len Flags Phy Cyl Hd PhySctr SFI
48AA2 1 2 0 4 99 72136


48aa2 has been remapped ok and can read and write

48aa3 should be on some pending list (what pending list), but is still no readable - TBI


V4 summary is supposed to show pending, but don’t see anything


Update
Just rechecked this after another user partition ‘format’

and now V4 gives LED:000000EE FAddr:003CC9F2
(doesn’t like the pending realloc on my problematic drive in its current state)
if I disabled congen it would probably be ok


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: December 12th, 2013, 17:43 
Offline

Joined: October 22nd, 2013, 5:27
Posts: 234
Location: Spain
Quote:
48aa3 should be on some pending list (what pending list), but is still no readable - TBI


I believe drive assumes LBA 48aa3 still contains valuable data and it is not yet discarded - just added to candidate for reallocation list. Maybe further retries can get its data back. If you write to that LBA, drive will (correctly) assume now data is of no value if it was to be overwritten, so it is remapped only at this point.

Is it?

Cheers


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: December 17th, 2013, 1:08 
Offline

Joined: December 17th, 2013, 1:01
Posts: 1
Location: Oklahoma
Your information is very good. Please keep sharing.


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: December 23rd, 2013, 15:47 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
4.6 Manually adding bad sector entries (continued)

In the above test of adding Alternated and Pending entries
we see
Entries: 0002 -ok
Alts: 0001 - ok and shows the details of it remapped
Removed: 0000 -ok
Pending: FFFF -????????????????? and sort of appears as a pending entry

As deftrue says, maybe any pending entry wont actually be processed or remapped till the LBA is written to it

However repeating the test on a good drive, showed Alts: 0001 and Pending: 0001


4.7 More on Nonresident GList on 7200.12 (V40)

Experiments relating to Manually fixing the Nonresident GList on 7200.12
are discussed on
viewtopic.php?f=13&t=27618


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 3rd, 2014, 16:23 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
5.0 MISC

5.1 Level 6 scripts

F3 drives have some built-in diagnostic like scripts at level 6, that run terminal commands

view script with D
run with B

Typically B10 to B22

Examining them with D can give a good insight to advanced use of terminal commands
but it is still hard to understand exactly what they are doing or why

Note even a perfectly good drive might report some errors during a test but still pass the test
eg my 500GB drive gives errors on B18 but passes

fails B21 but still seems good


5.2 ESLIP

There is a serial mode that allows a dedicated serial terminal to read/write sector data etc in a fast bimary mode

viewtopic.php?f=13&t=26894


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 3rd, 2014, 16:48 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
5.3 Pre F3 drives (pre .11 drives?)

Lots of other threads on here and on Russian/Polish sites give info on terminal commands for pre F3 drives
But no structured information like I have tried to present here

Terminal is 9600 baud (38400 for F3)

One important concept for pre-F3 is the concept of ‘Age’

viewtopic.php?f=1&t=12640
http://malthus.zapto.org/viewtopic.php?f=2&t=299

The age of a seagate drive represent the step in which the drive is in the selfscan process. It begins at 2 and end at 4F or 50.
50 is the state where the drive responds to ata commands.

Also mentioned in the Seagate 500GB ST3500830ACE (experiments) article below

Niwot – and old term used relating to underlying LBA/CHS accessing of the physical sectors ?
eg “^X - Interface and Niwot Command History”


Some useful pre-F3 articles

Seagate Terminal Commands
viewtopic.php?f=1&t=6411

Many commands are limited to 16bit parameters (0 to ffff)
and if want to enter a 32bit value (eg for an LBA) sometimes have to do as 16bit low, 16bit high


Seagate 500GB ST3500830ACE (experiments) (7200.3)
viewtopic.php?f=1&t=27476


Typical Polish article
http://www.elektroda.pl/rtvforum/topic251635-30.html


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 13:37 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.0 SYSTEM PARTITION

REPEAT OF WARNING – Proceed at your own risk, commands are case sensitive and may vary between models.
One wrong command via terminal could easily result in a completely bricked HDD especially in the System Partition

The System Partition (sometimes called the System Area) is an area on the drive that is used for internal drive operation and contains
firmware, code, modules, tables, adaptives, etc
And duplicate copies of many important areas

There is NO standard layout for the SA and its contents are specific to the model of the drive and even to the specific disk itself (eg adaptives, defect lists)

It is totally separate from any user data area

see
Newbie info, from and for newbies :) About firmware, SA, etc
viewtopic.php?f=16&t=6562&start=20


Older drives / other manufacturers sometimes use the concept of negative cylinders for the SA


F3 T>x
shows the User Partition and System Partition information (cylinders and zones etc)

On some drives, eg my 500GB drive, the system cylinders are after the physical user cylinders

System Partition

LBAs 000000000000-0000000972CF //so overal size is approx 300MB, but not all used
PBAs 000000000000-00000009811F
HdSkew 006E, CylSkew 0018
ZonesPerHd 02

Head 0, PhyCyls 0392CB-03941E, LogCyls 000000-000152

Physical Logical Sec Sym Sym Data
Zn Cylinders Cylinders Track Wedge Track Rate
00 0392CB-039374 000000-0000A9 0394 063D 00072AE0 592.500 //at end of drive
01 039375-03941E 0000AA-000152 0394 063D 00072AE0 592.500

Head 1, PhyCyls 039CC9-039E1C, LogCyls 000000-000152

Physical Logical Sec Sym Sym Data
Zn Cylinders Cylinders Track Wedge Track Rate
00 039CC9-039D72 000000-0000A9 0394 063D 00072AE0 592.500
01 039D73-039E1C 0000AA-000152 0394 063D 00072AE0 592.500

On others, eg my 2000GB drive, the system cylinders are in the middle of the drive and ‘interleaved’ with the user cylinders


During normal SATA activity and user data sector activity, there is often lots of ‘hidden’ system partition activity

^X will show both the user and system partition low level activity

eg

Ts(ms) dT(ms) xT(ms) Type Option Mode St EC Info
335941388 11 7 12 005041 000000 1 00000080 TEMP 32 degC
335941396 8 5 02 005041 000000 1 00000080 XFR WR SYS LBA B 0000000075AA L 00000001 BO 000000 BES 0061A7E.0061AFD.0061A7E
335941401 5 3 02 002241 000000 1 00000080 XFR RD SYS LBA B 000000008E55 L 00000001 BO 000000 BES 006D800.006DCFF.006D800

possibly updating some SMART raw data ?

This gives us a way of determining what system LBA’s might be of interest

The previous discussed methods of reading and writing sectors from terminal can be done on the System Partition
but if in LBA mode (rather than physical cylinder mode) MUST ensue in the System Partition context or mode


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 13:38 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.1 SYSTEM PARTITION (continued)

On some F3 drives or firmware version, F3 T> y will list the SA files / modules ?

Level T 'y': Rev 0001.0000, Overlay, List SIM files, y[Volume], [FileDescriptor]

500GB HP oem drive – no
2000TB – yes, partial list shown below, but still hard to know what is what


File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0000 000 fc000000 0000000246df 0000000c 000282d7 00 00001f
0001 000 fc001203 00000002900f 00000009 000282e9 00 00026f
0002 000 fc002204 000000029020 00000003 000282e9 00 000280

000e 000 fc00620d 00000005c41f 00000708 00026656 01 000060
000f 000 fc00720e 00000005cca8 00000708 00026658 01 000109

File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0000 001 13100201 0000401e0000 00000390 ffffffff ff 00ffff
0001 001 13101202 0000401e0390 000000fc ffffffff ff 00ffff
0002 001 13102203 00004022e400 00001200 ffffffff ff 00ffff

0048 002 fd248080 000000413450 01becbb0 ffffffff ff 00ffff
0049 002 fc249084 000000160000 01e9ffff ffffffff ff 00ffff

File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0000 003 fc300181 000000029eb6 00000050 000282ed 00 000156
0001 003 fc301182 0000000652d5 00000050 0002667a 01 000156
0002 003 fc302183 0000000a06f4 00000050 00025eaf 02 000156

011f 003 fc3b330d 00000006c19d 00000002 00026696 01 0001de
0120 003 fc3b417b 00000006b1a7 00000008 00026692 01 0001a8

File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0000 004 fc400100 000040160000 00008000 ffffffff ff 00ffff
0001 004 fc401101 000040168000 00008000 ffffffff ff 00ffff
0002 004 fc402102 000040170000 00008000 ffffffff ff 00ffff
.
0038 004 1543870a 0000401f0798 00001000 ffffffff ff 00ffff
0039 004 19439195 0000401f1998 00032000 ffffffff ff 00ffff
003a 005 6053a208 000000413450 00000200 ffffffff ff 00ffff
003b 005 1c53b01b 000000413450 002b9c00 ffffffff ff 00ffff

0053 005 43553061 0000002e5e08 00000200 ffffffff ff 00ffff
0054 005 47554062 000000000000 00000000 ffffffff ff 00ffff

File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0000 009 02900208 000040043400 00000200 ffffffff ff 00ffff
0001 009 06901001 000040043600 00008000 ffffffff ff 00ffff
0002 009 09902002 000040043600 00000020 ffffffff ff 00ffff

0010 009 fc910096 000000000000 00000100 ffffffff ff 00ffff
0011 00a fca1103f 00000007b000 00001000 ffffffff ff 00ffff
0012 00a fca1232a 000000000000 00080000 ffffffff ff 00ffff


There are some articles that mention module layouts and data etc

eg

http://ts.acelaboratory.com/index.php?/ ... seagate-f3

Seagate F3, probably .11, not .12

Module Sys. file Description
00 Defect list of SA
01 0x001A Drive information file
02 0x0019 Performance parameter file
03 0x001B P-List
04 0x003F SAP (Servo Adaptive FParameters)
05 0x0300 Manufacturin information file
06 0x0001 RAP (Read Adaptives Parameters)
07 0x0208 CAP (Controller Adaptives Parameters)
09 0x0133 SMART config (filling by pattern)
0A 0x0134 SMART Frame
0C 0x0139 Self scan log
0E DIC (Data integrity check), Head 0
0F DIC Dummy file
13 0x030A Disk reestr (Security settings)
15 0x0306 Offline selfscan of surface (DOS)
1D 0x0100 Overlay 0
1E 0x0101 Overlay 1
22 File selfscan surface, head 0
23 File selfscan surface, head 1
24 File selfscan surface, head 2
25 File selfscan surface, head 3
26 File selfscan surface, head 4
27 File selfscan surface, head 5
28 File selfscan surface, head 6
29 File selfscan surface, head 7
2A 0x0093 Saved Mode pages (Edit HDD ID)
2B 0x0028 RW operations, (Translator)
2C DIC (Data Integrity Check), Head 1, pattern
2D DIC (Data Integrity Check), Head 2, pattern
2E DIC (Data Integrity Check), Head 3, pattern
2F DIC (Data Integrity Check), Head 4, pattern
30 DIC (Data Integrity Check), Head 5, pattern
31 DIC (Data Integrity Check), Head 6, pattern
32 DIC (Data Integrity Check), Head 7, pattern
33 Service file FDE
34 0x032C Packed structure descriptor CONGEN
35 0x0135 SMART


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 13:39 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.2 SYSTEM PARTITION (continued)

Reading a module / system file

Level T 'r': Rev 0001.0000, Overlay, Read File, r[FileId],[VolumeNum],[CopyNum],[ByteOffset],[Length],[OutputFmt]
Level T 'w': Rev 0001.0000, Overlay, Write File, w[FileId],[VolumeNum],[CopyNum],[ByteOffset]

F3 T>r1a //on 500GB drive

File Volume 3
File ID 01A
File Copy Number 0
File Descriptor FC34401A
File Size 00000400 // 2 sectors
Byte Offset 00000000
Bytes to read 00000400

Drive is ready to send FILE_3_01A_0 file.

need some special terminal mode to actually read the ‘file’ data over the serial port (probably ESLIP mode)


Reading modules by reading sectors directly from SA sectors – to be investigated

Concept of Modules, files, volumes etc – all to be investigated


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 13:43 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.3 SYSTEM PARTITION (continued)

The ATA password(s) are stored in the SA

This article talks about unlocking it (on 7200.7---F3)

http://malthus.zapto.org/viewtopic.php?f=113&t=122


Another way would be to use ^X after setting or clearing an ATA password on an identical test disk, to see what SA sectors are accessed and written to


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 15:26 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.4 More on SA modules aka firmware

(although many modules are data rather than firmware)

Some firmware dumps and lists here
but doesn't help us understand the contents yet

http://files.hddguru.com/download/PC-30 ... 207200.12/

http://files.hddguru.com/download/Non-P ... 00.12/NEW/

http://files.hddguru.com/download/Firmw ... R/7200.10/


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 7th, 2014, 16:20 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.5 More on reading SA modules

Earlier we read ‘system file’ 1a from the 500GB drive System Partition
(which should probably be the Drive information file)
although we didn't have a suitable terminal program to receive the data (STCom might be able to?)

However, doing a ^X after it has read the 'file' and timed out trying to send it down the serial port
shows us it had just read 2 sectors from system lba 4

XFR RD SYS LBA B 000000000004 L 00000002 BO 000000 BES 0086500.0086EFF.0086500

Lets try to directly read these sectors from the System Partition and look at their contents

Tricky to get it in System Partition LBA mode

Not sure what BES is ?

Maybe can look at it in raw CHS mode

SYS LBA 0 starts (probably) at Hd 0 cyl 0392CB

check V2 that theres no slips in this area (ok)

F3 2>s392cb,0,22

F3 2>.
Current R/W System LBA 000000000000 LLL CHS 000000.0.0000 PLP CHS 0392CB.0.0000

yes, all looks good

F3 2>A
Current Addr Mode
PLP CHS Mode, Seq In
Hd 0 Cyls 000000 - 03941E
Hd 1 Cyls 000000 - 039E1C

but Reads seem to switch it to User LLL or User LBA mode and so cant seem to read from SYS area yet

//to be continued

---

Try to read ‘system file’ 1a from the 2000GB drive System Partition and cross ref to the ‘y’ SIM files list for that drive

F3 T>r1a

File Volume 3
File ID 01A
File Copy Number 0
File Descriptor FC35901A
File Size 00000400
Byte Offset 00000000
Bytes to read 00000400

^X
XFR RD SYS LBA B 0000000246EB L 00000002 BO 000000 BES 0051D00.00521FF.0051D00

which matches this entry

File Vol FD Location Size Cylinder Hd Sector
---- --- -------- ------------ -------- -------- -- ------
0059 003 fd35901a 0000000246eb 00000002 000282d7 00 00002b

So have a match but still need to find out what it all means and confirm it is ‘Drive Information’


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 8th, 2014, 9:37 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.5 More on reading SA modules (cont)

Directly reading the SA sector
need to use the 'r' command not 'R'

so on the 2000GB drive

F3 2>s282d7,0,22

F3 2>.
Current R/W System LBA 0000000246C0 LLL CHS 000094.0.0000 PLP CHS 0282D7.0.0000

F3 2>r,2b,2

F3 2>.
Current R/W System LBA 0000000246ED LLL CHS 000094.0.002D PLP CHS 0282D7.0.002D
//confirms has now moved to 246ed after reading 2 sectors of interest at System LBA 246eb

F3 2>?
Blks 002AA5-003576 (000AD2), BufAddr 00554A00-006AEDFF, DBA 40554A00, BytesPerBlk 200 Default Diag Rd Buf
Confirms the read buffers are currently 0x200 bytes

F3 2>B2aa5,2aa5,2
Buffer Block 2AA5 compared to Buffer Block 2AA5 (200 Bytes/Block)
Addr 0 1 2 3 4 5 6 7 8 9 A B C D E F
00554A00 01 00 46 00 51 50 26 00 90 12 11 40 48 93 02 00
00554A10 30 30 30 30 30 30 30 30 E8 11 11 40 D5 AC 2A 00
00554A20 01 00 00 00 FF 54 00 00 1C C6 20 40 1C 45 00 00
00554A30 48 93 02 00 06 00 00 00 02 40 90 10 63 DB 2A 00
00554A40 00 A8 02 00 01 00 31 31 33 33 FF FF FF FF FF FF
00554A50 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554A60 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554A70 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554A80 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554A90 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AA0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AB0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AC0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AD0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AE0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554AF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00554B00 3A 00 ED 46 10 00 05 47 CE 15 BA 67 30 00 D9 46
00554B10 04 00 02 68 40 00 62 68 01 00 FF FF 10 00 00 00
00554B20 00 10 00 00 00 50 00 00 08 50 00 00 00 94 01 00
00554B30 10 94 01 00 00 00 00 00 08 00 00 00 FF FF FF FF
00554B40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
... FF's
00554DF0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 86 A3


Which looks like it could well be Drive Information
but was expecting more ascii


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 16th, 2014, 18:04 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Continuation of 6.5

Clarification of the way to directly read SA sectors, eg on the 2000GB drive

From /2 x we know
System LBA 0 is at Physical CHS 28243,0,0

confirmed by
F3 2>s28243,0,22
F3 2>.
Current R/W System LBA 000000000000 LLL CHS 000000.0.0000 PLP CHS 028243.0.0000

For the example above of the Drive Information
we want System LBA 246eb for 2 sectors at Physical CHS 282d7,00,2b

Need an A0 to ensure it works in a sector based mode

F3 2>A0
F3 2>s282d7,0,22
F3 2>r,2b,2

best to do a . afterwards to check its read the expected sectors and moved the pointer on to the following sector


Another way using System Logical cylinders

need to somehow know the system logical cylinder of interest is 94 eg 282d7-28243
and use upper case S

F3 2>A0
F3 2>S94,0,,,,1
F3 2>r,2b,2


Any way using System LBA’s direct //tbd


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 16th, 2014, 18:09 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Continued

Using System LBA’s directly in level A

Decode a system LBA number
shows the physical cylinder and the system logical cylinder

F3 A>F246eb,,1

Track Info:
Partition PhyCyl LogCyl NomCyl RadiusMils LogHd Zn FirstLba FirstPba LogSecs PhySecs WdgSkw SecPerFrm WdgPerFrm
System 000282D7 00000094 0002919C +1.184625E+3 00 00 000246C0 000246C0 03F0 03F0 0018 0002 0001

Sector Info:
LBA PBA LogSec PhySec Wdg
000246EB 000246EB 002B 002B 002D

Can probably read it in level A somehow //TBI


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 16th, 2014, 18:26 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Addendum to section 3B about READING USER SECTORS FROM TERMINAL

and the various internal addressing modes

reading user sectors in level 2 CHS mode

Use A0 to ensure it is in a sector mode rather than track mode

F3 2>A0
F3 2>s0,0,22
F3 2>.
Current R/W User LBA 000000000000 LLL CHS 000000.0.0000 PLP CHS 000000.0.0000

F3 2>R0,1
F3 2>.
Current R/W User LBA 000000000001 LLL CHS 000000.0.0001 PLP CHS 000000.0.0001

Has read sector 0 (which is also LBA 0) into the read buffer and moved the current ptr on to the following sector

Or LBA level A mode to read LBA directly
F3 A>A0
F3 A>R0,1


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 16th, 2014, 18:32 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Addendum to 6.4 More Seagate firmware module info

Probably pre .11/.12?
There are just 10 main modules related to the Barracuda family. The structure of the firmware is quite simple which makes data recovery from the Barracuda family a lot easier.
•Module 0 ALT: This is the G-list module
•Module 1 ATA: This is a ATA module which stores the protocols of the ATA communication and interface. It’s a very important module. After doing a SELFSCAN (except when the flow starts from either N2 or N5), this module will be damaged.
•Module 2 CERT: SELFSCAN codes
•Module 3 CERT TAB: SELFSCAN flow - Modules 2 and 3 are not important for the normal operation of Seagate drives.
•Module 4 INFO: Stores the HDD parameters including the model number, SN , LBA and so on. If a change to the model number or LBA is attempted but fails, this usually indicates the the sectors containing this module are damaged or that the module has become corrupted.
•Module 5 PL: This is the P-list module.
•Module 6 TS: This is the T-list module which is the compressed version of P-list.
•Module 7 APP: This is a loading module. This is quite similar to the loading module 41 in Western Digital hard drives.
•Module 8 SECT: This is an unimportant script module.
•Module 10 SMART: This is a SMART module as in many conventional drives.

But these don't seem to match up to the modules 00-35 hex in the earlier listing


More pre-F3 module info
http://malthus.zapto.org/viewtopic.php?f=6&t=161
http://malthus.zapto.org/viewtopic.php?f=59&t=705
http://malthus.zapto.org/viewtopic.php?f=6&t=162


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 17th, 2014, 18:20 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
6.6 More examining of SA sectors and modules

Will try to look at the contents of all the SA sectors and try to understand what modules they are and what they do
in due course

Will look further at the 2000GB drive where we have a module list, even though it is rather cryptic
This drive is a 512e drive with 4K physical sectors
The User partition sectors are 4K
but the SA sectors seem to be only 512 bytes in size!?

System Partition
LBAs 00000000-002C7173 //so overall size is approx 1422MB if 512byte sectors, but not all used
PBAs 00000000-003527FF //why so much higher ? – because of a significant amount of V2 System slips

ZonesPerHd 02 (and 6 heads)

Head 0, PhyCyls 028243-028482, LogCyls 000000-000210


SA starts at 28243,0,0
what is the sector size ??
SPT for the SA area is showing as always 03F0
whereas the 4K user sectors in the same sort of area were showing as approx 0120

So looks like the SA sectors are only 512bytes

This seems to be for code and module compatibility with smaller drives where all sectors are 512 bytes and the years of experience and development work on the code and overlay etc, much of which is probably hard coded to expected 512 byte sectors in the SA


Also explains why the V2 System Slip Defect List shows such large entries to fake it out and make everything line up ?


Top
 Profile  
 
 Post subject: Re: Seagate Terminal Tutorial – Reading Disk Sectors Via Ter
PostPosted: January 21st, 2014, 17:52 
Offline

Joined: May 16th, 2009, 9:32
Posts: 325
Location: UNited Kingdom
Correction to the above

The SA area is showing as always 03F0 SPT
whereas the 4K user sectors in the same sort of area were showing as approx 0720 SPT

However still looks like the SA sectors are only 512bytes in size
but laid out in a ‘strange’ way with physical gaps between logical runs

Understanding the V2 System Slip Defect List for such 512e drives is ‘tricky’
just need to be aware it looks unusual

The V2 System Slip Defect List is also strange and ‘unusual’ on normal F3 disks
and seems to skip some physical cylinders ?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC - 5 hours [ DST ]


Who is online

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