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

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Help with seagate terminal
PostPosted: September 30th, 2010, 10:27 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
PUMA.

F>Interface task reset
1024k x 16 buffer detected
MASKROM - 1_Disk M-20 12-07-03 15:39

So I tried ST_MEM_FREE to download flash, cert, etc... into the drive and it does nothing.

According to portmon, it initializes COM4 and issues IOCTL_SERIAL_WAIT_ON_MASK and sits waiting endlessly for RXCHAR from the drive and never receives it. I read on a Linux WINE blog bug report that the Win32 IOCTL_SERIAL_WAIT_ON_MASK is known to be flaky.

So, I decided upon an ugly, ugly hack. I used Chop File Segmenter to chop the rom file PUMA.bin into 16 4096 byte segments.

This gave me puma.bin.chop.1, puma.bin.chop.2, ... ,puma.bin.chop.16, each 4096 bytes long. I then made a file named FFFF containing "fFFFF,FFFF"

This command in hyperterminal gives:
F>fFFFF,FFFF
OK
OK
OK
OK
OK
OK
OK
Check sum Error

and then it sits waiting.

So I exit hyperterminal, power cycle the drive, and run flash5.bat, containing:

copy /b FFFF com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.1 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.2 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.3 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.4 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.5 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.6 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.7 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.8 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.9 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.10 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.11 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.12 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.13 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.14 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.15 com4:
copy /b puma.bin.chop.1 nul
copy /b puma.bin.chop.16 com4:


(copy /b puma.bin.chop.1 nul is to provide a slight delay between sending the 4096 byte blocks. This ugly construct should, by any reasonable analysis, simulate SDLD accurately enough.)

This does nothing, although portmon shows the serial transfer takes place with no errors. The data is being sent to the drive and received properly. A portmon log segment showing two of the blocks successfully transferred:

0.11297608 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Overwrite Sequential
0.00000025 cmd.exe IRP_MJ_QUERY_VOLUME_INFORMATION Serial2 INVALID DEVICE REQUEST
0.00000046 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.00000025 cmd.exe IRP_MJ_SET_INFORMATION Serial2 SUCCESS -1217194336
4.12496930 cmd.exe IRP_MJ_WRITE Serial2 SUCCESS Length 4096: .."...Mtr ClearBraking..Index found - Spin Held -.Switch to full
0.00000178 cmd.exe IRP_MJ_SET_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.03008201 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03282525 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11271982 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.02991199 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03303941 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11388312 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.00000064 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.02966626 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03331548 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11398110 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.00000062 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.02942086 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03357624 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11295572 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open Sequential
0.00000062 cmd.exe IRP_MJ_SET_INFORMATION Serial2 SUCCESS -1217194308
0.03014363 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03280732 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11393790 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Overwrite Sequential
0.00000019 cmd.exe IRP_MJ_QUERY_VOLUME_INFORMATION Serial2 INVALID DEVICE REQUEST
0.00000046 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.00000027 cmd.exe IRP_MJ_SET_INFORMATION Serial2 SUCCESS -1217194336
4.12500581 cmd.exe IRP_MJ_WRITE Serial2 SUCCESS Length 4096: ..0p...I.m,....I.)#...=._o..G...=..o.p...p. ....G.......%%+...p.
0.00000161 cmd.exe IRP_MJ_SET_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.02982087 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03316846 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11365357 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.02956146 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03340286 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11389395 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.00000066 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.02933058 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03365088 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11397776 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.00000064 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.03006577 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03391377 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11397355 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open Sequential
0.00000062 cmd.exe IRP_MJ_SET_INFORMATION Serial2 SUCCESS -1217194308
0.02976329 cmd.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03318849 cmd.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11393889 cmd.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Overwrite Sequential
0.00000023 cmd.exe IRP_MJ_QUERY_VOLUME_INFORMATION Serial2 INVALID DEVICE REQUEST
0.00000046 cmd.exe IRP_MJ_QUERY_INFORMATION Serial2 INVALID PARAMETER -1217193956
0.00000025 cmd.exe IRP_MJ_SET_INFORMATION Serial2 SUCCESS -1217194336
4.12500596 cmd.exe IRP_MJ_WRITE Serial2 SUCCESS Length 4096: @.....>j..:/-....{G...-5?j..Pa.o......Bc..67I.-..k.0....G...=...


The drive just goes brain dead. I wait 10 minutes, try unsucessful ^Z, power cycle, and:

F>Interface task reset
1024k x 16 buffer detected
MASKROM - 1_Disk M-20 12-07-03 15:39


Am I not sending the right command to the drive, or should I be trying to download the cert, vend, cert table and app instead?



"fxxxx,yyyy
Download new flash code from Serial Port to Buffer then burn it in

xxxx - Algorithm Selector Word (ASW)
yyyy - None zero number will program this as the User Default ASW
(See figure 2.3.1 for ASW bits definitions)

(a) if xxxx is not specified =>
a.1) if default ASW is 0 or ffffh => current ASW is obtained from table, next ASW = ffffh
a.2) if default ASW is other values => current ASW = next ASW = default ASW

(b) if xxxx is specified =>
b.1) if yyyy is 0 => next ASW is default ASW, current ASW = xxxx
b.2) if yyyy is ffffh => next ASW is default ASW, current ASW = xxxx
b.3) if all other yyyy values => next ASW = xxxx, current ASW = xxxx"

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 11:34 
Offline

Joined: February 9th, 2009, 6:19
Posts: 40
Location: Earth
:shock:
Looking for "sdld" in the forum gives you the answer how to flash a seagate drive (not >.10).

The F command flash from ram, so ram must preloaded with the flash image.
There's no way you can emulate sdld with a dos copy command. In the sdld protocol there are packets, ack, checksum,...


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 12:46 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
viktdev wrote:
:shock:
Looking for "sdld" in the forum gives you the answer how to flash a seagate drive (not >.10).

The F command flash from ram, so ram must preloaded with the flash image.
There's no way you can emulate sdld with a dos copy command. In the sdld protocol there are packets, ack, checksum,...



I really, really appreciate the info. I believe you have saved me from wasting another 6 to 8 hours digging through 100s of posts at the Russian and Chinese sites. And another 20 hours to figure that out about SDLD. Strange that I can find no info on the protocol googling for "SDLD protocol"...

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 13:19 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
Quote :

"Strange that I can find no info on the protocol googling for "SDLD protocol"..."

No wonder :mrgreen:


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:04 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
OK, no big deal, I hosed the flash chip through the use of fCCCC or vCCCC, whatever.

Now I see what others meant when they said "be prepared to destroy a lot of drives." The two drives that got hosed the same way were a ST920217AS and a ST3120827AS. Both had one flaky head, although in the case of the ST3120827AS I'm more inclined to believe that a scratch spanning the entire surface of one platter is to blame.

OK, I have ponyprog, and the schematic to build the simple two resistor I2C flash programmer. I have the ROM for the ST3120827AS but not the ST920217AS, and will build and flash. From more than 10 hours of research, I have come to the undeniable conclusion that only a physical hardware flash can fix a MASKROM being displayed... it would have been nice if someone had simply said so.

(For later readers, the TTL serial interface to the drive cannot be used with ponyprog: 3.3V vs. 5V. Use a regular 9 pin COM port for ponyprog. http://www.riccibitti.com/quickdesigns.htm)

I hosed the ST920217AS after trying to disable the last head (T>YE1, T>w, invalid cert code, then the ignorant issuance of fFFFF thinking it would reset the ROM from the reserve tracks).


4096k x 16 buffer detected
PUMA - 1_Disk M-22d 11-11-04 10:47

Buzz - Head Mask FFFF - Switch to full int.
Spin Ready
3.42 01-04-05 12:57

/1
1>r
AutoRd Err 43 at ffffffff.01.0000
AutoRd Err 43 at ffffffff.01.0000
INVALID Cert Disk Code - ROM Resident Revision Required: 3.42
Code - 70 Track 0E9F3.1.000 Sns 000 Rty F7FF.FF.80FF Rtf 1800 LBA 00000000
1>r
AutoRd Err 43 at ffffffff.01.005b
AutoRd Err 43 at ffffffff.01.0003
INVALID Cert Disk Code - ROM Resident Revision Required: 3.42
Code - 70 Track 0E9F3.1.003 Sns 003 Rty F7FF.FF.80FF Rtf 1800 LBA 00000000
1>r
AutoRd Err 43 at ffffffff.01.0020
AutoRd Err 43 at ffffffff.01.0013
INVALID Cert Disk Code - ROM Resident Revision Required: 3.42
Code - 70 Track 0E9F3.1.013 Sns 013 Rty F7FF.FF.80FF Rtf 1800 LBA 00000000

<40 more attempts not shown, but finally persistence pays off>

T>/1
1>r
VALID Cert Disk Code Detected - Revision # .083
1>/T
T>D1,,40
Cert Table loaded

;Log 01 - Health 0000 - HlthDtl 0000 - Cert Rev = .083 - Rom Rev = 3.42.100 - Time = 00:00:10 Log Type = 01
(SN: 4MS0RYKD)
.PW
CERT - Wed Jun 29 23:32:41 2005 Script=1.00 Config=AYS80015-088 Flash=3.42 Cert=G087 PASS
FNC - Thu Jun 30 03:15:42 2005 Script=1.00 Config=AYS80015-088 Flash=3.42 Cert=.083 PASS

;Log 02 - Health 0000 - HlthDtl 0000 - Cert Rev = G087 - Rom Rev = 3.42.095 - Time = 00:54:30 Log Type = 01

Buzz - Head Mask FFFF - Switch to full int.
Spin Ready

Temp Diode 005D
( 47 C )
Zones 0-F, Heads 0-2, adaptives set to defaults
Head Mask FFFF -
Read Bias - Head 0 1 2 3
9 9 9
Head Mask FFFF - Switch to full int.
Spin Ready
Ref Trk Tan Timing Skew (h0 to h0) = 0000 servo clocks.
ID-OD Delta Timing Skew (h0 to h0) = 0000 servo clocks.
Ref Trk Tan Timing Skew (h0 to h1) = 1721 servo clocks.
ID-OD Delta Timing Skew (h0 to h1) = FF1A servo clocks.
Ref Trk Tan Timing Skew (h0 to h2) = 16F5 servo clocks.
ID-OD Delta Timing Skew (h0 to h2) = FF99 servo clocks.
Ref Trk Tan Timing Skew (h0 to h3) = 0000 servo clocks.
ID-OD Delta Timing Skew (h0 to h3) = 0000 servo clocks.
Greycode Index Skew (h0) = 0000 servo sectors.
Greycode Index Skew (h1) = 0002 servo sectors.
Greycode Index Skew (h2) = 00D8 servo sectors.
Greycode Index Skew (h3) = 0000 servo sectors.
Calibrating Physical Track 0 on heads 0 thru 2
Finding Maximum Eccentricity ...
Calibrating Head 1 ...
DAC value = FEB6


no need to post the rest...

Log 6F - Health 0000 - HlthDtl 0000 - Cert Rev = G087 - Rom Rev = 3.42.095 - Time = 00:00:37 Log Type = 01

Not Power Cycling

Power Cycling
Log 4E - Health 0008 - HlthDtl 0007 - Cert Rev = G087 - Rom Rev = 3.42.095 - Time = 00:00:09 Log Type = 01
Log 02 - Health 0000 - HlthDtl 0000 - Time = 00:54:30 Log Type = 01
Log 82 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log 83 - Health 0000 - HlthDtl 0000 - Time = 00:07:18 Log Type = 01
Log 84 - Health 0000 - HlthDtl 0000 - Time = 00:00:37 Log Type = 01
Log 03 - Health 0000 - HlthDtl 0000 - Time = 00:22:59 Log Type = 01
Log 73 - Health 0000 - HlthDtl 0000 - Time = 00:00:45 Log Type = 01
Log 05 - Health 0000 - HlthDtl 0000 - Time = 00:00:09 Log Type = 01
Log 06 - Health 0000 - HlthDtl 0000 - Time = 00:00:01 Log Type = 01
Log 07 - Health 0000 - HlthDtl 0000 - Time = 00:00:25 Log Type = 01
Log 0F - Health 0000 - HlthDtl 0000 - Time = 00:26:57 Log Type = 01
Log 10 - Health 0000 - HlthDtl 0000 - Time = 00:17:13 Log Type = 01
Log 11 - Health 0000 - HlthDtl 0000 - Time = 00:14:16 Log Type = 01
Log 12 - Health 0000 - HlthDtl 0000 - Time = 00:08:35 Log Type = 01
Log 13 - Health 0000 - HlthDtl 0000 - Time = 00:08:37 Log Type = 01
Log 14 - Health 0000 - HlthDtl 0000 - Time = 00:08:37 Log Type = 01
Log 15 - Health 0000 - HlthDtl 0000 - Time = 00:08:38 Log Type = 01
Log 16 - Health 0000 - HlthDtl 0000 - Time = 00:07:45 Log Type = 01
Log 17 - Health 0000 - HlthDtl 0000 - Time = 00:05:49 Log Type = 01
Log 18 - Health 0000 - HlthDtl 0000 - Time = 00:05:46 Log Type = 01
Log 19 - Health 0000 - HlthDtl 0000 - Time = 00:14:14 Log Type = 01
Log 1A - Health 0000 - HlthDtl 0000 - Time = 00:08:35 Log Type = 01
Log 1B - Health 0000 - HlthDtl 0000 - Time = 00:08:35 Log Type = 01
Log 1C - Health 0000 - HlthDtl 0000 - Time = 00:08:35 Log Type = 01
Log 1D - Health 0000 - HlthDtl 0000 - Time = 00:20:00 Log Type = 01
Log 1E - Health 0000 - HlthDtl 0000 - Time = 00:36:04 Log Type = 01
Log 2A - Health 0000 - HlthDtl 0000 - Time = 00:17:19 Log Type = 01
Log DA - Health 0000 - HlthDtl 0000 - Time = 00:00:06 Log Type = 01
Log DC - Health 0000 - HlthDtl 0000 - Time = 00:00:07 Log Type = 01
Log D6 - Health 0000 - HlthDtl 0000 - Time = 00:00:04 Log Type = 01
Log D7 - Health 0000 - HlthDtl 0000 - Time = 00:00:04 Log Type = 01
Log D8 - Health 0000 - HlthDtl 0000 - Time = 00:00:04 Log Type = 01
Log D9 - Health 0000 - HlthDtl 0000 - Time = 00:00:06 Log Type = 01
Log 56 - Health 0000 - HlthDtl 0000 - Time = 00:29:40 Log Type = 01
Log B0 - Health 0000 - HlthDtl 0000 - Time = 00:00:24 Log Type = 01
Log B1 - Health 0000 - HlthDtl 0000 - Time = 00:00:36 Log Type = 01
Log B2 - Health 0000 - HlthDtl 0000 - Time = 00:00:25 Log Type = 01
Log 0B - Health 0000 - HlthDtl 0000 - Time = 00:00:10 Log Type = 01
Log 7D - Health 0000 - HlthDtl 0000 - Time = 00:00:25 Log Type = 01
Log 58 - Health 0000 - HlthDtl 0000 - Time = 00:03:47 Log Type = 01
Log 08 - Health 0000 - HlthDtl 0000 - Time = 03:37:08 Log Type = 02
Log 0C - Health 0000 - HlthDtl 0000 - Time = 00:49:24 Log Type = 02
Log 0D - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log 40 - Health 0000 - HlthDtl 0000 - Time = 00:43:03 Log Type = 01
Log 31 - Health 0000 - HlthDtl 0000 - Time = 00:30:49 Log Type = 04
Log 32 - Health 0000 - HlthDtl 0000 - Time = 00:14:46 Log Type = 04
Log 33 - Health 0000 - HlthDtl 0000 - Time = 00:00:05 Log Type = 04
Log 34 - Health 0000 - HlthDtl 0000 - Time = 00:00:05 Log Type = 04
Log 36 - Health 0000 - HlthDtl 0000 - Time = 00:00:01 Log Type = 02
Log 37 - Health 0000 - HlthDtl 0000 - Time = 00:00:01 Log Type = 02
Log 26 - Health 0000 - HlthDtl 0000 - Time = 00:17:20 Log Type = 01
Log 3A - Health 0000 - HlthDtl 0000 - Time = 01:40:22 Log Type = 02
Log 0A - Health 0000 - HlthDtl 0000 - Time = 00:03:59 Log Type = 01
Log 8A - Health 0000 - HlthDtl 0000 - Time = 00:01:08 Log Type = 01
Log 3B - Health 0000 - HlthDtl 0000 - Time = 00:00:16 Log Type = 02
Log 3C - Health 0000 - HlthDtl 0000 - Time = 00:00:17 Log Type = 02
Log 3D - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 02
Log 3E - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 02
Log A9 - Health 0000 - HlthDtl 0000 - Time = 00:00:02 Log Type = 01
Log 3F - Health 0000 - HlthDtl 0000 - Time = 00:00:08 Log Type = 01
Log 09 - Health 0000 - HlthDtl 0000 - Time = 00:07:31 Log Type = 01
Log 20 - Health 0000 - HlthDtl 0000 - Time = 00:11:16 Log Type = 01
Log 77 - Health 0000 - HlthDtl 0000 - Time = 00:02:15 Log Type = 01
Log 43 - Health 0000 - HlthDtl 0000 - Time = 00:23:29 Log Type = 01
Log 27 - Health 0000 - HlthDtl 0000 - Time = 00:06:01 Log Type = 01
Log B3 - Health 0000 - HlthDtl 0000 - Time = 00:00:26 Log Type = 01
Log B4 - Health 0000 - HlthDtl 0000 - Time = 00:00:36 Log Type = 01
Log B5 - Health 0000 - HlthDtl 0000 - Time = 00:00:26 Log Type = 01
Log 51 - Health 0000 - HlthDtl 0000 - Time = 00:08:32 Log Type = 01
Log 48 - Health 0000 - HlthDtl 0000 - Time = 00:48:09 Log Type = 01
Log 41 - Health 0000 - HlthDtl 0000 - Time = 00:04:07 Log Type = 01
Log 49 - Health 0000 - HlthDtl 0000 - Time = 00:44:27 Log Type = 01
Log 4B - Health 0000 - HlthDtl 0000 - Time = 00:08:14 Log Type = 01
Log 4A - Health 0000 - HlthDtl 0000 - Time = 00:00:25 Log Type = 01
Log 4D - Health 0000 - HlthDtl 0000 - Time = 00:00:27 Log Type = 01
Log 39 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log 22 - Health 0008 - HlthDtl 0007 - Time = 00:00:26 Log Type = 01
Log 61 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 02
Log 28 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log 62 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 02
Log 29 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log 63 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 02
Log 59 - Health 0000 - HlthDtl 0000 - Time = 00:00:00 Log Type = 01
Log B6 - Health 0000 - HlthDtl 0000 - Time = 00:00:26 Log Type = 01
Log B7 - Health 0000 - HlthDtl 0000 - Time = 00:00:36 Log Type = 01
Log B8 - Health 0000 - HlthDtl 0000 - Time = 00:00:26 Log Type = 01
Log 6F - Health 0000 - HlthDtl 0000 - Time = 00:00:37 Log Type = 01
Total Cert Time = 16:36:03
T>


Thought it might have fixed it but I fire up MHDD and the same result, one bad head or bad track. So I tried to disable the head and foolishly tried fCCCC and adios amigo into MASKROM land.

I'm not here to compete. I visit the dumpster behind the computer place, retrieve, and repair. I have 10 flat panel monitors, more than a dozen laptops, at least twenty 250 gig hard drives, 16 of which hold 4 copies of each of my four main computer's datasets... so the activity as a hobby is profitable. I just want to increase my recovery percentage. If I can figure out how to recertify Seagates or disable individual heads on Seagates, my recovery percentage increases. I have numerous Seagates that have full GLISTS from corroded ROHS contacts. Clean the contacts, and the problem is gone, but the GLIST is full, but now because of the terminal I can already fix that by clearing the GLIST and then rescanning so only the actual bad sectors get remapped (and without destroying the drives now, because of what I have learned so far).

I would be perfectly happy to disable the bad head or surface on the ST3120827AS, and have an 80 gig Seagate in place of the 120 gig it used to be.

I guess I should be happy that I learned what I mainly wanted, to clear GLISTS and recertify, but I am still curious.

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:17 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
BlackST wrote:
Quote :

"Strange that I can find no info on the protocol googling for "SDLD protocol"..."

No wonder :mrgreen:


Ptaak

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:28 
Offline

Joined: August 12th, 2008, 13:11
Posts: 3235
Location: USA
Feklar wrote:
I have come to the undeniable conclusion that only a physical hardware flash can fix a MASKROM being displayed... it would have been nice if someone had simply said so.

If by "physical hardware flash" you mean removing the eeprom and using a programmer, this is not true at all.

_________________
You don't have to backup all of your files, just the ones you want to keep.


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:33 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
drc wrote:
Feklar wrote:
I have come to the undeniable conclusion that only a physical hardware flash can fix a MASKROM being displayed... it would have been nice if someone had simply said so.

If by "physical hardware flash" you mean removing the eeprom and using a programmer, this is not true at all.


I notice that you fail to post what IS true... What I've seen elsewhere says it is true. Or perhaps I should say MASKROM being displayed and serial terminal refusing SDLD upload. Chinese site says flash is the only way, so does Russian site.

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:39 
Offline

Joined: August 12th, 2008, 13:11
Posts: 3235
Location: USA
I know you've been playing around with some of the various Seagate terminal-related softwares that have all of the write-features removed in the free versions. What are you using to try to upload the ROM? How do you know you're doing it right?

_________________
You don't have to backup all of your files, just the ones you want to keep.


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:44 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
ST_MEM_FREE, ST_MEM_WIN, all three verions from http://files.hddguru.com/download/Softw ... irection=1

STR/d400/0
SLEEP/4000/0
SEND_FILE/512/puma.bin/<0/<80

and numerous other variations, d80, d80,0, d80,0,0 as advised on the russian and chinese sites.

_________________
http://www.youtube.com/user/TerraformingMaster


Last edited by Feklar on September 30th, 2010, 16:47, edited 2 times in total.

Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:45 
Offline

Joined: August 12th, 2008, 13:11
Posts: 3235
Location: USA
OK, and which one of those do you think is capable of writing the ROM? As far as I know they all specify that writing is NOT possible with the free version.

_________________
You don't have to backup all of your files, just the ones you want to keep.


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 16:50 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
I know Seagate Terminal and SEDIV are crippleware, but I thought I saw on a Russian site in a bug resolution discussion that ST_MEM_FREE was not.

Its no big deal I guess, I'm happy to learn what I wanted to learn, how to clear GLISTs and recertify. That's why I experimented on FUBARed drives before trying it on the salvageable drives. Really common problem with Seagates and Western Digitals both, ROHS corrosion. The drives fill up the GLIST with bad sectors that only read bad because of the reduced electrical connection, that are not actually bad. Cleaning the connections, clearing the GLIST, rescanning in MHDD with REMAP on, and the drives are like new. I guess I am screwed in the case of the Western Digitals once they fill the GLIST, since obviously I have no motivation to shell $600 for PC3000.

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 17:06 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
Issuing the script:
SEND_FILE/512/puma.bin/<0/<80

after typing
F>e5
F>e9
F>d400,0
in the terminal,
it does issue the port commands and tries to send the file, but hangs forever on IOCTL_SERIAL_WAIT_ON_MASK.

Obviously, the drive never responds to the transfer initiation request.

portmon log from the start of the script being run:

0.00000075 Project1.exe IOCTL_SERIAL_GET_COMMSTATUS Serial2 SUCCESS
0.00000307 Project1.exe IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS
0.00000073 Project1.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS
0.00000084 Project1.exe IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS
0.00000044 Project1.exe IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS
0.00000130 Project1.exe IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask:
0.03027076 Project1.exe IRP_MJ_CLEANUP Serial2 SUCCESS
0.03354172 Project1.exe IRP_MJ_CLOSE Serial2 SUCCESS
0.11254935 Project1.exe IRP_MJ_CREATE Serial2 SUCCESS Options: Open
0.00000138 Project1.exe IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS
0.00000052 Project1.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS
0.00000051 Project1.exe IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS
0.00000045 Project1.exe IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS
0.00000035 Project1.exe IOCTL_SERIAL_SET_TIMEOUTS Serial2 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
0.00000254 Project1.exe IOCTL_SERIAL_SET_QUEUE_SIZE Serial2 SUCCESS InSize: 10240 OutSize: 10240
0.00000040 Project1.exe IOCTL_SERIAL_GET_BAUD_RATE Serial2 SUCCESS
0.00000037 Project1.exe IOCTL_SERIAL_GET_LINE_CONTROL Serial2 SUCCESS
0.00000036 Project1.exe IOCTL_SERIAL_GET_CHARS Serial2 SUCCESS
0.00000035 Project1.exe IOCTL_SERIAL_GET_HANDFLOW Serial2 SUCCESS
0.00390141 Project1.exe IOCTL_SERIAL_SET_BAUD_RATE Serial2 SUCCESS Rate: 9600
0.00298894 Project1.exe IOCTL_SERIAL_CLR_RTS Serial2 SUCCESS
0.00298917 Project1.exe IOCTL_SERIAL_CLR_DTR Serial2 SUCCESS
0.00399228 Project1.exe IOCTL_SERIAL_SET_LINE_CONTROL Serial2 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00299142 Project1.exe IOCTL_SERIAL_SET_CHAR Serial2 SUCCESS EOF:0 ERR:0 BRK:0 EVT:0 XON:11 XOFF:13
0.01999158 Project1.exe IOCTL_SERIAL_SET_HANDFLOW Serial2 SUCCESS Shake:0 Replace:0 XonLimit:2048 XoffLimit:512
0.00000142 Project1.exe IOCTL_SERIAL_PURGE Serial2 SUCCESS Purge: TXCLEAR RXCLEAR
0.00000082 Project1.exe IOCTL_SERIAL_SET_WAIT_MASK Serial2 SUCCESS Mask: RXCHAR
0.00000037 Project1.exe IOCTL_SERIAL_GET_TIMEOUTS Serial2 SUCCESS
0.00000000 Project1.exe IOCTL_SERIAL_WAIT_ON_MASK Serial2 (edit: and waits until the end of time or electricity)


http://translate.google.com/translate?h ... 6prmd%3Div

Any of the various forms of scripts there send the various forms of dxx commands to the drive, then try to send the file and:

0.00000000 Project1.exe IOCTL_SERIAL_WAIT_ON_MASK Serial2 (edit: and waits until the end of time or electricity)

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 17:25 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
Feklar wrote:
I'm happy to learn what I wanted to learn, how to clear GLISTs and recertify.


How many drives did you effectively fix and put back to work and WHAT model/series ?

Feklar wrote:
Really common problem with Seagates and Western Digitals both, ROHS corrosion. The drives fill up the GLIST with bad sectors that only read bad because of the reduced electrical connection, that are not actually bad. Cleaning the connections, clearing the GLIST, rescanning in MHDD with REMAP on, and the drives are like new.


Not true (polite version)

Feklar wrote:
I have no motivation to shell $600 for PC3000.


You missed one zero at least.


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 18:45 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
Ptaak: What is this now, the Spanish Inquisition?

1) many

2) all too true

3) whatever

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: September 30th, 2010, 19:09 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
Actually, that should read:

Cleaning the connections, clearing the GLIST, ERASE or FASTERASE in MHDD, rescanning in MHDD with REMAP on, and the drives are like new.

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: October 1st, 2010, 2:46 
Offline

Joined: February 9th, 2009, 6:19
Posts: 40
Location: Earth
1/ Flashing a seagate pcb without using an external programmer IS possible 8)
2/ ST_MEM_FREE does not support sdld.
3/ AFAIR there is a description of the sdld protocol that seems partially correct on a russian forum. Maybe you should search using cyrillic....


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: October 1st, 2010, 3:23 
Offline

Joined: July 18th, 2006, 3:05
Posts: 7476
Location: ITALY
PARTIALLY. This makes the difference.


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: October 1st, 2010, 4:55 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
viktdev wrote:
1/ Flashing a seagate pcb without using an external programmer IS possible 8)
2/ ST_MEM_FREE does not support sdld.
3/ AFAIR there is a description of the sdld protocol that seems partially correct on a russian forum. Maybe you should search using cyrillic....

3 - nye spesibo, droog viktdev. I believe I have reached the point of diminishing returns in time spent vs. value of knowledge learned. I learned what I set out to learn, and it will improve my holdings, so I am satisfied.

I very much appreciate your productive hints, though, and even BlackST's "constructive" criticism. Thank you for helping.

_________________
http://www.youtube.com/user/TerraformingMaster


Top
 Profile  
 
 Post subject: Re: Help with seagate terminal
PostPosted: October 1st, 2010, 13:42 
Offline
User avatar

Joined: October 22nd, 2008, 22:07
Posts: 110
OK, the ST3120827AS had one bad head or surface. Even if I fixed the ROM, it would still have the bad head or surface, so I gave up on it.

I cannibalized it for a part.

I had an ST3160023AS with a shorted part, right before the motor connector. Would short the computer's power supply right down. This was the same board, without the shorted component. Replaced with the good one from the ST3120827AS board, and it fired right up, working perfectly.

I am curious as to whether this part, (the removed part location is circled in red) is a diode (my guess) or a capacitor. Anyone know? Sorry for the lame image quality, this is the only camera I have that does closeups that isn't in use elsewhere.


Attachments:
st3160023as.JPG
st3160023as.JPG [ 27.15 KiB | Viewed 14854 times ]

_________________
http://www.youtube.com/user/TerraformingMaster
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 41 posts ]  Go to page 1, 2, 3  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