. NET-I (INCI) Users Manual ------------------------- Eckart Meyer Institut fuer Nachrichtentechnik TU Braunschweig, FRG March 1982 CONTENTS (a) 1.0 Introduction 2.0 Generation and Installation 2.1 Distributed files 2.2 System generation 2.3 System start 3.0 Using the system (some examples) 4.0 GTRDTM - GeT Remote Date and TiMe NET-I MK 4.2 PAGE 2 1.0 Introduction NET-I (INCI - IFN Computer Intercommunication) is a simple network for PDP11 computers running under RT11. It is ideal for sharing resources like backup floppy, magtape or line printer. It is easy to use and transparent to the user. NET-I currently uses standard serial lines (RS 232C) and is tested up to 9600 baud on a PDP11/03 and PDP11/23 link. NET-I works under RT11 V4.0 F/B. NET-I MK 4.2 PAGE 3 2.0 Generation and Installation 2.1 Distributed files - Documentation NETI.DOC Users Manual - Source files: CIDF.MAC Definition file CI12.MAC Conditional file for node 1 (example) CI21.MAC Conditional file for node 2 (example) CI.MAC Driver source CIROOT.MAC Root segment for spooler job CIPOLL.MAC Poll overlay " CISPOL.MAC Function execute overlay for spooler job SYSJOB.MAC Main control program for spooler job SYSJOB.OBJ - Command files: CIASM.COM assembly command file CILNK.COM link file for spooler job - prebuild system: CI12.SYS Driver for node 1 CI21.SYS Driver for node 2 CISP12.REL Spooler job for node 1 CISP21.REL Spooler job for node 2 CIAS12.COM assign file for node 1 (example) CIAS21.COM assign file for node 2 (example) NET-I MK 4.2 PAGE 4 - Program GTRDTM: GTRDTM.MAC GTRDTM.SAV GTRDTM.COM IOCO.OBJ IOCS I/O subroutine package library additionaly the following file is needed: SYCND.MAC RT11 SYSGENed option file. This file is not needed, if the RT11 FB baseline System (without system job support) is used. NET-I MK 4.2 PAGE 5 2.2 System generation You can use the prebuild system, if: - you have a FB monitor with(!) system job support, - the node numbers are node 1 and node 2, - the driver name is CI:. Continue with chapter 'System start'. The prebuild system is gen- erated with distributed CI12.MAC and CI21.MAC. For system generation all distributed (the prebuild system needs not) files must reside on the default device DK:. For generating one link you have to repeat the generation twice. First select a unique node number for each RT11 system. For each line select a unique two character device name for the line driver (e.g. 'CI' for the line between node 1 and 2, 'CJ' for the line between node 2 and 3). Now create the conditional files CIsd.MAC like the distributed examples CI12.MAC and CI21.MAC where 's' is the local node number and 'd' the remote. For each line two files have to be created. Insert the local (SNODE) and remote (DNODE) node number and the driver name in RAD50 (CINAME). If possible insert the CSR address and the vector. If you omitt them the default values 176500 for CSR and 300 for the vector are used. Note, that CSR and vector can be simply changed by the mon- itor SET command (see 'System start'). Now build the two systems for one line: say, a line between node 2 and 3 is to be build. Copy CI23.MAC to CICND.MAC and start the assembly command file: @CIASM The object files CI.OBJ, CIROOT.OBJ, CIPOLL.OBJ and CISPOL.OBJ are created. Now link the spooler job: @CILNK The file CISP.REL is created. Rename it to CISPsd.REL, where 's' is the local node number and 'd' the remote. In our example this is CISP23.REL. Now link the driver: LINK/EXE:ddsd.SYS CI where 'dd' is the two letter device name and 'sd' like above. In the example CI23.SYS. Now build the system for the other node, node 3 in the exam- ple. Copy CI32.MAC to CICND.MAC and repeat with renaming CISP.REL to CISP32.REL and linking CI.OBJ to CI32.SYS. Transfer each system to the appropriate RT11 system. NET-I MK 4.2 PAGE 6 2.3 System start Copy the driver and the spooler job on both systems to the system device: COPY/SYS ddsd.SYS SY:dd COPY CISPsd.REL SY: where dd is the driver device name for the line, 's' the local node number and 'd' the remote. If, for example, a line between node 2 and 3 with the driver name 'CJ' is to build: COPY/SYS CJ23.SYS SY:CY COPY CISP23.REL SY: Do the same on node 3 with '32' instead of '23'. If the device CSR and vector must be changed, use the monitor SET command: SET CJ: CSR=XXXXXX SET CJ: VECTOR=XXX These changes will be permanent (the driver CJ.SYS is patched). Install and load(!) the driver on both nodes: INS CJ LO CJ Start the spooler jobs: SRUN SY:CISP23.REL on node 2 and SRUN SY:CISP32.REL on node 3 or, if you have no system job support: FRUN SY:CISP23 on node 2 and FRUN SY:CISP32 on node 3 On both nodes, a system identification message should be displayed on the terminal. NOTE Never unload the driver before the spooler job is aborted! Unloading it will cause a system crash. Now assign on the local node the remote devices to the line driver. If, for example, there is no local line printer but the remote has one, assign LP: to the driver (the driver name of the NET-I MK 4.2 PAGE 7 above example is used): ASS CJ: LP: All output to LP: (including the PRINT command) will go to the line. The remote spooler (remote control job) will direct all transfer to LP: on the remote node, which can either be the real line printer or a line driver to an other node, if LP: on this node is assigned to it. If you want to have access to the remote default device, the following assignments can be done (with the above example): ASS CJ: DK3: on node 2 ASS DL1: DK3: on node 3 if the default device (DK:) on node 3 is DL1:. In summary: all routing is done through logical device as- signments. The only limit is the size of the RT11 device table. This table can be increased only during RT11 system generation. NOTE Because a foreground-/systemjob cannot .FETCH a driver into memory, all devices, which should be used by other nodes, must be loaded! An example of the assignments is given in the distributed files CIAS12.COM and CIAS21.COM. If you want to remove the line (or may be, the line seems to be destroyed...) first(!) abort the spooler job: CTRL X JOB>CISPsd CISPsd>CTRL C CTRL C or, if you have no system job support: CTRL F F>CTRL C CTRL C and then unload the driver: UNL dd: For starting again, load the driver and start the spooler job. If you want only one node to be the active part (this is 'your' node, where you sit and type), the spooler job is not nec- cassary on this node. NET-I MK 4.2 PAGE 8 3.0 Using the system (some examples) Suppose, you are on node 1 and there a lines to node 2 and from node 2 to node 3. All nodes have two RL01/02 disks, DL0: is the system device SY: and DL1: the default device DK:. There are two lineprinters, may be a fast one on node 1 and a slow but high quality one on node 2. There is a backup floppy disk RX01/02 DX: and DX1: on node 2. All other devices are local and there is no access from other nodes. In this configuration the assign- ment files can look like this: node 1: AS DL0: SY1: assign own system device to SY1: AS DL1: DK1: AS LP: LP1: - line to node 2 (driver name 'CI'): AS CI: SY2: AS CI: DK2: AS CI: SY3: AS CI: DK3: AS CI: DX: AS CI: DX1: AS CI: LP2: node 2: AS DL0: SY2: AS DL1: DK2: AS LP: LP2: - line to node 1 (driver name 'CI'): AS CI: SY1: AS CI: DK1: AS CI: LP1: - line to node 3 (driver name 'CJ'): AS CJ: SY3: AS CJ: DK3: node 3: AS DL0: SY3: AS DL1: DK3: - line to node 2 (driver name 'CJ'): AS CJ: SY1: AS CJ: DK1: AS CJ: SY2: NET-I MK 4.2 PAGE 9 AS CJ: DK2: AS CJ: LP1: AS CJ: LP2: AS CJ: LP: use LP: on node 2 = LP2: AS CJ: DX: AS CJ: DX1: NET-I MK 4.2 PAGE 10 Now you may type the following commands (on node 1): DIR SY2: DIR DK3:*.MAC DIR/OUT:LP2: DX:CI*.COM ! DX:, not DX0: COP SY2:STARTF.COM SY: COP *.FOR DK2:/QUE COP LETTER.LST LP2: ! use high quality printer PRI PROG ! print PROG.LST to LP:=LP1: not possible: COP DX:*.DOC DK: ! no wildcards with remote devices TECO is possible with remote devices but deletes old file. KED displays a mysterious error. Linking is possible. All programed request exept .RENAME are possible with remote devices. PIP wildcard operations are not possible with remote devices, because the driver is a 'special device driver'. NET-I MK 4.2 PAGE 11 4.0 GTRDTM - GeT Remote Date and TiMe A very usefull program for RT11 users (and for the system man- agers), who usually crash the system several times a day and then have to type in date in time every time the system is booted. This little program gets date time from one remote system if the spooler job is active there, otherwise a timeout occurs. Place the command RUN SY:GTRDTM dd: into the startup file before starting the own spooler job. 'dd' is the line driver device name. The program opens a channel to the driver and issues a .SPFUN. On return, a buffer containes date and time in RT11 format. Build the program with: @GTRDTM and copy GTRDTM.SAV to the system device.