DLGDIAG PROGRAM DESCRIPTION: This MODULE of the Data Lifeguard Tools program searches for and verifies the status of specific Western Digital drives. By accessing the Data Lifeguard information stored on the hard drive, the program is able to quickly and efficiently verify the status of the drive. If any errors are logged or found, it provides an option to return the drive to defect-free status through an extended test or repair option. DLGDIAG offers several options for verifying the defect-free status of your hard drive. QUICK TEST: The Quick Test is designed to intelligently gather and verify all of the Data Lifeguard information contained on the drive. The Quick Test can determine with a high level of confidence that a drive is defect-free in a short amount of time. For maximum confidence, the Extended Test is recommended. The Quick Test option may not be available on earlier hard drives. EXTENDED TEST: For most computers the DLGDIAG Extended Test takes 5-20 minutes to test one drive. Larger drives take longer to test. The performance of the computer also affects the test time. TO RUN THE PROGRAM: BACK UP DATA: Before running DLGDIAG, it is recommended that users back up all data for all hard drives. This utility may write to the drive during the re-certification process. As with all utilities that write to a drive, it is recommended that you back up your data before proceeding. STORE THE PROGRAM ON FLOPPY DRIVE: The program must be run from a floppy drive, so if downloaded, copy all files included in the zip to a formatted bootable floppy diskette in A:. All files must be included for the program to function properly. Running this program from the target hard drive while using certain operating systems can result in data loss and an inaccurate scan of the target drive. START THE PROGRAM: To start the program, type DLGDIAG at the A:\ DOS prompt. READ AND APPROVE LICENSE AGREEMENT: In order for the DLGDIAG program to run, the License Agreement must be agreed to by indicating "YES". TO TEST EACH DRIVE: Pick the 'Select Drive' option to see a list of all drives installed and the current status of each drive. For each drive that shows a status of 'DRIVE NOT TESTED', select the drive by using the up/down arrows until the desired drive is highlighted and hit ENTER, then return to the main menu to test the drive. Once the target drive is selected, choose either the Quick or Extended Test Options. The Quick Test option may not be available on earlier drives. If it is not available, then the program will give the user the option to run the Extended Test. Depending on the option selected, the 'Test' will take between 90 seconds and 20 minutes to complete (depending on the size of the drive and the speed of the computer). At the end of the test a status is displayed. Also, the status for all drives is always available by choosing the 'Select Drive' option from the main menu. If errors are detected during a 'Test' option, the user will be given the option to attempt to repair the errors. Use the 'Select Drive' and 'Quick Test' and 'Extended Test' options to select, test, and repair each drive until all drives have been tested. Pick QUIT from the main menu to quit the program. At this point a message will inform you that the system should be reset to reinitialize the BIOS and hard drive(s). Hit CTRL-ALT-DELETE or turn the power off to restart the system. When rebooting, remove the floppy diskette so the system boots to C: instead of A:. TO CONTACT WD: In some cases the user may be requested to contact Western Digital Technical Support. You may contact Western Digital Technical Support at support.wdc.com or at (800) 275-4932 in the U.S., or (31) 20.446.7651 in Europe, or consult your drive manual for further information. Alternately, you may contact the OEM or its warranty service provider who can support your needs. MAIN MENU OPTIONS: Select Drive select drive and view status for all drives Quick Test 90 second 'intelligent' test of the selected drive Extended Test 5-20 minute scan of selected drive Write Zeros To Drive write zeros to the drive View Test Results display results for last drive tested Print Test Results print results for last drive tested Log File Open/Close store results for all drives tested - DLGDIAG.LOG Enter & Print RMA Info enter and print RMA when returning a drive to WD Help display the DLGDIAG help file - DLGDIAG.TXT Quit quit DLGDIAG COMMAND LINE SWITCHES: -A Disable error code for SMART failures -B Check SMART status without menus -C Enable output to comma file -Dx Select drive x only, where x is 0-15 or ? to show drive info -E Run extended test without menus - with drive repair -FWRITE Write zeros to the first and last million sectors -G Show test history on the SMART log area -H Enable appending of log to history log file -L Disable output to log file -Ox Specify log file location, where x is the full path -Px Access drives at baseport x (hex address) only -Q Run Quick Test without menus -R Run performance test without menus -S Skip rebooting after a run of the program -V Run extended test without menus - without drive repair -WRITE Write zeros to the entire drive ERROR/STATUS CODES: DESCRIPTION CODE COMPLETED WITHOUT ERRORS 0 ABORTED BY HOST 1 INTERRUPTED BY DRIVE RESET 2 INCOMPLETE DUE TO ERROR 3 UNKNOWN ELEMENT FAILURE 4 ELECTRICAL ELEMENT FAILURE 5 SERVO/SEEK ELEMENT FAILURE 6 READ ELEMENT FAILURE 7 HANDLING FAILURE 8 UNKNOWN TEST STATUS 9 UNKNOWN TEST STATUS 10 UNKNOWN TEST STATUS 11 UNKNOWN TEST STATUS 12 UNKNOWN TEST STATUS 13 UNKNOWN TEST STATUS 14 TEST IN PROGRESS 15 ERRORS FOUND 100 UNKNOWN ERROR 101 SEEK TIMEOUT 102 WRITE FAULT ERROR 103 DRIVE NOT READY 104 BUSY GLITCH 105 TRACK 0 ERROR 106 CHECK SUM ERROR 107 SEEK NOT COMPLETE 108 DRQ WAS SET 109 DRQ NOT EXPECTED 110 DIAG COMMAND ERROR 111 IRQ TIMEOUT 112 DRIVE TABLE ERROR 113 TRANSFER RATE ERROR 114 ICRC ERROR 115 IDNF ERROR 116 UNCORRECTABLE ECC ERROR 117 DAM ERROR 118 NO MULTI 119 NO DRIVE FOUND 120 SERVO ERROR 121 UNKNOWN ERROR 122 UNKNOWN ERROR 123 CORRECTED DATA 124 BAD TRACK 125 UNKNOWN ERROR 126 UNKNOWN ERROR 127 BUFFER MISCOMPARE 128 G-LIST ERROR 129 INVALID SERIAL 130 SERIAL RETRY 131 COMMAND ERROR 132 ILLEGAL ID 133 BUSY TIMEOUT 134 DRQ TIMEOUT 135 BAD SECTOR 136 RELOCATED SECTOR 137 STILL BUSY TIMEOUT 138 DRQ NOT EXPECTED 139 DRQ TIMEOUT ECC 140 UNKNOWN ERROR 141 TK-TK SEEK ERROR 142 RANDOM SEEK ERROR 143 THIRD STROKE ERROR 144 FULL STROKE ERROR 145 SEEK OVERHEAD ERROR 146 BAD ID PARAMETERS 147 NOT SELECTED 148 MASTER SLAVE ERROR 149 UNKNOWN ERROR 150 PARK ERROR 151 WRITE PROTECT ERROR 152 MEDIA ERROR 153 MEDIA CHANGE ERROR 154 MEDIA CHANGE REQ ERROR 155 NO MEDIA ERROR 156 SET MAX ERROR 157 Q DMA SERVICE ERROR 158 SMART ERROR 159 UNKNOWN COMMAND 160 RESET SIGNATURE 161 READY EXPECTED 162 UNKNOWN ERROR 163 DRIVE NOT TESTED 200 NON-WD DRIVE 201 DRIVE NOT SUPPORTED 202 WRITE LOG ERROR 203 MISSING LOG FILE 204 ABORTED BY USER 205 MEMORY ALLOCATION ERROR 206 CRITICAL RESOURCE ERROR 207 FATAL ERROR 208 SELF TEST FAILED TO RUN 209 SELF TEST INCOMPLETE 210 2-9 UNCORR ECC ERRORS 211 10+ UNCORR ECC ERRORS 212 2-9 DAM ERRORS 213 10+ DAM ERRORS 214 2-9 IDNF ERRORS 215 10+ IDNF ERRORS 216 2-9 SERVO ERRORS 217 10+ SERVO ERRORS 218 DRIVE CABLE ERROR 219 DRIVE IS LOCKED 220 TEST NOT SUPPORTED 221 DRIVE FAILED THE TEST 222 ERRORS REPAIRED 223 ERRORS NOT REPAIRED 224 TOO MANY ERRORS FOUND 225 SECTOR RELOCATION ERROR 226 SMART NOT SUPPORTED 227 DRIVE IS LOCKED-DST FAIL 228 SSD DRIVE NOT SUPPORTED 229 INVALID PARAMETER 255 (Command line syntax error - not a drive problem) TEST RECORD HISTORY: The test status and time are stored in SMART log area and can be retrieved by using -g switch. A sample test record appears: 08/22/2002 11:35:00,DLGDIAG 5.00, TEST 7, STATUS/ERROR CODE = 00000 The Test # indicates one of the test options which are: 1 - Quick Test 2 - Extended Test 3 - Write Zero Test 4 - Data Transfer Test 5 - SMART Status Test 6 - Status Register Error 7 - Command Error The Status # indicates one of the error or status code returned by DLGDIAG. If test can't write status to log file, the 5th digit of the status/error code will be set to 1. Change History: 5.27: - Don't diagnose WD SSD products and redirect the user to run another diagnostic tool available on the WD website. - Adds error code 229 (SSD not supported). 5.26: - Support Sandisk drive. 5.25: - Fixes for better support of HGST drives. 5.24: - Support HGST drives. 5.23: - Support exception list version 0x0400, 0x0401 and 0x0402. 5.22: - Renamed to DOSDLG. - Removed missing test tracks check. 5.21: - Support hybrid drives. 5.20: - Fail a drive for missing test tracks & return error code 229. 5.19: - Fix full erase for drives > 2.2 TB. 5.18: - ITR 5717: Don't report 0132 error - bug introduced in 5.16. 5.17: - ITR 5717: Detect and use SMART quick test. 5.16: - ITR 5717: Never update history log (only affects DX and older drives). 5.15: - ITR 5671: Support drives without zero in the identify device WD data. 5.14: - Support drives greater than 2.2 TB. 5.13: - Detect and report if drive is locked. 5.12: - Fix for NVIDIA AHCI ReadVerify returning no taskfile registers. 5.11: - Using DT32 AC for latest HBA support. 5.10: - Using DT32 AB to support NVIDIA MCP7D AHCI controller 5.09: - Support extended self tests times > 255 minutes. 5.08: -Support > 2.2 TB disk drives. -Built with DT32 library version v0A4. 5.07: -Change boundary between standard & extended ATA commands by 1 sector. -Built with DT32 library version v098 5.06: -Merge help file and license into the executable. -Built with DT32 library version v094 5.05: -Updated to allow the location of log files to be specified on any drive (previously only floppy drives) -Built with DT32 library version v08B 5.04f: -Built with DT32 library version v086 to support latest SMART attributes and more controllers. -Updated to enable interrupts for all drives on exit - resolves SATA hang issue. 5.04e: -Built with DT32 library version v082 to support more controllers. 5.04d: -Re-compiled with DT32 library v07E to support more controllers. -Updated copyright string 5.04c: -Re-compiled with DT32 library v075 to support single SATA slave configuration 5.04b: -Re-compiled with DT32 library v074 and Utility library v094 to support ICH6 -Updated copyright string 5.04a: -Re-compiled with DT32 library v071 5.04: -Re-compiled with DT32 library v066 to support Promise 150 SATA card 5.03: -Ignored ProcessTare result if RBB format is not supported -Set DRQTimeout to 10 ms for SmartRdLog function on Mammoth 5.02: -Removed IOReadyOn for SATA to avoid lockup on VIA w/ SATA -Used PutText instead of printf in ShowCtrlrAndDriveInfo -Recompiled with DT32 0x5A -Appended WriteZero status to smart log 5.01: -Added D? switch to show controller and drive information. -Changed O swtich option to allow log files to be saved on A:, B: and other drives. -Added detection for single slave configuration -Returned status/error codes to DOS -Changed .cs1 log from overwrite to append -Added change to display correct DCM and FTS strings -Changed Quick Erase switch from -F to -FWRITE -Recompiled with latest DT32 library to support Intel ICH5