VAX Diagnostic Supervisor

From Computer History Wiki
Revision as of 17:21, 28 August 2024 by Vaxorcist (talk | contribs) (External links: Added Category: VAX Diagnostic Software)
Jump to: navigation, search

VDS - VAX Diagnostic Supervisor (sometimes abbreviated to VAX/DS) is a set of diagnostic software programs for the DEC VAX computers and peripheral devices.

Intro

"At best, a computer is as good as its diagnostic tools!"

That's what they must have thought at DEC when they developed their diagnostic software.

Here we will take a closer look at the VAX Diagnostic Supervisor and also a quick side look at the User Environment Test Package (UETP).

Using VDS for simulated VAX Computers

You may ask: "What are the VAX diagnostics good for when run on a simulated VAX?"

Yes, many diagnostics do not run on a simulated VAX, but some work very well and are used e.g. for testing the various SIMH VAX simulators for correct execution of the VAX native mode instructions.

Furthermore you can explore how precise the simulation mimics the real hardware.

If you plan to test your real VAX, you can familiarize yourself with VDS and prepare your diagnosis in SIMH, and SIMH can assist you in preparing and creating a diagnostic kit on media appropriate for your VAX.

Automated testing script for a SIMH VAX-11/750:

SET CLOCK NOCALIBRATE=600K
ATTACH -RQ RQ0 VAX_MINIMUM_DIAGS.dsk
EXPECT "DS> " SEND "ATTACH UDA50 DW0 DUA 772150 154 5 10\r"; GO -Q
EXPECT "DS> " SEND "ATTACH RA81 DUA DUA0\r"; GO -Q
EXPECT "DS> " SEND "ATTACH KA750 CMI KA0 yes yes yes 0 0\r"; GO -Q
EXPECT "DS> " SEND "ATTACH DW750 CMI DW0 8\r"; GO -Q
EXPECT "DS> " SEND "SET LOAD DUA0:[SYSMAINT]\r"; GO -Q
EXPECT "DS> " SEND "SELECT KA0\r"; GO -Q
EXPECT "DS> " SEND "SET FLAGS TRACE\r"; GO -Q
EXPECT "DS> " SEND "RUN EVKAB\r"; GO -Q
BOOT -Q RQ0 /R5:10

VDS History

VDS development began in parallel that to the first VAX model, the VAX-11/780 in 1977.

VDS was provided soley for the "big VAXen" (i.e. not for the MicroVAX and VAXstation computers), with one remarkable exception, the MicroVAX I, resp. VAXstation I. Each new VAX model received its CPU-specific VDS modules up to the VAX 9000; only the VAX models of the last two series, VAX 7000 and VAX 10000, were covered by other diagnostic methods.

Program Levels

All VAX diagnostic programs are assigned to a level. Levels are numbered 1, 2R, 2, 3, 4, and 5. A program’s level indicates its run-time environment.

  • Level 1 diagnostic programs run under an operating system. They do not use the VAX/DS. (=> UETP)
  • Level 2R diagnostic programs run under VAX/DS in user mode only.
  • Level 2 diagnostic programs run in both user mode and standalone mode, under the control of the VAX/DS.
  • Level 3 diagnostic programs run only in standalone mode, under the control of the VAX/DS.
  • Level 4 diagnostic programs run in standalone without VAX/DS.
  • level 5 diagnostic programs run in WCS or system console, not in VAX main memory. They do not use the VAX/DS.

Only the levels 2R, 2, and 3 are managed by VDS.

Sections, Tests, Subtests, and Flags

All diagnostic programs that run under the VAX/DS are composed of one or more sections. Each section has a name, and it is possible to specify, by name, which section of the program to execute. A program section can have one of two functions, depending on its design:

  • Test a certain major portion of the unit under test.
  • Facilitate a certain mode of testing. For example, there might be a quick-verify section, used to give the device a quick (but not thorough) test.

In order to determine the number and names of the sections in a particular diagnostic program, use the SHOW SECTIONS command. However, every program contains a default section called DEFAULT, which will execute automatically if you do not specifically select a section. A section is selected with the /SECTION qualifier on the RUN or START command.

Each section is composed of a set of tests; each test verifies either a particular function of the hardware or a particular subset of the component logic being tested. The VAX/DS allows you to specify which tests within a section to run. Each test may have some subtests. Tests are selected with the /TEST qualifier on the RUN or START command.

Two sets of flags are provided to control certain aspects of a diagnostic program’s execution. These flags may be set or cleared before the diagnostic program is started.

One set of flags is called the VAX/DS control flags. The flags in this set are interpreted by the VAX/DS and their meanings are the same in all diagnostic programs. The VAX/DS control flags are set with the SET FLAGS command.

The other set of flags is referred to as the event flags. This set consists of 23 flags whose purposes are defined by the diagnostic programs. The user must read the documentation for specific diagnostic programs to determine if a definition has been assigned to any of the event flags. SET EVENT FLAGS command.

Some useful VDS commands

  • LOAD Exxxx Load diagnostic Exxxx (where "Exxxx" is replaced by the diagnostics name, e.g. EVKAA)
  • SHOW FLAGS Show VDS flags
  • SHOW TESTS Show the available tests of the loaded diagnostic
  • SHOW SECTIONS Show the available sections of the loaded diagnostic
  • START/TEST=first:last Start a subset of the loaded diagnostics tests (where "first" is the test number to start with, and -optionally- "last" is the last one to execute)
  • START/SECTION=section-name Start a single section of the loaded diagnostic (where "section-name" is the name of the section to run)
  • START/PASSES=count Start the loaded diagnostic for "count" passes (where "count" is the number of passes to execute)
  • RUN exxxx/TEST=first:last Run a subset of the diagnostics tests
  • RUN exxxx/SECTION=section-name Run a single section of the diagnostic
  • RUN exxxx/PASSES=count Run the diagnostic for "count" passes

Use a pass count of 0 to run a program continuously. If you do this, the program will run until you type CTRL/C or a failure occurs with the HALT flag set.

Diagnostic Program Documentation

Documentation provided for each diagnostic program includes:

  • Help file
The help file is referenced with the HELP command. It contains any operating instructions that may be unique to the diagnostic program. The help file for diagnostic program EVXYZ is EVXYZ.HLP; the help file for the VAX/DS is EVSAA.HLP
  • Documentation file
The documentation file provides a detailed description of a diagnostic program's function, run-time requirements, operating instructions, fault detection, and maintenance history, plus explanations of each test’s function and execution flow. The documentation file for diagnostic program EVXYZ is EVXYZ.DOC.
  • Source Code listings
Source code listings of the diagnostic programs are available. All VAX/DS diagnostic programs are structured in a standard format. For example, the initialization code for every diagnostic program is always located in the same relative area within the listing. To fully understand the source code listings of a VAX/DS diagnostic program, refer to the VAX Diagnostic Design Guide.

The help file for a diagnostic program is shipped with the diagnostic program. The documentation file and source codelistings are available by ordering a Maintenance Documentation Service Option on microfiche.

Diagnostic Scopes

There are two diagnostic scopes.

  • A CPU-specific scope: CPU Cluster Testing
  • A scope for the identical diagnostic programs for all types of VAX computers: Peripheral Diagnostics

CPU Cluster Testing

NOTE: The term "CPU cluster" used here means all components belonging to a CPU; there is no connection with the term "VAXcluster" (alternatively: "VMScluster").

The VAX CPU cluster is tested by a set of programs, existing at several program levels, as follows:

  • Level 5
    • Console tests
    • Processor tests
    • Memory tests
  • Level 4
    • VAX instruction set test (hardcore for VDS)
    • Cache and translation buffer tests (VAX-11/750 only)
  • Level 3
    • Memory tests (if no level 5 test possible)
    • Channel adapter tests
    • Cluster exerciser

NOTE: The term "Channel adapter" used here means bus adapter, e.g. for UNIBUS or MASSBUS.

This set of programs implements the VAX diagnostic strategy by providing a set of building blocks by which a system may be tested, starting with the level 5 basic processor tests and ending with the level 3 cluster exerciser, which is a program meant to exercise all components of the cluster.

Peripheral Diagnostics

Thorough testing of a peripheral device requires the development of three different diagnostic programs. For each device type the following will typically (but not necessarily) exist:

  • A level 3 logic test
  • A level 3 function test
  • A level 2R function test

This group of programs implements the diagnostic strategy by providing a facility for producing very accurate and detailed identifications of fault conditions via the level 3 programs and by also providing a method by which the device may be tested without bringing down the customer's operating system via the level 2R program.

The level 3 logic test will provide the greatest detail of error resolution, indicating which section of logic is failing. This program will be used by technicians to repair bad logic boards, and will provide very high test coverage. Some devices contain ROM-resident microprograms ("self-tests") that perform logic testing, making a level 3 logic test unnecessary.

The level 3 function test will provide a comprehensive test of all of the device’s functions. This program will be used to determine accurately whether or not a device is operating correctly. This is the definitive function test and provides very high test coverage. Level 3 function tests are usually required even if the device possesses self-testing capabilities, because self-tests generally are not capable of complete detection of function failures.

The level 2R program will typically consist of a subset of the level 3 function test. It will test as much of the device’s functionality as can be tested in the user (VMS) environment. The tests it contains are exact or approximate copies of tests existing in the level 3 program.

A typical sequence of use for these programs, when dealing with a system at a customer site, is as follows:

  1. The customer (or field service) suspects a fault existing in the device.
  2. The level 2R program is run to see if the error can be detected without stopping the operating system. If the error is found, go to step 4.
  3. If the level 2R program cannot identify the fault, the operating system is brought down and the level 3 function test is run.
  4. The fault is identified and the failing FRU is replaced. The operating system is then brought back up.
  5. The failing FRU is brought back to DIGITAL, where the level 3 logic test, the level 3 function test, or perhaps a module test station is used to identify the failing logic on the FRU. The FRU is repaired.

VAX Diagnostic Coding Convention

VAX diagnostic program names consist of 5 letters and a two-digit version number, e.g.: ECKAL-3.4:

  • E = VAX
  • C = 11/750
  • K = CPU
  • A = Supervisor
  • L = Unique identifier
  • 3 = Major revision
  • 4 = Minor Revision

See the following 1986 VAX Diagnostic Coding Convention Table for letter breakdown:

EPXYD-R.P

E = System

          E = VAX

P = Processor

          B = VAX 8200/8300
          D = VAX 8600
          S = VAX 11780
          T = VAX 11785
          C = VAX 11750
          N = VAX 11730 and 11725
          V = More than one VAX Processor

X = Device Category

          A = Application (CR, LP, A-D, Misc.)
          C = Channel Adaptors (MBA, UBA)
          D = Communication Devices (DMC, DZ11)
          G = CI Adapter
          K = CPU
          L = Database Files
          M = Magnetic Tape (TE, TU, DT)
          P = Test Equipment
          Q = QIO Device Driver
          R = Rotating Memory (RP, RK, RM, RS, RX)
          S = System Monitor (Supervisor, Tape Monitor)
          T = Terminal (LA36, VT52)
          U = Utilities (Script file, Copy, Update)
          W = Workstations
          X = System Exerciser (EXR/BUSINT)
          Z = Media Packages
        0-9 = Engineering File

Y = Device Type

        Category Application
                A = Line Printers, LP, LCP01
                B = Card Readers, CR
                L = LPA11-K
        Category Channel
                A = MBA
                B = UBA, DWBUA
                C = MA780
                D = IEC11, IEU11-A, DR70
                E = DT07
                F = DEC DATAWAY
                G = CI780
                H = CI750/CI780 MICROCODE VERIFICATION (INTERNAL)
                I = TEST BED ADAPTERS
                J = NBI ADAPTER
                K = CIBCI

        Category Communications
                A = DZ11,DZ32,DMZ32,DHU11,DMB32
                B = DMC
                C = Multiple Devices
                D = DR11-C
                E = DV11
                F = DR780,DF11-W
                G = DQS11
                H = KMC11-B
                I = KMS11-B
                J = DM11-BA
                K = DMS11-BA
                L = DMF32 Combo
                M = DMC11,DMR11,DMP11
                N = DN11
                O = CPI32
                P = PCL11
                R = DR11B,DR11-W,DRE11
                S = DRS11/DSS
                T = KCT32-A,FEPCM
                U = DUP11
                X = Multiple Devices
                W = UNA
                Y = DEBNT

        Category Database Files
                A = CRD DATABASE FILES
                B = SYSTEM EXERCISER DATABASE FILES

        Category Magnetic Tape
                A = TE16/77, TS11, TU78, TS05
                B = TU81,TU80

        Category QIO Device Drivers
                For this category, the fourth and fifth letters of the code are the device mnemonic.
                For example, EVQDB is the QIO device driver for the DB, or RP disk series.

        Category Test Equipment
                A = CI780 Node Tester
                B = NI Tester

        Category Rotating Memory
                A = Multiple devices
                B = RP04/5/6
                C = DCL/RP04/5/6
                D = RM03/RM05/RM80
                E = RK611,RK06,RK07
                F = RL02
                G = RM80
                H = RP07
                I = RX02
                J = ML11
                K = IDC
                L = UDA50(RA60,RA80,RA81)
                M = RC25 
                N = RUX50

        Category System Monitor
                A = Supervisor
                B = Autosizer
                C = DYDDM

        Category Terminals
                A = All Terminals
                B = Terminal exerciser
                C = VS11
                D = 11C03-LH Fastek
                G = VS70

        Category Utility
                A = Script File
                B = Copy Command file
                C = Updating file

        Category Workstation
                A = VS100
                
        Category Exerciser
                B = Exerciser  Bus Interaction

D = Fifth character makes the code unique.  A through Z and 1 through 9.

R = Revision (MAJOR)
P = Revision (MINOR)

Distribution of Diagnostic Programs

Typically, a VAX computer came with all the necessary diagnostic programs on console media at no additional charge, e.g.:

Additionally, you could buy larger collections of diagnostic programs on magnetic tape or removable disk packs.

Extended documentation was available on microfiche at an extra charge.

VMS User Enviroment Test Package (UETP)

From the very beginning of VMS V1.0 there was the User Enviroment Test Package (UETP), see: VAX/VMS UETP User’s Guide AA-D643A-TE

Quote from the first UETP manual:

"The UETP is a collection of tests designed to demonstrate that the hardware and software components of a VAX/VMS system are in working order. DIGITAL software support representatives run the UETP on a newly installed VAX/VMS system as the formal sample procedure."

UETP is still used in the latest version of VMS (V9.2-2 for x86 as of this writing).

See here for the latest VMS UETP manual.

ULTRIX System Exerciser Package

ULTRIX has got a very similar tool to verify proper hardware operation at the operating system level, the System Exerciser Package.

For the earliest reference found so far see the manual: ULTRIX-32 2.2 System Exercisers 1987 AA-KS95A-TE

The MIPS variants of ULTRIX include the System Exerciser Package, too.

Additional Diagnostic Tools

  • On-board ROM-based diagnostics (RBDs) / Self-tests
  • DUP for MSCP devices

CPU-specific Supervisors

  • EBSAA VAX 8200/8250/8300/8350 & VS8000 Diagnostic Supervisor
  • ECSAA VAX-11/750 DIAGNOSTIC SUPERVISOR
  • EDSAA VAX 8600/8650 Diagnostic Supervisor
  • EHSAA MicroVAX I VDS
  • EJSAA VAX 8820/8830/8840 Diagnostic Supervisor
  • ELSAA VAX 6210/6220/6230/6240/6310/6320/6330/6340/6350/6360 Diagnostic Supervisor
  • ENSAA VAX 725/730 Diagnostic Supervisor
  • ESSAA VAX 780/785 Diagnostic Supervisor
  • EXSAA ???
  • EZSAA VAX 8530/8550/8700/8800/8820N Diagnostic Supervisor
  • E?SAA VAX9000 Diagnostic Supervisor

There is no supervisor for the series of VAX 7000 / VAX 10000 computers (see: VAX 7000 Advanced Troubleshooting EK-7001A-TS-001)

Set of Diagnostics for a SV-BXTAA VAX-11/750 System

A SV-BXTAA VAX-11/750 System consists of:

The diagnostics set for this system is made of:

  • CPU-specific diagnostic main program
    • ECSAA VAX 11750 DIAG SUPERVISOR
  • VAX-common automatic sizing program which automatically determines the current system configuration
    • EVSBA VAX AUTOSIZER DIAGNOSTIC
  • Set of VAX-11/750 CPU diagnostics
    • ECKAA VAX 11750 UDIAG MON
    • ECKAB VAX 11750 MICRO DPM
    • ECKAC VAX 11750 MICRO MIC
    • ECKAD VAX FP750 MICRODIAG
    • ECKAF VAX KC750 UDIAG
    • ECKAL VAX 11750 CACHE/TB DIAG
    • ECKAM VAX 11750 MEMORY DIAG
    • ECKAX VAX 11750 CLUSTER EXER
  • VAX-common instruction set diagnostic
    • EVKAA VAX INSTRUCTION SET TEST
  • VAX-11/750 bus diagnostics
    • ECCAA VAX 11750 RH750 DIAG
    • ECCBA VAX 11750 UBI/DW750 DIAG
  • Set of VAX-common peripheral diagnostics
    • EVTAA VAX TERMINAL DIAGNOSTIC
    • EVTBA VAX TERMINAL EXERCISER
    • EVDAA VAX DZ11 8 LINE ASYNC MUX
    • EVMAA VAX TM03/TE16/TU45-77 Tape
    • EVRDA VAX RM03/RM05/RM80 DISKLESS
    • EVRDB VAX RM03/RM05 FUNCTIONAL TEST

Booting the VAX Diagnostic Supervisor

The command to boot the VAX Diagnostic Supervisor on a SIMH VAX is:

BOOT RQ0 /R5:10
  • RQ0 is the device identifier for the MSCP disk, unit 0, where the diagnostics are stored; adjust this according to your requirements.
  • /R5:10 is the boot flag to boot the Diagnostic Supervisor located in directory DUA0:[SYSMAINT] or DUA0:[SYS0.SYSMAINT].

For booting the VAX Diagnostic Supervisor on a real VAX refer chapter 2.1 of the "VAX DS Diagnostic Supervisor User's Guide" [1]

Sample run of the VDS EVSBA AUTOSIZER

DS> LOAD EVSBA.EXE
DS> SET FLAGS QUICK
DS> START /SECTION:MANUAL

.. Program: EVSBA - AUTOSIZER  LEVEL 3, revision 5.1, 3 tests,
   at 18:18:28.19.

COMMAND? HELP


  HELP

     This is a manual section command.  This program  creates  ATTACH
     commands for all devices in the system.
     (ATTACH,CHANGE,EXIT,HELP,LIST,READ,SIZE,WRITE) - These  commands
     control the sizer in manual and selftest mode.
     To obtain further information type HELP followed by a topic.
     For example;
     HELP MANUAL

  Additional information available:

  ATTACH         CHANGE         DEFAULT        DEVICE         EVENT          
  EXIT           HELP           LIST           MANUAL         QUICK          
  READ           SECTION        SELFTEST       SCRIPT         SIZE           
  SUMMARY        WRITE          

COMMAND? SIZE
COMMAND? LIST
FILE IN MEMORY 'CONFIG.COM'
!! AUTOMATIC SIZING PROGRAM.
!! THIS IS A TOOL AND NOT A DIAGNOSTIC PROGRAM.
!! CONFIGURATION FILE FOR SYSTEM.
!! COMPUTER GENERATED  CPU TYPE 2  MICROCODE REV LEVEL = 99 
!! NUMERIC VALUES WITH A LEADING ZERO ARE ASSIGNED.
!! FILE VALID ONLY FOR STANDARD HARDWARE CONFIGURATION.
!! TIME IS  15-FEB-1984 18:18:56.85 
!!
!! *** QUICK FLAG SET. NO CHECKS MADE FOR TERMINALS ON DZ11/DZ32'S ***
!!
!!
!! DEFINE PROCESSOR...
!!
DS> ATTACH KA750 HUB KA0 YES YES YES 027FF 0  
!!
!! DEFINE MEMORY...
!!
DS> ATTACH MS750 MS0 
!!
!! DEFINE UNIBUS ADAPTERS...
!!
DS> ATTACH DW750 HUB DW0  
!!
DS> ATTACH LP11 DW0 LPA 777514 0200 04  
DS> ATTACH LP25 LPA LPA0                !! *** PRINTER TYPE IS ESTIMATED ***
DS> ATTACH TS11 DW0 MSA0 772520 0224 05  
DS> ATTACH UDA50 DW0 DUA 772150 0154 05 02 
DS> ATTACH RA81 DUA DUA0  
DS> ATTACH RA60 DUA DJA2  
DS> ATTACH RX50 DUA DUA3  
DS> ATTACH DZ11 DW0 TTA 760100 0300 05 EIA 
DS> ATTACH DZ11 DW0 TTB 760110 0310 05 EIA 
DS> ATTACH DZ11 DW0 TTC 760120 0320 05 EIA 
DS> ATTACH DZ11 DW0 TTD 760130 0330 05 EIA 
COMMAND? WRITE
CONFIGURATION FILE IS NORMALLY READ/WRITTEN TO THE SUPERVISOR CONSOLE MEDIA
VERIFY SUPERVISOR CONSOLE MEDIA LOADED.
VERIFIED?  [(Yes), No] YES
COMMAND? EXIT
DS> 

See also

External links

This page contains condensed information from several DEC manuals, among others: