DEX is a "device excercisor" which runs as a standalone utility and is found under the /sauN/... directory. It performs fairly thorough device tests for ESDI disk drives. I'm not sure if it is useful on SCSI drives.
Here is a transcript of a DEX session run on a DSP3500 which is using a WD7000 controller and one Maxtor 380MB disk.
NOTE 1: You can not run DEX on a mounted volume or a volume in use. Instead, shut down the workstation and bring up the standalone version.
NOTE 2: FBS takes a VERY LONG TIME. Something on the order of 4 hours per pass on a 380MB drive. I'd suggest selecting 2 passes and letting it run overnight.
NOTE 3: On older versions of DEX a password is sometimes requested.
If this is the case, try one or more of the following responses:
service
service8
domain
<return> > re > re MD7C REV 8.00, 1989/08116.17:23:52 > ex dex ex dex low: 01002C00 high: 01036BD4 start: 01003000 "THE APOLLO DIAGNOSTIC EXECUTIVE SOFTWARE PROGRAM CONTAINED HEREIN IS THE PROPRIETARY MATERIAL OF APOLLO AND MAY BE USED AND EXECUTED ONLY BY AN AUTHORIZED LICENSEE ON A SINGLE, LICENSED, IDENTIFIED APOLLO NODE OR SERVER PROCESSOR PURSUANT TO A SEPARATE DIAGNOSTIC SOFTWARE PROGRAM PROPRIETARY LICENSE AGREEMENT BETWEEN APOLLO AND LICENSEE. ALL APPLICABLE RIGHTS IN PATENTS, COPYRIGHTS AND TRADE SECRETS IN SUCH SOFTWARE PROGRAMS ARE AND WILL REMAIN IN APOLLO OR APOLLO'S LICENSORS." DEX7 Revision 2.12, Built August 28, 1989 1:31:36 pm (EDT). File "CMD/STARTUP.CMD": $412 bytes loaded at $1040000 DEX> help help Type HELP "Commands" for a list of all available commands. HELPfor help on a particular command. Help for help on a particular topic. DEX> help commands help commands Valid commands for DEX are: AUTO Execute automated test on a device or entire system CONTinue Restart test sequence from point of interruption DEVices Modify or display contents of System Device List DIsk Modify or display System Boot Device DO Execute command file RUN_OLD Run diagnostic in Pre-Dex Mode EXIt Return from command file GO Start executing selected diagnostic tests HElp Display help text IF Conditional execution LD Display boot device directory contents LIst Display contents of memory LOad Read file from boot device into memory LOG Display contents of System Error Log MD Execute MD Command MSGlevel Control message display and brevity ONERRor Control action to take on diagnostic-detected error PAD Display transcript pad PASS Modify or display System Pass Count Register QUERY Enable or disable System 'Query Mode' Quit Exit to 'MD>' prompt READ Read text from user into CLI variable RELoc Relocate DEX within memory Run Execute diagnostic tests for a module LOOp Enter scope loop INput Modify or display source of character input TYpe Display command line arguments SELect Designate diagnostic tests to be executed by 'GO' DEBug Debug MAp Enable/Disable MMU STcode Display Error Text DC Enable/Disable Data Cache DEX> auto auto Current configuration Board # Size in megabytes 1 4 2 4 Total configured memory = 8 megabytes Node-id: 24673 Display type: NONE Peripheral devices: FPU5 -- MC68881/MC68882 WINCHESTER CONTROLLER TYPE -- Western Digital (WD7000V-ASE) WIN7 -- Winchester (controller 0 unit 0): 380MB--FA WIN7 -- Winchester (controller 0 unit 1): No disk present RING -- Apollo Token Ring Network Controller-AT (unit 0) Principal network: RING -- Apollo Token Ring Network Controller-AT (unit 0) Is this information correct? (Y, N) : y y %"WIN7B" - Device driver not loaded (Exec/AUTO Cmd) %"FLP7" - Device driver not loaded (Exec/AUTO Cmd) %"CTAPE7B" - Device driver not loaded (Exec/AUTO Cmd) %"MAGTAPE7" - Device driver not loaded (Exec/AUTO Cmd) %"VTAPE7" - Device driver not loaded (Exec/AUTO Cmd) FRU's to be tested: ---------------------- MEM (Board 0, Board 1) CPU RING7B WIN7B (Controller, Drive 0, Drive 1, Drive 2, Drive 3) FPU FRU's not to be tested: ---------------------- DISP7 ETHER SCAT ITR PCC FLP (Controller, Drive) CTAPE7B (Controller, Drive) MAGTAPE (Controller, Drive) VTAPE (Controller, Drive) FPA Is this okay (Y, N) : n n Memory [MEM7] Subsystem (A, N, S) : a a CPU [CPU7] Controller (Y, N) : y y Display [DISP7] Controller (Y, N) : n n Ring [RING7B] Controller (Y, N) : n n Ether [ETHER7] Controller (Y, N) : n n Serial Controller [SCAT7] Controller (Y, N) : n n Token Ring [ITR7] Controller (Y, N) : n n Pcc [PCC7] Controller (Y, N) : n n Winchester Disk [WIN7B] Subsystem (A, N, S) : a a Floppy Disk [FLP7] Subsystem (A, N, S) : n n Cartridge Tape [CTAPE7B] Subsystem (A, N, S) : n n Magnetic Tape [MAGTAPE7] Subsystem (A, N, S) : n n 8mm Tape [VTAPE7] Subsystem (A, N, S) : n n Floating Point Unit [FPU5] Controller (Y, N) : y y Floating Point Accelerator [FPA7] Controller (Y, N) : n n FRU's to be tested: ---------------------- MEM (Board 0, Board 1) CPU WIN7B (Controller, Drive 0, Drive 1, Drive 2, Drive 3) FPU FRU's not to be tested: ---------------------- DISP7 RING7B ETHER SCAT ITR PCC FLP (Controller, Drive) CTAPE7B (Controller, Drive) MAGTAPE (Controller, Drive) VTAPE (Controller, Drive) FPA Is this okay (Y, N) : y y Number of passes (0= infinite) <1>: 1 1 File "MEM.DEX": $4454 bytes loaded at $1040800 Module: MEM.DEX, Rev 4.1 : Built August 4, 1988 2:10:30 pm (EDT) Description: Memory Diagnostic Entering "MEM.DEX.1" %Warning: Cannot test range $01000000 to $010013FF - (MEM.DEX/MCR) %Warning: Cannot test range $01001400 to $01044FFF - (MEM.DEX/MCR) Test 99: DATA RAM STUCK-AT FAULTS TEST testing address 01045000 to 013FFFFF ............... testing address 01400000 to 017FFFFF ................ Test 109: DATA RAM COUPLING FAULTS TEST testing address 01045000 to 013FFFFF ............... testing address 01400000 to 017FFFFF ................ Test 130: DATA RAM Intensive Memory Test testing address 01045000 to 013FFFFF Binary Tree Test ............... testing address 01400000 to 017FFFFF Binary Tree Test ................ Test 140: PARITY CHECKER TEST Testing that parity error status bits can be set and cleared Testing patterns on parity check circuits Testing the Failing Address Register Testing parity trap will occur Test 141: PARITY RAM STUCK-AT FAULTS TEST testing address 01045000 to 013FFFFF ............... testing address 01400000 to 017FFFFF ................ Test 142: PARITY RAM COUPLING FAULTS TEST testing address 01045000 to 013FFFFF ............... testing address 01400000 to 017FFFFF ................ Test 150: REFRESH TEST This test will appear to stop, this is normal, please wait.... testing address 01045000 to 013FFFFF Refresh Test ............... testing address 01400000 to 017FFFFF Refresh Test ................ File "CPU.DEX": $265E8 bytes loaded at $1040800 Module: CPU.DEX, Rev 2.92 : Built April 2, 1991 2:20:34 pm (EDT) Description: CPU Diagnostic Entering "CPU.DEX.1" Test 10: Node ID Checksum Test 100: Interrupt Controller tests Testing Programmable Interrupt Controller 1 IMR data patterns. Testing Programmable Interrupt Controller 2 IMR data patterns. Poll PICs with all IRQ inputs masked. Test for no interrupts with all IRQ inputs masked. Poll PICs with IRQ13 low. Poll PICs with IRQ13 high. Test for interrupt with IRQ13 input set. Test that PIC interrupts will reset. Test 200: Timer tests Testing interval timer 1. Testing interval timer 2. Testing interval timer 3. Test 300: SIO port 1 and 2 register pattern test Mode register B pattern test Sio chip 1. Test 301: SIO RS232 port 1 test RS232 serial port data internal loopback. Test 302: SIO keyboard port test Keyboard port serial data internal loopback. Keyboard port to keyboard serial data loopback. ***SIO took too long to receive a characer. ***SIO took too long to receive a characer. ******************************************************************************** ?Error: (CPU.DEX/Test 302) SIO keyboard port test, Rev 2.92 Pass 1 December 4, 1996 03:48:53 (CUT ) During SIO keyboard receive first response character after disabling keyboard loopback mode. Primary FRU: CPU ******************************************************************************** Tim's note: The failure above was due to the DSP3500 not having a keyboard, and not having the self-test loopback connector in place. It is normal to fail. Just type "N" for "next" to keep going. Continue, Next, Repeat, Abort or Loop (C, N, R, A, L) : n n Test 303: SIO port 2 and 3 Register Test Mode register B pattern test SIO chip 2. Test 304: SIO RS232 port 2 test RS232 serial port data internal loopback Channel C. Test 305: SIO RS232 port 3 test RS232 serial port data internal loopback Channel D. Test 400: Calendar tests Test calendar is updating. Test calendar data patterns. Test calendar address uniqueness. Test calendar time incrementing. Test 518: Memory Data Bus test The test is a memory bus test and assumes known good memory Test 519: Memory Address Bus tests The test is a memory bus test and assumes known good memory Test 520: PMMU SRP data pattern test Test PMMU data paths. Test 522: PMMU tests Test instruction execution with PMMU enabled. Test 524: PMMU tests Test PMMU region tables can be indexed correctly by VA25-VA21. Test PMMU segment tables can be indexed correctly by VA20-VA15. Test PMMU page tables can be indexed correctly by VA14-VA10. Test 526: PMMU tests Test PMMU table walks can occur over a full range of physical addresses. Test 528: PMMU tests Test PMMU Supervisor protection bus error generation. Test PMMU allows writes to a write enabled page. Test PMMU does not allow writes to a write protected segment. Test 530: PMMU tests Test PMMU PMAPe U and M statistics bits during a read. Test 600: DMA I/O map pattern test testing address 00017000 to 000177FC WORD transfers using Test Data = 0000 using Test Data = AAAA using Test Data = 5555 using Test Data = FFFF using Test Data = 0001 using Test Data = 0002 using Test Data = 0004 using Test Data = 0008 using Test Data = 0010 using Test Data = 0020 using Test Data = 0040 using Test Data = 0080 using Test Data = 0100 using Test Data = 0200 using Test Data = 0400 . testing address 00017000 to 000177FC WORD transfers using Test Data = 0800 using Test Data = 1000 using Test Data = 2000 using Test Data = 4000 using Test Data = 8000 . testing address 00017000 to 000177FC USING THE ADDRESS AS DATA . USING THE ADDRESS COMPLEMENT AS DATA . Test 601: DMA CA and WC register pattern test DMA 1 CA and WC register address uniqueness test. DMA 2 CA and WC register address uniqueness test. Test 602: DMA 2 mem-to-mem pattern test Test 603: DMA 2 mem-to-mem address test Test 604: DMA 1 mem-to-mem pattern test Test 605: DMA 1 mem-to-mem address test Test 606: DMA I/O map addressing and pattern test Testing address as data in I/O map during dma. Testing a rippling 1 through a field of zeros in I/O map during dma. Test 607: Bus DMA request independence test DMA BUS tests not executed no bus tester. Test 608: Bus byte DMA memory-to-device data pattern test DMA BUS tests not executed no bus tester. Test 609: Bus byte DMA memory-to-device parity error generation test DMA BUS tests not executed no bus tester. Test 610: Bus byte DMA device-to-memory data pattern test DMA BUS tests not executed no bus tester. Test 611: Bus DMA device-to-memory byte steering test DMA BUS tests not executed no bus tester. Test 612: Bus word DMA device-to-memory data pattern test DMA BUS tests not executed no bus tester. Test 613: Bus word DMA memory-to-device data pattern test DMA BUS tests not executed no bus tester. Test 614: Bus DMA device-to-memory word steering test DMA BUS tests not executed no bus tester. Test 615: Bus 1k byte DMA channel 0-3 device-to-memory test DMA BUS tests not executed no bus tester. Test 616: Bus 512 word DMA channel 5-7 device-to-memory test DMA BUS tests not executed no bus tester. Test 700: Basic Bus Tests Bus Tester not in place - no tests run. Test 702: I/O Read/Write Bytes and Words Bus Tester not in place - no tests run. Test 704: Memory Read Bytes and Words Bus Tester not in place - no tests run. Test 706: Memory Write Bytes and Word Bus Tester not in place - no tests run. Test 708: S Memory Read/Write bytes Bus Tester not in place - no tests run. Test 712: Test Bus OSC signal for correct frequency Bus Tester not in place - no tests run. Test 714: Verify bus IO_CH_CK signal Bus Tester not in place - no tests run. Test 716: Bus mastership 6 word DMA memory/device tests Bus Tester not in place - no tests run. Test 718: Bus mastership 6 word DMA (display memory)/device tests Bus Tester not in place - no tests run. Test 720: External master portion of the address map Test Bus Tester not in place - no tests run. Test 722: Bus mastership demand 6 word DMA device-to-memory test Bus Tester not in place - no tests run. Test 724: Bus mastership demand priority encoding DMA device-to-memory test Bus Tester not in place - no tests run. Test 726: Testing parity logic during bus mastership in demand mode Bus Tester not in place - no tests run. Test 800: Data Cache Memory Test test not valid for this cpu. Test 801: Data Cache Condition Code Memory Test test not valid for this cpu. Test 802: Cache Longword Read Test test not valid for this cpu. Test 803: Cache Longword Write Test test not valid for this cpu. Test 804: Cache byte, word and long Write Test test not valid for this cpu. Test 805: Condition Code Generation Test test not valid for this cpu. Test 806: Conditon Code Checker Test test not valid for this cpu. Test 807: Tag Comparitor Test test not valid for this cpu. Test 808: Flush Tag Test test not valid for this cpu. Test 820: Pcache Tag Store Memory Test test not valid for this cpu. Test 821: Pcache Tag Store Uniqueness Test test not valid for this cpu. Test 822: Pcache Data Store Memory Test test not valid for this cpu. Test 823: Pcache Data Store Uniqueness Test test not valid for this cpu. Test 824: Pcache Data Coupling Test test not valid for this cpu. Test 825: I/O Space Uncachability Test test not valid for this cpu. Test 826: Pcache Fill Test test not valid for this cpu. Test 827: Pcache Read Test test not valid for this cpu. Test 828: Pcache Write Test test not valid for this cpu. Test 829: Pcache Tag Compare Test test not valid for this cpu. Test 830: Pcache Parity Test test not valid for this cpu. Test 831: Pcache Invalidator Test test not valid for this cpu. Test 832: Pcache Active Memory Test test not valid for this cpu. Test 900: CGI self test CGI BUS tests not executed no CGI bus tester. Test 901: CGI non-buffered mode tests CGI BUS tests not executed no CGI bus tester. Test 902: CGI buffered mode tests CGI BUS tests not executed no CGI bus tester. Test 903: CGI misc. tests CGI BUS tests not executed no CGI bus tester. Test 904: HSI self test HSI BUS tests not executed no HSI bus tester. Test 905: HSI non-buffered mode tests HSI BUS tests not executed no HSI bus tester. Test 906: HSI buffered mode tests HSI BUS tests not executed no HSI bus tester. Test 907: HSI misc. tests HSI BUS tests not executed no HSI bus tester. File "WIN7B.DEX": $11F10 bytes loaded at $1040800 Module: WIN7B.DEX, Rev 3.0 : Built June 8, 1989 3:47:38 pm (EDT) Description: Winchester Disk Diagnostic File "WIN7B.DRVR": $9598 bytes loaded at $1052800 Entering "WIN7B.DEX.1" --DISK PARAMETERS-- Controller: 0 Drive: 0 Starting Cylinder: 1220 Ending Cylinder: 1221 Write Pattern: WORSTCASE (4E65) Skip Badspots: TRUE Write Protect: FALSE CONTROLLER 0, DRIVE 0 CONTAINS AN APOLLO FILESYSTEM Western Digital 7000V Disk Controller 0 Drive 0 has 1222 Cylinders, 15 Heads, and 18 Sectors. Test 10: Controller Diagnostic Test Test 100: Controller Interrupt Test Test 110: Recalibrate Test Test 120: Format Disk Test 130: Forward Seek Test Test 140: Hour-Glass Seek Test Test 150: Read Test Test 160: Random Seek-Read Test Test 170: Read Disk Test Test 180: Write Test Test 190: Write/Read/Verify Disk Test Test 200: Force Seek Error Test Test 210: Illegal Command Test Test 220: Force ECC Error Test Test 230: Implict Read Test Test 240: Implict Write Verify Test Module: WIN7B.DEX, Rev 3.0 : Built June 8, 1989 3:47:38 pm (EDT) Description: Winchester Disk Diagnostic Entering "WIN7B.DEX.2" --DISK PARAMETERS-- Controller: 0 Drive: 1 Write Pattern: WORSTCASE (4E65) Skip Badspots: TRUE Write Protect: FALSE Western Digital 7000V Disk Controller 0 Drive 0 has 1222 Cylinders, 15 Heads, and 18 Sectors. Test 10: Controller Diagnostic Test Test 100: Controller Interrupt Test Test 110: Recalibrate Test Test 120: Format Disk Test 130: Forward Seek Test Test 140: Hour-Glass Seek Test Test 150: Read Test Test 160: Random Seek-Read Test Test 170: Read Disk Test Test 180: Write Test Test 190: Write/Read/Verify Disk Test Test 200: Force Seek Error Test Test 210: Illegal Command Test Test 220: Force ECC Error Test Test 230: Implict Read Test Test 240: Implict Write Verify Test Module: WIN7B.DEX, Rev 3.0 : Built June 8, 1989 3:47:38 pm (EDT) Description: Winchester Disk Diagnostic Entering "WIN7B.DEX.3" --DISK PARAMETERS-- Controller: 0 Drive: 2 Write Pattern: WORSTCASE (4E65) Skip Badspots: TRUE Write Protect: FALSE Western Digital 7000V Disk Controller 0 Drive 0 has 1222 Cylinders, 15 Heads, and 18 Sectors. Test 10: Controller Diagnostic Test Test 100: Controller Interrupt Test Test 110: Recalibrate Test Test 120: Format Disk Test 130: Forward Seek Test Test 140: Hour-Glass Seek Test Test 150: Read Test Test 160: Random Seek-Read Test Test 170: Read Disk Test Test 180: Write Test Test 190: Write/Read/Verify Disk Test Test 200: Force Seek Error Test Test 210: Illegal Command Test Test 220: Force ECC Error Test Test 230: Implict Read Test Test 240: Implict Write Verify Test Module: WIN7B.DEX, Rev 3.0 : Built June 8, 1989 3:47:38 pm (EDT) Description: Winchester Disk Diagnostic Entering "WIN7B.DEX.4" --DISK PARAMETERS-- Controller: 0 Drive: 3 Write Pattern: WORSTCASE (4E65) Skip Badspots: TRUE Write Protect: FALSE Western Digital 7000V Disk Controller 0 Drive 0 has 1222 Cylinders, 15 Heads, and 18 Sectors. Test 10: Controller Diagnostic Test Test 100: Controller Interrupt Test Test 110: Recalibrate Test Test 120: Format Disk Test 130: Forward Seek Test Test 140: Hour-Glass Seek Test Test 150: Read Test Test 160: Random Seek-Read Test Test 170: Read Disk Test Test 180: Write Test Test 190: Write/Read/Verify Disk Test Test 200: Force Seek Error Test Test 210: Illegal Command Test Test 220: Force ECC Error Test Test 230: Implict Read Test Test 240: Implict Write Verify Test File "FPU.DEX": $1A990 bytes loaded at $105C000 Module: FPU.DEX, Rev 2.2 : Built August 1, 1988 5:56:16 pm (EDT) Description: FPU Diagnostic Entering "FPU.DEX.1" Test 1: Status/Control Register Test 2: General Instruction 0 instructions tested. 100 instructions tested. 200 instructions tested. 300 instructions tested. 400 instructions tested. 500 instructions tested. 600 instructions tested. 700 instructions tested. 800 instructions tested. 900 instructions tested. 1000 instructions tested. 1100 instructions tested. 1200 instructions tested. 1300 instructions tested. 1400 instructions tested. 1500 instructions tested. 1600 instructions tested. 1700 instructions tested. 1800 instructions tested. 1900 instructions tested. 2000 instructions tested. 2100 instructions tested. End of Pass 1: 1 Errors, 0 Soft Errors, 0 Warnings Error Summary ------------- Group FRU #1 Error Detected Nbr FRU #2 Count Severity By ----- ------ ----- -------- -------- 1 CPU 1 HARD CPU.DEX none 0 soft errors 1 hard errors 1 entries in error log DEX> quit quit Use >"G 1003000" to Restart DEX, >"G 1003004" to Reenter - Exiting DEX (Exec/Quit Cmd) S 10049AE 2704 BC 1DAEr4: 4E4F >