Upon power up, the drive will respond to a set of diagnostic command send through serial port. Because of the number of commands supported, the commands are broken up into ‘Levels’. Many, the progress may be sent over the serial port for number of bits written and read, and command such as read, write, seek, and error log manipulation are available at several different levels. Diagnostic commands are used in place of ATI scripts to do testing. While the drive is running these diagnostic commandshard/soft error rates, a number indicating the test currently being performed, and various information for status of the current test.
The firmware consists of 2 flash codes and numerous supporting files. The two flash codes are known as factory code and customer code. The factory code contains all the serial port diagnostics command but no AT interface command. The customer code contains all AT interface command but minimal set of serial port diagnostics command.
In the ‘Availability’ column, a ‘F’, ‘C’ and ‘B’ indicate the command is available at ‘Factory Code’, ‘Customer Code’ and ‘Both codes’ respectively.
The following is a short list of some of the serial port commands:
Level T - Certification Tests.
Download code
Start manufacturing test
Set drive ‘Age’
Commands to read cert logs, read error logs, write test data to flash, etc.
Level 1 - Memory Control Commands.
Commands to display buffer, display memory, set memory, copy buffer to flash, read
sysvars from disk, etc.
Level 2 - Drive Level Commands
A command to configure the cylinders, heads for testing, gives option for random
cylinder/head and random data patterns
Commands to set data patterns, perform ECC tests, manipulate the error log, dump the
sequencer ram.
Commands to do physical to logical conversion, assign skips and alternates, etc.
Commands to spinup, spindown, seek, read, write, read long, write long, read compare,
sleep, set retries, etc.
Level 3 - Seeking Commands
Display the zone table
Motor acceleration test
Measure head switch & settling times
Display head offset
Move actuator open loop
Seek, seek physical, varying length seek test
Latch test
Display position of actuator
Hysteresis test
Latch Exerciser test
Level 4 - Servo Tracking Commands
Manipulate a skipped cylinder table
Tracking error test
Page 1
Display position error signal
Zap servo burst
Set servo offset
Set/display tracking gain
Send impulse to actuator

B
uxx Upload CERT, RWF, CSPT, DEF from Serial Port to Buffer then write from resv
Performs the uploading of files from the reserve tracks. The keys are exact the same as those in the download command.
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 B
# Enter HDA Serial Number. The S/N may be up to 8 A/N characters long, left justified, and right padded with spaces until string length is 8 characters. B
[x ASCII Log Control: x = A Enables ASCII logging x = B Disables ASCII logging x = D Displays ASCII log B

ASW WORD
The Algorithm Selector Word (ASW) is a command to tell the flash upgrade routine to select the correct flash programming algorithm. It can be issued as a parameter in the SDLE.EXE software. The idea is to have single generic routine to cater for different flash memory programming algorithm. Typical flash programming involves ‘word programming’ and ‘sector programming’. If a new flash vendor is cut in, the firmware is not required to change. Just use the correct ASW will do.
Figure 2.3.1
Low Byte
7 6 5 4 3 2 1 0
Future use Future use Future use Future use Future use Future use Word Programming Reserved (was 128word pgm)

Sx,yyyy Edit Memory Byte. x - upper bits of >16 bit address yyyy – lower 16 bits of >16 bit address or the 16 bit address The uP will continue to read the memory byte and will update the display if the byte changes. After entering desired edit value, the following actions may be taken: DEL - Re-edit same byte CR(^M) - Close out and exit LF(^J) - Edit the next sequential location B
Ux,yyyy Edit Buffer Byte. This is the same command as S except the Buffer Memory is edited. B
Vxx,yy,zz Verify and count the number good copies of CERT, RWF, CSPT, DEF in Reserve xx = - FILEKEY for verifying (same as level T, d command, except the following, which are not supported) = 0D – CERT FLSH (for auto reflash) = 0E – AT FLSH (for auto reflash) = 0F – AT_STUFF = 10 – Security (not used, as it is auto downloaded by drive firmware) = 11 – Vendor Specific Entry = 12 ~ 1B – SMART related entries = 1C - Write Protect = 1E – SKIP_TRK Note: Although the number of good copies valid might be displayed for the above FILEKEYs, these are strictly not valid. yy = - Not entered for just counting the number of good copies available. -If entered, is the Copy Number, which is reserved for DE internal use only. Zz = - Not entered for just counting the number of good copies available. -If entered, is the Head Number, which is reserved for DE internal use only. B
W Compare PCB serial number with system sector’s serial number If both serial number are equal, print “01”. If not, print “00”. This feature is for process to detect if PCB has been swapped across HDA. B
Yxxxx Converts desired cylinder number to gray code and display the result. xxxx - specifies the cylinder number to convert. B
fxxxx Program the FlashROM with either AT- or CERT-built code stored on the reserved tracks xxxx = AAAA Flash with AT (customer) code xxxx = CCCC Flash with CERT (factory) code Use SDLE to download the code files onto the reserved tracks. B
mx,yyyy Edit memory word. Operates same as level 1 ‘S’ command, except operates on words. B
yxxxx Converts desired gray code to a cylinder number and displays the result. xxxx - specifies the gray code to convert B
$ Set PCB information and update flash The user will be prompted to enter PCB EC#, PCB S/N and PCB P/N. This feature is used by PCB plant to burn in PCB#, EC# and serial #. Then the drive plant will automatically retreive the information. B

Can you please clarify how to access a hard drive from the serial port? What is the step-by-step of doing that?

Is there is a way to open a terminal window (like Windows command line or Hyperterminal) to control and repair a hard drive's firmware using typed-in commands? If so how? I'm hoping that there is some way to open a terminal Window and then type "help" or something like that, to display a list of all the hard drive's commands and command switches, similar to Windows and Linux command-line commands. It seems a bit ridiculous that people are being enslaved to the greed of people who sell the PC-3000 etc., instead of resourcefully finding and sharing free or cheap do-it-yourself workarounds. Thanks.

The information on how to make and use a serial com port adapter have been on this forum for many years now. The commands for older drives are listed above for free. Please keep in mind that inputting a wrong command will render your drive useless. Nobody is enslaved to use AceLabs products.

Is there is a way to open a terminal window (like Windows command line or Hyperterminal) to control and repair a hard drive's firmware using typed-in commands?

Not always. Can only perform some action. Luckily there are a lot more complex protocol(s) to know to do what you want to do, and not all the drives have terminal access.

If so how?

Ah, simple : pay for the knowledge. Everything in this crazy life has a cost. There are things that cannot be bought, for everything else, there's MasterCard (if you prefer : Amex. Don't like Amex either ? Visa.)

I'm hoping that there is some way to open a terminal Window and then type "help" or something like that, to display a list of all the hard drive's commands and command switches, similar to Windows and Linux command-line commands.

Hope is the last thing to die. After a lot of research, luckily at drive factory they are so greed and nasty that they had not provided anything like that so we had to work it out. And they are complicating things each generation of drives they put on the market. Oh, my !!

It seems a bit ridiculous that people are being enslaved to the greed of people who sell the PC-3000 etc., instead of resourcefully finding and sharing free or cheap do-it-yourself workarounds.

Eh... what can we say ? Maybe the users of commercial tools are into sado-maso... But you don't really need any PC3000 etc. to work with drives. These tools are only a solution for automated access to drive internals. If you are good enough, you don't need any tool like that. Or you can write your own. Naturally everyone expect that OTHER people DO research and "SHARE"

Can someone please post a link to a web site which sells a "serial com port adapter" for a hard drive? Or post the name of a particular brand of "serial com port adapter" which I can then find using Google? If I do a Google search, it leads me to SATA (Serial ATA) hard drives or to serial port adapters which connect to devices other than to a hard drive.

Is this is it(MAX232 Serial level converter)? It does not seem to be an adapter that connects to a hard drive though(?). How does a serial com port adapter connect to the hard drive? Is one end of the adapter going to be similar to an IDE cable connecter, for example?

Who is online

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum