Installing and Testing Asynchronous DECnet over DDCMP between two MicroVAX Computers

From Computer History Wiki
Jump to: navigation, search

Asynchronous DECnet over DDCMP has got a nice nickname: "Poor man's DECnet". The reason for this is that it only requires a standard serial interface instead of an expensive network adapter - the price for the software license, however, is the same.

The advantage of this method is that network connections can be established over long distances using modems; the disadvantage is the relatively low speed of a maximum of 19800 baud.

These instructions work on all VAX and MicroVAX computers running VMS V4.x, V5.x, and V6.x and DECnet Phase IV. DECnet Phase V, VMS V7.x and newer as well as VMS/Alpha and VMS/X86 may also work, but have not been tested.

ULTRIX does not support DECnet over asynchronous DDCMP.

Both SIMH VAXen and real VAXen can be connected, and connecting a simh VAX to a real one isn't a problem either.

There are three different ways to configure DDCMP asynchronous DECnet:

  • Static asynchronous DECnet
  • Dialup static asynchronous DECnet
  • Dynamic asynchronous DECnet

For simplicity I choose "static asynchronous DECnet" here, for the other methods see the Recommended Reading below.

I will use two MicroVAX I computers running MicroVMS V4.0 here.

For the first one rename the SIMH executable microvax1 (resp microvax1.exe) to microvax1-1 (resp microvax1-1.exe); for the second one to microvax1-2 (resp microvax1-2.exe).

Install MicroVMS V4.0 on the first MicroVAX I

Install MicroVMS V4.0 on the first MicroVAX I using this instructions.

Use the following ini file for the first MicroVAX I:

; ================================================
; microvax1-1.ini
; ================================================
;
; KD32 CPU
; 2 MSV11-QA = 2MB Memory (or 4 MSV11-PL)
; DZV11 Four-Channel Asynchronous Serial Interface
; RQDX1 Floppy/Fixed Disk Controller
; RX50 400KB 5.25" Dual Floppy Drive
; RD52 31MB 5.25" Fixed Disk

SET QUIET

SET CONSOLE LOG=uVMS-1_001.log

SET CPU IDLE=VMS

; Uncomment the next line if you want a more realistic MicroVAX I speed
;SET THROTTLE 300K

SET CPU 2M
SET RQ0 RD52
att rq0 uVMS040-1.R52
SET RQ1 RX50
ATT RQ1 BL-B012B-BE.dsk
SET RQ2 RX50

SET RQ3 DISABLE 

SET DZ ENABLE
SET DZ LINES=4
; We'll be using the first serial port (LINE=0) for DECnet.
ATT DZ LINE=0,44012,CONNECT=127.0.0.1:44021

SET LPT DIS
SET RL DIS
SET TS DIS

SET XQ ENA
SET XQ TYPE=DEQNA

BOOT RQ0

Prepare for asynchronous DECnet

Invoke the EDT text editor to add the following commands to your SYSTARTUP.COM file:

$ RUN SYS$SYSTEM:SYSGEN
CONNECT NOA0/NOADAPTER
EXIT
$ SET TERMINAL/EIGHTBIT/PROTOCOL=DDCMP/PERM TTA0:

TTA0: is the name of the terminal port that is connected to the line that you want to make a static asynchronous DECnet-VAX line.
The SET TERMINAL command switches the terminal line to static asynchronous DECnet-VAX. If more than one terminal is attached to your MicroVMS system, you must add a SET TERMINAL command for each terminal that will be used for sta­tic asynchronous DECnet-VAX.

Execute the SYSTARTUP.COM command procedure by entering the following command:

$ @SYS$MANAGER:SYSTARTUP

If you type an error in one of the commands in the first step, SYSGEN does not connect the NOA0/NOADAPTER and you see the following error message when you execute the SYSTARTUP.COM command procedure:

% SYSTEM-W-NOSUCHDEV, no such device available

Configure DECnet

 $ @netconfig

        DECnet-VAX network configuration procedure

This procedure will help you define the parameters needed to get DECnet 
running on this machine.  You will be shown the changes before they are 
executed, in case you wish to perform them manually.


What do you want your DECnet node name to be?               : UVAX1

What do you want your DECnet address to be?                 : 1.11

Do you want to operate as a router?        [NO (nonrouting)]: 

Do you want a default DECnet account?                  [YES]: 

        Here are the commands necessary to setup your system.

--------------------------------------------------------------------------
$ RUN SYS$SYSTEM:NCP
    PURGE EXECUTOR ALL
    PURGE KNOWN LINES ALL
    PURGE KNOWN CIRCUITS ALL
    PURGE KNOWN LOGGING ALL
    PURGE KNOWN OBJECTS ALL
    PURGE MODULE CONFIGURATOR KNOWN CIRCUITS ALL
$ DEFINE/USER SYS$OUTPUT NL:
$ DEFINE/USER SYS$ERROR NL:
$ RUN SYS$SYSTEM:NCP    ! Remove existing entry, if any
    PURGE NODE 1.11 ALL
    PURGE NODE UVAX1 ALL
$ RUN SYS$SYSTEM:NCP
    DEFINE EXECUTOR ADDRESS 1.11 STATE ON
    DEFINE EXECUTOR NAME UVAX1
    DEFINE EXECUTOR MAXIMUM ADDRESS 255
    DEFINE EXECUTOR TYPE NONROUTING IV
    DEFINE EXECUTOR NONPRIVILEGED USER DECNET
    DEFINE EXECUTOR NONPRIVILEGED PASSWORD DECNET
$ DEFINE/USER SYSUAF SYS$SYSTEM:SYSUAF.DAT
$ RUN SYS$SYSTEM:AUTHORIZE
    ADD DECNET /OWNER="DECNET DEFAULT" -
        /PASSWORD=DECNET -
Press RETURN to continue


        /UIC=[376,376] /ACCOUNT=DECNET -
        /DEVICE=SYS$SYSDEVICE: /DIRECTORY=[DECNET] -
        /PRIVILEGE=(TMPMBX,NETMBX) -
        /FLAGS=(CAPTIVE) /LGICMD=NL: -
        /NOBATCH /NOINTERACTIVE 
$ CREATE/DIRECTORY SYS$SYSDEVICE:[DECNET] /OWNER=[376,376]
$ RUN SYS$SYSTEM:NCP
    DEFINE LOGGING MONITOR STATE ON
    DEFINE LOGGING MONITOR EVENTS 0.0-9
    DEFINE LOGGING MONITOR EVENTS 2.0-1
    DEFINE LOGGING MONITOR EVENTS 4.2-13,15-16,18-19
    DEFINE LOGGING MONITOR EVENTS 5.0-18
    DEFINE LOGGING MONITOR EVENTS 128.0-4
--------------------------------------------------------------------------

WARNING: no lines have been defined.

Do you want to go ahead and do it? [YES]: 

%NCP-I-NMLRSP, listener response - Success 
Executor node = 1.11 (UVAX1)
%NML-I-RECDELET, Database entry deleted
%NCP-I-NMLRSP, listener response - Success 
Logging sink type = monitor
%NML-I-RECDELET, Database entry deleted
%NCP-I-NMLRSP, listener response - Success 
Logging sink type = monitor
%NML-I-RECADDED, Database entry added

The changes have been made.

If you have not already installed the DECnet-VAX license, then do so now.

After the license has been installed, you should invoke the procedure
SYS$MANAGER:STARTNET.COM to startup DECnet-VAX with these changes.


(If the license is already installed) Do you want DECnet started? [YES]: 

%RUN-S-PROC_ID, identification of created process is 00000019
%RUN-S-PROC_ID, identification of created process is 0000001B

After running the NETCONFIG.COM command procedure and before starting the network, run the Network Control Program (NCP) by entering the following commands:

$ RUN SYS$SYSTEM:NCP
NCP> DEFINE LINE dev-c-u STATE ON RECEIVE BUFFERS 4
NCP> DEFINE CIRCUIT dev-c-u STATE ON
NCP> EXIT

where:

  • dev is the first two letters of the device name. Possible values for dev are TT and TX.
  • c is a decimal number(0 or a positive integer) designating a device’s hardware controller. If the third letter of the device name is A, c equals 0. If the third letter of the device name is B, c equals 1, and so on.
  • u is the unit number of the device name; u is always equal to 0 or a positive integer.
  • baud-rate is the speed at which the line sends and receives data.

There are two common types of asynchronous serial adapters:

For example, to use a device named TTA0 at 9600 baud, run NCP and enter the following commands:

$ RUN SYS$SYSTEM:NCP
NCP> DEFINE LINE TT-0-0 STATE ON RECEIVE BUFFERS 4
NCP> DEFINE CIRCUIT TT-0-0 STATE ON
NCP> EXIT

Start DECnet

$ @SYS$MANAGER:STARTNET

Shutdown first MicroVAX I

 $ SHUTDOWN


        SHUTDOWN -- Perform an Orderly System Shutdown


%SHUTDOWN-I-OPERATOR, This terminal is now an operator's console.
%SHUTDOWN-I-DISLOGINS, Interactive logins will now be disabled.
%SET-I-INTSET, login interactive limit = 0, current interactive value = 1
%SHUTDOWN-I-SHUTNET, The DECnet network will now be shut down.
%SHUTDOWN-I-STOPQUEMAN, The queue manager will now be stopped.

SHUTDOWN message on UVAX1 from user SYSTEM at _OPA0:   12:00:19
UVAX1 will shut down in 0 minutes; back up LATER.  Please log off node UVAX1.
SHUTDOWN

1 terminal has been notified on UVAX1.

%SHUTDOWN-I-STOPUSER, All user processes will now be stopped.
%SHUTDOWN-I-REMOVE, All installed images will now be removed.
%SHUTDOWN-I-DISMOUNT, All volumes will now be dismounted.

  
        SYSTEM SHUTDOWN COMPLETE - USE CONSOLE TO HALT SYSTEM
  
Infinite loop, PC: 80008D7E (BRB 80008D7E)
sim> exit
Goodbye
Log file closed


Prepare the second MicroVAX I

Copy the RD52 image of the first MicroVAX I for the second MicroVAX I using its new name uVMS040-2.R52

Use the following ini file for the second MicroVAX I:

; ================================================
; microvax1-2.ini
; ================================================
;
; KD32]] CPU
; 2 MSV11-Q|MSV11-QA = 2MB Memory (or 4 MSV11-PL)
; DZV11 Four-Channel Asynchronous Serial Interface
; RQDX1 Floppy/Fixed Disk Controller
; RX50 400KB 5.25" Dual Floppy Drive
; RD52 31MB 5.25" Fixed Disk

SET QUIET

SET CONSOLE LOG=uVMS-2_001.log

SET CPU IDLE=VMS

; Uncomment the next line if you want a more realistic MicroVAX I speed
;SET THROTTLE 300K

SET CPU 2M
SET RQ0 RD52
ATT RQ0 uVMS040-2.R52
SET RQ1 RX50
ATT RQ1 BL-B012B-BE.dsk
SET RQ2 RX50

SET RQ3 DISABLE 

SET DZ ENABLE
SET DZ LINES=4
; We'll be using the first serial port (LINE=0) for DECnet.
ATT DZ LINE=0,44021,CONNECT=127.0.0.1:44012

SET LPT DIS
SET RL DIS
SET TS DIS

SET XQ ENA
SET XQ TYPE=DEQNA

BOOT RQ0


Configure DECnet on the second MicroVAX I

Boot second MicroVAX I and log in as SYSTEM.

Shutdown DECnet.

$ MC NCP SET EXEC STATE SHUT

Configure DECnet

$ @netconfig

Configure serial line TTA0: from DCL and network line LINE TT-0-0 from NCP as you did for the MicroVAX I.

Monitoring DECnet

Display state of asynchronous DDCMP serial interface TTA0:

$ SHOW DEVICE TTA0: /FULL

Terminal TTA0:, device type unknown, is online, record-oriented device, carriage
    control, network device.

    Error count                    0    Operations completed              12297
    Owner process           "NETACP"    Owner UIC                      [SYSTEM]
    Owner process ID        00000026    Dev Prot                               
    Reference count                2    Default buffer size                 576

$ 

List DECnet lines

$ MC NCP SHOW KNOWN LINES
 
 
Known Line Volatile Summary as of 30-AUG-2025 08:52:16
 
   Line             State
 
  TT-0-0            on
$ 

Display DDCMP DECnet line TT-0-0

$ MC NCP SHOW LINE TT-0-0 CHAR
 
 
Line Volatile Characteristics as of 30-AUG-2025 08:52:34
 
Line = TT-0-0
 
Receive buffers          = 4
Controller               = normal
Duplex                   = full
Protocol                 = DDCMP point
Retransmit timer         = 3000

 
$ 

Display local DECnet node UVAX1 counters

$ MC NCP SHOW NODE UVAX2 COUNTERS
 
 
Node Counters as of 30-AUG-2025 08:50:38
 
Executor node = 1.12 (UVAX2)
 
      >65534  Seconds since last zeroed
         253  Bytes received
         250  Bytes sent
          28  Messages received
          29  Messages sent
           1  Connects received
           1  Connects sent
           0  Response timeouts
           0  Received connect resource errors
           4  Maximum logical links active
           0  Aged packet loss
           0  Node unreachable packet loss
           0  Node out-of-range packet loss
           0  Oversized packet loss
           0  Packet format error
           0  Partial routing update loss
           0  Verification reject

 
$ 

Display remote DECnet node UVAX1 counters

$ MC NCP SHOW NODE UVAX1 COUNTERS
 
 
Node Counters as of 30-AUG-2025 08:50:18
 
Remote node =   1.11 (UVAX1)
 
      >65534  Seconds since last zeroed
         561  Bytes received
        5863  Bytes sent
        2367  Messages received
        2359  Messages sent
           2  Connects received
           0  Connects sent
          19  Response timeouts
           0  Received connect resource errors

 
$ 

List DECnet links

$ MC NCP SHOW KNOWN LINKS
 
 
Known Link Volatile Summary as of 30-AUG-2025 08:51:19
 
   Link       Node           PID     Process     Remote link  Remote user
 
  4       1.11 (UVAX1)     00000029  REMACP                2  SYSTEM
$ 

Display DECnet link 4

$ MC NCP SHOW LINK 4 CHAR
 
 
Link Volatile Characteristics as of 30-AUG-2025 08:51:54
 
Link = 4
 
State                    = run
PID                      = 00000029
Remote node              =  1.11 (UVAX1)
Delay time               = 1
Remote link              = 2
Remote user              = SYSTEM
Username                 = SYSTEM
Process name             = REMACP

 
$ 

References

See also

Related VMS Manuals

Recommended Reading

External links