Contents of the EASYDIAG.DOC file
User Documentation EZDIAG.EXE Page no. 1
WESTERN DIGITAL USER DIAGNOSTICS
This document is intended to accompany the utility EASYDIAG.EXE
placed on this bulletin board for your convenience.
The utility is a safe, non-destructive way for your customer
(or your self) to verify the configuration of your AT
compatible computer, and to specifically test the hard drive/
Upon loading the program, the low-order ram pointer bytes are
presented to the screen. The machine's power-on self tests
test installed peripherals, and if valid ones exsist, the
tables are updated.
NOTE : THIS UTILITY DOES NOT PERFORM THE SETUP OR FORMAT
FUNCTIONS. THESE FUNCTIONS MUST BE PERFORMED BY
THE MACHINE'S MANUFACTURER-SUPPLIED SETUP AND
FORMAT UTILITIES. IN THE EVENT A FORMATTER IS
REQUIRED, WE SUGGEST THE OBTAINING OF THE WD
A sample of the start-up screen follows:
User Documentation EZDIAG.EXE Page no. 2
System contains the following :
640K bytes of RAM
2 Floppy disk drive(s)
1 Parallel printer port(s)
2 Asynchronous serial port(s)
1 Hard disk drive(s) of the following configuration(s) ...
Drive Cylinders Heads Precomp cyl Landing zone Sectors/track
0 820 10 65535 820 17
Total formatted capacity of drive 0 is 71,372,800 bytes
If the above information is not correct, run your system's setup utility
The following diagnostic will use the configuration information above
Do you want to do a hard drive / controller diagnostic ( y / n) ??
Note that the total count for all devices, as well as the
physical capacity of the hard drive is indicated. The useable
capacity is somewhat less, due to the partitioning method
that DOS uses.
You can proceed to the controller/drive diagnostic by typing
'y' now. No return is necessary. The following menu appears:
User Documentation EZDIAG.EXE Page no. 3
Select the diagnostic mode desired
(A)utomatic Quick Test ..........
(U)ser Selected Advanced Test ...
(E)xit to DOS / END TEST ........
... ENTER YOUR OPTION ... ==>
Explanation of options on following page :
User Documentation EZDIAG.EXE Page no. 4
(A)utomatic Quick Test ... Operation
A really fast and thorough test of the controller/drive subsystem.
The following repetitive commands are issued :
1) Rezero (recalibrate) command is issued to the
controller. The purpose of this command is to
simply move the hard drives' data heads over
the very first cylinder. The drive must then
respond with DRIVE READY, SEEK COMPLETE, and
TRACK ZERO signals all present. The following
errors can occur :
REZERO (RECALIBRATE) COMMAND ERROR LIST
NO SEEK COMPLETE FROM DRIVE ...... --- OR ---
DRIVE NOT READY ERROR ........... The drive never
reported that it was ready, or that the requested
seek (to track zero) was complete. This is usually
a drive select jumper or termination option (see the
drive's installation manual for more details) if the
drive activity lamp never lit when the controller was
trying to access the drive. Can also be a wrong, mis-
installed, or a defective cable. If the drive never
came to full speed (due to mechanical or power supply
limitations) this is also the error you will see.
TRACK ZERO ERROR ................ The drive reported
that it was READY, and failed for some reason to reach
the first cylinder. This is usually either a termination
option problem, or a defective hard drive.
CONTROLLER STAYED BUSY .......... This error can be
caused by failure of the controller to receive INDEX
(revolution) pulses from the hard drive. This input
is necessary for the timeout mechanism to function
properly on the controller. Try a known, good drive
and cable set. If the error persists, the controller
is probably bad.
User Documentation EZDIAG.EXE Page no. 5
2) 256 RANDOM SEEKS are issued all over the drive.
The drive does not have to be formatted to pass
this test. This is a thorough test of the
mechanics of the hard drive. A failure here will
probably be reported as a NO SEEK COMPLETE or
a NO DRIVE READY error. If the power supply in
the system under test is not capable of supplying
sufficient current to operate the drive, it will
usually show up as a drive error. If the wrong
number of cylinders or are selected in the
SETUP program (supplied with the machine), an
error listed above or a WRITE FAULT error will
be displayed. The errors possible follow :
a) NO SEEK COMPLETE .......... Covered above
b) DRIVE NOT READY ........... Covered above
c) WRITE FAULT ................ Beyond maximum
cylinder number seek was attempted. Check your
drives' parameters and your machine's SETUP.
Could also be a defective drive.
User Documentation EZDIAG.EXE Page no. 6
3) Now to the meat of it. 256 RANDOM TWO SECTOR
READ commands are issued to the drive. The
randomness of the location selected combined
with the deliberate selection of 2 sectors
(blocks) of data requested was carefully chosen
to bring out the elusive "random" failures.
The controller is told to NOT RETRY any operation
that resulted in an error. The possible errors
that could be reported are :
RANDOM READ POSSIBLE ERROR DESCRIPTION
a) DRIVE NOT READY ............. Covered above
b) WRITE FAULT ................. Covered above
c) DATA REQUEST FAILURE ........ A severe and
total controller failure. The card either
never transferred data, or won't quit
d) BAD BLOCK ON DRIVE .......... This area was
previously marked on drive. This location
should appear on the drive's error log. This
error is displayed solely for confirmation.
No automatic or combination tests are aborted
if this error is encountered.
e) ID FIELD (address) NOT FOUND . The controller
was unable to find any understandable data
on the hard drive. Check to ensure the drive
has been FORMATTED, the SETUP is correct, and
the ERROR MAP on the drive does not have this
location listed as a BAD TRACK.
f) UNCORRECTABLE or CORRECTABLE DATA ERROR
Indicates this location should be marked as
a BAD TRACK with a LOW-LEVEL FORMAT utility.
Such a utility can be found on this BBS. It is
called WDFMT.EXE and will format, verify, and
perform an intensive surface scan of the drive.
Unless you format out marginal areas, the data
you store on the drive could eventually be
corrupted THE NEXT TIME IT IS READ. Play it
safe. THERE ARE VERY FEW DEFECT FREE DRIVES !!!
User Documentation EZDIAG.EXE Page no. 7
4) NOW WE REALLY GET TOUGH ! A random data pattern
WRITTEN / READ / and VERIFIED on the LAST PHYSICAL
SECTOR of the drive as defined in SETUP. This
location was chosen because operating systems
(and hence application programs) RARELY access the
last sector on the drive. Even if this sector was
able to be addressed in the machine's operating
system, you would have to be using EVERY BYTE on
the drive (within 512 bytes of full). This is rare.
Some errors that can exsist :
RANDOM DATA WRITE/READ/COMPARE ERROR DESCRIPTION
a) WRITE FAULT FROM DRIVE ...... Covered before
b) DATA REQUEST FAILURE ........ Covered before
c) DATA COMPARE ERROR .......... A difference
between the WRITE data and the READ data
was discovered. You need to replace this
d) ID FIELD (address) NOT FOUND . Covered above
e) UNCORRECTABLE/CORRECTABLE DATA ERROR
f) DRIVE NOT READY .............. --- OR ---
NO SEEK COMPLETE ............. Covered above
g) BAD BLOCK on drive ........... Covered above
Sample screen follows ...
User Documentation EZDIAG.EXE Page no. 8
(A)utomatic quick test in progress ... please stand by ...
Now issuing the rezero (recal) command ......... command successful !
Now issuing 256 random seeks ................... command successful !
Now issuing 256 two sector random reads ........ command successful !
Now issuing 50 random data write/read verifies . data compared O.K. !
Automatic quick test completed flawlessly !
CONGRATULATIONS on a successful installation !
(U)ser Defined Advanced Test ... Next Section ...
User Documentation EZDIAG.EXE Page no. 9
(U)ser Defined Advanced Test ... Operation
This disk diagnostic is useful for a problem installation,
or to verify absolute disk addresses in the event of a disk
The user can directly enter any cylinder, sector, or head
he desires to test. The drive number can also be selected
if TWO drives are present. The amount of sectors to test
(sector count) is valid only for a (R)ead operation. If
no value is entered for any parameter, the program
drive = 0
cylinder = 0
head = 0
sector no. = 1
sector count = 1
command = re(Z)ero
The currently supported commands are :
re(Z)ero ....... recalibrates drive to cylinder 0
(S)eek ....... positions drive to any cylinder
(R)ead ....... transfers data from drive starting
at location chosen, and continues
for duration of sector count
(W)rite / read . transfers a random pattern of
data to the drive, then reads
it back, and checks for errors.
THIS IS DONE ONLY AT THE LAST
SECTOR OF THE DRIVE. YOU CANNOT
CHANGE THE LOCATION.
(A)ll .......... each of the preceeding commands
done in order. Any error will
terminate the sequence, and you
have the option of trying a
User Documentation EZDIAG.EXE Page no. 10
As you may notice, the sector number, sector count, and
head number have no bearing on re(Z)ero and (S)eek
IMPORTANT NOTE : Illegal disk addresses have been screened
for, and the following is how the program
ILLEGAL SECTOR NUMBER : results when sector 0 or a sector number
greater than the actual sector per track
count is selected. Sector 0 is fixed
to 1, and the sector per track value
from the system BIOS is the maximum.
ILLEGAL HEAD NUMBER : results when a head number greater
than ONE LESS THAN THE BIOS VALUE
is selected. Head numbers are truncated
at one less than the BIOS value.
ILLEGAL CYLINDER NO. : results when a cylinder number less
than zero or greater than ONE LESS
than the BIOS table. Handled exactly
like the heads, above. Can also
result when a read operation will
span many cylinders. The actual
cylinder entered is tested against
the selected value PLUS the sector
count divided by the number of sectors
in a cylinder PLUS 1. If the result
would be greater, than the max cylinder
count of the drive, the difference is
ILLEGAL SECTOR COUNT .. results when less than zero or
greater than 256 is entered. The
program makes >256 equal the value
entered AND 255, and makes 0 equal 1.
A sample session follows:
User Documentation EZDIAG.EXE Page no. 11
(U)ser Defined Advanced Test ... Sample Screen
Drive 0 selected automatically
Select a cylinder between 0 and 819 ? 819
Select a head (surface) between 0 and 9 ? 9
Select a starting sector between 1 and 17 ? 1
Select a number of sectors between 1 and 256 ? 17
The following commands are available :
re(Z)ero, (S)eek, (R)ead, (W)rite/read verify, (A)ll
ENTER YOUR OPTION : ? a
Now issuing the rezero (recal) command ......... command successful !
Now issuing the seek command ................... command successful !
Now issuing the read command ................... command successful !
For your protection, this part of our show will only do the LAST SECTOR
That will be ... cylinder 819 , head 9 , sector 17
Now issuing the write command .................. command successful !
Now issuing the read command to compare data ... command successful !
Now comparing data ............................. data compared O.K. !
Want another test ( y / n ) ?
IMPORTANT NOTE : In the event of an error, the status and
error registers are presented to the screen.
An English interpretation of the HIGHEST
PRIORITY ERROR will follow. If there is a
real problem, such as an XT controller
installed in the system, or a timeout error
that "hangs" the controller, the status
and error register values may be the same.
The sector count, head number, and cylinder
number are also displayed.
ERROR CODE SUMMARY FOR ALL TESTS SAME AS IN PRECEEDING SECTION
IF PROBLEMS PERSIST ... 24 hour Technical Support number 1-800-777-4787