Apollo Ethernet EPROM mystery

Jay Jaeger cube1 at charter.net
Fri Mar 29 10:38:53 CDT 2019


My DN3000 has a 3C505 that I got off of eBay in 2012.  It does *not*
have a boot ROM, just the firmware EEPROMS - National NMC27C64N.  Works
fine, if I recall correctly.  I expect I would have tested it as soon as
I got it, and I did an assign an IP address to it.  Unfortunately, my
"lab notes" are eluding me at present -- they may be offsite from a
recent remodel.  But I am almost positive I tested it.

My Apollo manual on the adapter, 009741-00, "Unpacking and Installing
the EtherController-AT" is offsite (5 miles, accessible if needs be).

I just dumped the firmware: U15 and U16.  From looking at the
information online on the 3C505 at Bitsavers, those would be required
even in an Apollo -- but only for the on-board processor - the Apollo
itself would presumably not even be aware of them, so unless the MAME
folks are trying to simulate the processor on the adapter, they would
not need these ROMS.

Still, let me know if you want me to post the firmware onto my Google drive.

I also came across the following in my files, dated in 2012, which
indicates, as another post here pointed out, that the Apollo Boot ROM is
only needed for diskless boot.  That rings true - the manual I cited
above would confirm that, if needs be.

===========================================================================

-------------------------


Installing an Ethernet Controller in an Apollo DN4000
			and
		Living to Tell About It


April 20, 1992

Mark C. DiVecchio
Silogic Systems
9888 Carroll Center Road Suite 113
San Diego, CA 92126

email           ...!ucsd!celit!silogic!markd
                markd at silogic.uucp

Table of Contents


1.0 Environment. . . . . . . .  4

2.0 3C505. .  4

3.0 Run the Jumper Program . .  4

4.0 Test tcp/ip. . . . . . . .  6

5.0 Shut Down the Node . . . .  6

6.0 Installation of the Ethernet Card. . . . . .  6

7.0 Test the Ethernet Card . .  6

8.0 Boot the Node. . . . . . .  6

9.0 Edit These Files . . . . .  7
        9.1 /etc/hosts . . . .  7
        9.2 /etc/hosts.equiv .  7
        9.3 /etc/networks. . .  8
        9.4 /etc/rc. . . . . .  8
        9.5 /etc/rc.local. . .  9

10.0 Check Files . . . . . .   10
        10.1 /etc/inetd.config . . . . . . . .   10

11.0 Edit /etc/daemons . . .   11

12.0 Reboot the Node . . . .   11

13.0 Check It Out. . . . . .   11

14.0 Edit /etc/hosts files .   12

15.0 Test tcp/ip . . . . . .   13

16.0 tcpst Utility . . . . .   14
        16.1 tcpst Options .   14
        16.2 tcpst Listing .   14

17.0 Acknowledgements. . . .   17

1.0 Environment

Our shop is running an Apollo Token Ring (ATR) with one DN4000, 2 DN3010
and 2 DN3000.  The DN4000 and two of the DN3010 are running SR10.3.  The
remaining two DN3000 are running SR10.1.

We also have an Ethernet connecting a Sun IPX, a PC running ESIX Unix
4.0.3 and three PC's running NCSA Telnet.

We wanted to install a gateway so that every machine on the ATR could
have access to every machine on the Ethernet.  The ESIX Unix box has all
our modems connected to it.  We were already running tcp/ip over the ATR
and Ethernet separately.  There is no need to boot anything diskless
over Ethernet.

2.0 3C505

Buy a 3Com 3C505 Ethernet card.  This is just a generic off the shelf
card.  I will not have a diskless boot ROM on it.  If you have need to
boot diskless, you will have to buy the card from Apollo.

3.0 Run the Jumper Program

Run /systest/ssr_util/jumpers and set the jumpers on the card.  See
Figure 1.

The jumper program shows two selections for jumper settings.  They are
actually both the same.  Select DIX if you use thick cable, BNC for thin
cable.

This sets up the card with :
        DMA Channel 6
        I/O Base 300h
        Interrupt 10
        Memory Address : Unit 0 Address 80000

4.0 Test tcp/ip

Make sure that tcp/ip is up and running by pinging each host on the ATR.

% ping m07

PING m07: 56 data bytes
64 bytes from 198.8.6.54: icmp_seq=0. time=17. ms
64 bytes from 198.8.6.54: icmp_seq=1. time=10. ms
64 bytes from 198.8.6.54: icmp_seq=2. time=11. ms

----m07 PING Statistics----
3 packets transmitted, 3 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 10/12/17

5.0 Shut Down the Node

Shut down the node and turn off the power.  Put the service/normal
switch into the service position.

6.0 Installation of the Ethernet Card

Install the card into any slot. Power on the node.

I did not find it necessary to tell CONFIG that I have installed the
3C505.  If you do run CONFIG, set up the machine to have two network
controllers, the Ring and the Ethernet card.  Select the Ring as the
primary network.  When I did this, the boot diagnostics had trouble
finding the card even though everything worked fine.  Try whatever
works.

I decided not to tell CONFIG about the card so the machine would still
automatically boot.  I had no problems with this.

7.0 Test the Ethernet Card

Press RETURN a few times until you get the '>' MD prompt.  Type RE and
RETURN a few times until you hear a beep.  At the MD prompt again, run
TE, just to make sure have not messed up anything.  Since we did not put
the Ethernet card into the Configuration Tables using CONFIG, TE does
not test the card.  Don't put the case on yet.

Next run EX DEX to actually test the Ethernet card.  Select the Ethernet
card by typing SELECT ETHER -ALL.  Then run the test by typing GO.

Put the service/normal switch back into the normal position.

8.0 Boot the Node

Start Domain O/S by typing EX DOMAIN_OS and pressing RETURN.  The rear
LED on the card should blink at about a 1 second rate as the OS boots.

9.0 Edit These Files

Login as root and edit the following files.  The changed areas are shown
in bold larger typeface.  For the bigger files, only the portion changed
is shown with portion not shown indicated by a string of dots '.'.

9.1 /etc/hosts

I've used 198.8.6 for the ATR network and 198.8.7 for the Ethernet
network.  This machine, the gateway, has two entries (m01 on the ATR and
apollo on the Ethernet).  This is specified via the ifconfig command in
rc.local.

If your machines aren't actually on the Internet, you can make up the
network addresses.  If you are on the Internet, then you have been
assigned addresses.  Use those.

'localhost' and 'defaultmask' most likely have the values shown.  The
'defaultmask' of 255.255.0.0 indicate this is a gateway (by the first 0
entry).  A network without gateways would probably want to use
255.255.255.0.


127.0.0.1   localhost
255.255.0.0 defaultmask
198.8.6.51  s01                 # DN3000
198.8.6.52  s02                 # DN3000
198.8.6.54  m07                 # DN3000
198.8.6.55  m08                 # DN3000
198.8.6.56  m01                 # DN4000 Gateway
198.8.7.199 apollo              # DN4000 Gateway
198.8.7.200 markd               # PC Running Telnet
198.8.7.201 johnp               # PC Running Telnet
198.8.7.202 deba                # PC Running Telnet
198.8.7.203 triton              # Sun IPX


9.2 /etc/hosts.equiv

Setup per your local conventions.

s01
s02
m07
m08
m01
markd
johnp
deba
apollo
triton

9.3 /etc/networks

Put a line in this file for each network that is being gatewayed through
this node.

aring 198.8.6           # Apollo Token Ring Network
ether 198.8.7           # Ethernet Network

9.4 /etc/rc

#
# `node_data/etc/rc  (DOMAIN/OS version SR10 )
# @(#)rc        4.21 - 90/07/06
#
# This script is run by /etc/init during node startup.
# To start up a daemon at boot time, create a file of
# the same name in the directory /etc/daemons. E.g.,
# if the file /etc/daemons/inetd exists, then /etc/inetd
# will be started.
#
# echo commands are parenthesized so that they will be run
# in a subprocess (echo is builtin to the shell).  Otherwise,
# the shell running this script (and all the programs started
# from it) would acquire /dev/console as their controlling tty.
#
# the setting of the SYSTYPE variable while this script is running
# is determined by the contents of /etc/environ.
.
.
.
.
#
# On a routing node, start Domain internet routing here (before TCP and
NCS).
# Put a timestamp in `node_data/system_logs/startup_rtsvc.log
# and put error messages from the routing process in that file.
#
# Create the /etc/daemons/rtsvc file, if any of the rtsvc commands are
uncommented.
#
if [ -f /etc/rtsvc -a -f /etc/daemons/rtsvc ]; then
        (echo "Starting Apollo Token Ring routing" > /dev/console)
        (echo "Routing startup at \c" >>
\`node_data/system_logs/startup_rtsvc.log)
        if [ -f /bin/date ]; then
                (echo "`/bin/date`  \n" >>
\`node_data/system_logs/startup_rtsvc.log)
        else
                (echo "`/com/date`  \n" >>
\`node_data/system_logs/startup_rtsvc.log)
        fi
# Edit and uncomment the following line(s) to make one line for
# each network. Use one line for each device and include the
# correct device name and network number.
# rtsvc commands must run to completion before TCP, NCS, or location
# broker start, so DON'T USE "& in these lines" !!
        (echo "Starting Ethernet routing (by MCD)" > /dev/console)
        /etc/rtsvc -dev ETH802.3_AT -ne 1 -r 1>/dev/null
2>>\`node_data/system_logs/startup_rtsvc.log
#/etc/rtsvc -dev device_name -ne network_number -r 1>/dev/null
2>>\`node_data/system_logs/startup_rtsvc.log
#/etc/rtsvc -dev device_name -ne network_number -r 1>/dev/null
2>>\`node_data/system_logs/startup_rtsvc.log
#/etc/rtsvc -dev device_name -ne network_number -r 1>/dev/null
2>>\`node_data/system_logs/startup_rtsvc.log
fi
.
.
.
.
exit 0

9.5 /etc/rc.local

#
# `node_data/etc/rc.local (DOMAIN/OS version SR10 )
# @(#)rc.local  4.18 - 90/08/31
#
.
.
.
.
#
#   Enable network interface(s) for TCP.
#   If the node has only one network interface,
#   then you can enable it using the pseudo-interface
#   'net0'.  If the node has more than one network
#   interface, or more than one internet address,
#   then you must enable each interface using its
#   explicit interface name (eth0, dr0, itr0, sl0, eth1, dr1, itr1)
#   and its numeric IP address (e.g. 128.5.1.2).
#
#   If the node is running in a subnetted environment,
#   you must supply 'netmask <subnetmask>' to ifconfig.
#   By default, the node enables interface 'net0' with
#   the subnet mask assigned to the pseudo host name
#   'defaultmask' in /etc/hosts.  If the name defaultmask
#   is not in /etc/hosts, then subnets are not enabled for
#   the interface.
#
#   You can use the form 'netmask icmp-request' to
#   indicate you wish the host to obtain the subnet mask
#   from local gateways,  using the ICMP Address Mask
#   Request/Reply protocol.  You can also enable this
#   ICMP Address Mask protocol by assigning the address
#   255.255.255.255 to the pseudo host name defaultmask
#   in /etc/hosts.
#
#   If the node must interoperate with certain older
#   TCP implementations, then add 'broadcast 0'
#   to the ifconfig command line.  The node will then
#   send the '0-form' IP broadcast address, which is the
#   one recognized by bsd4.2 and some other older tcp's.
#
#   Ifconfig must complete before routed starts up,
#   so DO NOT supply a trailing & on the command line.
#
if [ -f /etc/ifconfig ]; then
#       /etc/ifconfig net0 `/etc/hostname` netmask defaultmask
        /etc/ifconfig lo0  localhost
        /etc/ifconfig dr0  198.8.6.56 netmask defaultmask
#       /etc/ifconfig dr1  <ip-address>
        /etc/ifconfig eth0 198.8.7.199  netmask defaultmask
#       /etc/ifconfig eth1 <ip-address>
#       /etc/ifconfig itr0 <ip-address>
#       /etc/ifconfig itr1 <ip-address>
#       /etc/ifconfig sl0  <ip-address> <dest-address>
fi
#
.
.
.
.
#
#   Enable dynamic routing.
#   Options include -s: be a routing supplier, -q: be quiet,
#   -t: trace rip traffic, -f: flush routing tables,
#   and -h: exit on hosts when routing tables stabilizes.
#   Remove the -q option below for gateway nodes.
#   See routed manual page for details.
#
if [ -f /etc/routed -a -f /etc/daemons/routed ]; then
        (echo " routed\c" >/dev/console)
#       /etc/routed -f -q
        /etc/routed -f        # gateway node
fi
#
.
.
.
.



10.0 Check Files

Check the following files to make sure they are complete.

10.1 /etc/inetd.config

No changes required to this file.  Just make sure it looks like this.

# inetd (Internet daemon) configuration file
# tells inetd how to startup daemons for things in /etc/services
# Format is:
# service       socket  proto-  wait/           server           server
# name          type    col     nowait  user    program path     program
args
#
# telnetd/rlogind allow incoming login.
telnet          stream  tcp     nowait  root    /etc/telnetd     telnetd
login           stream  tcp     nowait  root    /etc/rlogind     rlogind
# rshd/rexecd offer remote command execution.
shell           stream  tcp     nowait  root    /etc/rshd        rshd
exec            stream  tcp     nowait  root    /etc/rexecd      rexecd
# ftpd offers file transfer services.
ftp             stream  tcp     nowait  root    /etc/ftpd        ftpd
# tftpd offers UDP_based file transfer services. (do not run tftpd as root!)
#tftp           dgram   udp     wait    tftp    /etc/tftpd       tftpd
# ntalkd offers new 4.3BSD talk service.
#ntalk          dgram   udp     wait    root    /etc/ntalkd      ntalkd
# biff(comsat) offers notification of incoming SMTP mail.
#biff           dgram   udp     wait    root    /etc/comsat      comsat
# fingerd offers finger user identification service
#finger         stream  tcp nowait      root    /etc/fingerd     fingerd

11.0 Edit /etc/daemons

Edit the directory /sys/node_data/etc/daemons to start /etc/rtsvc.  To
do this, 'cd' to this directory and use the 'touch' command to create
the zero length file rtsvc.  Generally, a non-registry node should have
the following files in the /etc/daemons directory.  A registry node may
have rgyd and glbd as well.  Your node may have even a different mix.
This is what the directory may look like.

% ls -laL /etc/daemons

drwxrwxrwx+  1 root     staff        1024 Nov 27 19:56 .
drwxr-xr-x+  1 root     staff        1024 Nov 27 19:55 ..
-rwxrwxrwx+  2 root     staff        4533 Jul  9 18:56 README
-rw-r--r--   1 root     sys_admin       0 Jul 20 10:40 inetd
-rw-r--r--   1 root     sys_admin       0 Jul 10 13:55 llbd
-rw-r--r--   1 root     sys_admin       0 Jul 13 09:35 routed
-rw-r--r--   1 root     sys_admin       0 Nov 27 16:31 rtsvc
-rw-r--r--   1 root     sys_admin       0 Nov 27 19:56 rwhod
-rw-r--r--   1 root     sys_admin       0 Jul 13 09:35 tcpd
-rw-r--r--   1 root     sys_admin       0 Nov 27 19:56 timed


12.0 Reboot the Node

Shutdown and reboot the node.  The rear LED on the Ethernet card should
still be going at about 1 blink per second and new the front LED should
be steady on indicating successful initialization of the card.

13.0 Check It Out

Login as root and run the following to make sure all is well:

% rtsvc

    Controller        Net ID     Service offered
==================   ========   ====================
RING                        0   Own traffic only
ETH802.3_AT                 1   Internet routing

% netstat -I

Name  Mtu   Network     Address      Ipkts   Ierrs Opkts   Oerrs Collis
lo0   9216  127.0.0     localhost    0       0     0       0     0
dr0   1268  aring       m01          381     0     401     0     0
eth0  1500  ether       apollo       206     0     165     0     0


The Network and Address should reflect the values you put into the
/etc/hosts and /etc/networks files.

% netstat -h

Host            Stat  Ref  Pct  Mapaddr
markd           U     1    0    00:00:c0:e7:60:2c
s01             U     0    0    00:00:a9:1e:00:00
s02             U     0    0    00:00:aa:b7:00:00
m07             U     0    0    00:00:d0:ce:00:00

The Mapaddr should show the Apollo Node ID's.  Other non-Apollo Nodes
should show the hardware Ethernet address of the card installed in that
system.  Here, 'markd' is a PC running NCSA Telnet.  Its Ethernet
hardware address is 00:00:c0:e7:60:2c.  (That is a number burned into a
PROM on the Ethernet card by its manufacturer - in this case a Western
Digital Elite 16).  The other hosts listed are all Apollo Nodes.

% netstat -a

Active connections (including servers)
Proto Recv-Q Send-Q  Local Address      Foreign Address    (state)
tcp        0      0  m01.telnet         markd.8064         ESTABLISHED
tcp        0      0  *.ftp              *.*                LISTEN
tcp        0      0  *.exec             *.*                LISTEN
tcp        0      0  *.shell            *.*                LISTEN
tcp        0      0  *.login            *.*                LISTEN
tcp        0      0  *.telnet           *.*                LISTEN
udp        0      0  *.ncs              *.*
udp        0      0  *.timed            *.*
udp        0      0  *.who              *.*
udp        0      0  *.route            *.*

% ifconfig eth0

eth0: flags=43<UP,BROADCAST,RUNNING>
      inet 198.8.7.199 netmask ffffff00 broadcast 198.8.7.255 macaddr
8:0:1e:0:fc:50

Indicates the Ethernet interface is up and running.

% ifconfig dr0

dr0: flags=43<UP,BROADCAST,RUNNING>
     inet 198.8.6.56 netmask ffffff00 broadcast 198.8.6.255

Indicates the ATR interface is up and running.

14.0 Edit /etc/hosts files

Next, go all all machines in both networks and fix up their /etc/hosts,
/etc/hosts.equiv, and /etc/networks files to match those files on the
gateway machine.

On the ATR, you can specify this gateway node as the tcp_admin host.
Domain O/S then uses softlinks for these files on each node pointing to
this node.  Then you only have to keep one set of files up to date.  To
do this, create these links on the other nodes:

        ln -s //m01 //x01/etc/tcp_admin
        ln -s tcp_admin/etc/hosts //x01/etc/hosts
        ln -s tcp_admin/etc/hosts.equiv //x01/etc/hosts.equiv
        ln -s tcp_admin/etc/networks //x01/etc/networks

Where m01 is the gateway node, and x01 is each of the other nodes in the
ATR.

If you do this, an ls should have these entries on the tcp_admin machine
(I've deleted a bunch of lines from the ls listing):

%ls -la

total 5723
drwxrwxrwx+  1 root        11264 Nov 27 21:21 .
drwxrwxrwx+  1 root         1024 Oct  8 14:41 ..
lrwxrwxrwx   1 root           22 Nov 27 21:21 daemons ->
`node_data/etc/daemons
-rw-r--r--+  1 root          197 Nov 27 21:10 hosts
-rw-r--r--+  1 root           44 Nov 27 20:16 hosts.equiv
lrwxrwxrwx   1 root           25 Nov 27 21:21 inetd.conf ->
`node_data/etc/inetd.conf
-rw-r--r--+  1 root           28 Nov 27 19:35 networks
lrwxrwxrwx   1 root           23 Nov 27 21:21 rc.local ->
`node_data/etc/rc.local
lrwxrwxrwx   1 root           22 Nov 27 21:21 rc.user ->
`node_data/etc/rc.user
lrwxrwxrwx   1 root           21 Nov 27 21:21 remote ->
`node_data/etc/remote
lrwxrwxrwx   1 root            5 Nov 27 21:21 tcp_admin -> //m01

An ls on a non-tcp_admin node should have these entries :

%ls -la

total 5717
drwxr-xr-x   1 root        11264 Nov 27 21:08 .
drwxr-xr-x   2 root         1024 Jul 13 18:31 ..
lrwxrwxrwx   1 root           22 Nov 27 21:08 daemons ->
`node_data/etc/daemons
lrwxrwxrwx   1 root           19 Nov 27 21:10 hosts -> tcp_admin/etc/hosts
lrwxrwxrwx   1 root           25 Nov 27 20:16 hosts.equiv ->
tcp_admin/etc/hosts.equiv
lrwxrwxrwx   1 root           25 Nov 27 21:21 inetd.conf ->
`node_data/etc/inetd.conf
lrwxrwxrwx   1 root           22 Nov 27 19:35 networks ->
tcp_admin/etc/networks
lrwxrwxrwx   1 root           23 Nov 27 21:21 rc.local ->
`node_data/etc/rc.local
lrwxrwxrwx   1 root           22 Nov 27 21:21 rc.user ->
`node_data/etc/rc.user
lrwxrwxrwx   1 root           21 Nov 27 21:21 remote ->
`node_data/etc/remote
lrwxrwxrwx   1 root            5 Nov 27 21:21 tcp_admin -> //m01

15.0 Test tcp/ip

Test that tcp/ip is gatewaying by going to each host and pinging hosts
on the other network.

% ping markd

PING markd: 56 data bytes
64 bytes from 198.8.7.200: icmp_seq=0. time=162. ms
64 bytes from 198.8.7.200: icmp_seq=1. time=153. ms
64 bytes from 198.8.7.200: icmp_seq=2. time=190. ms
64 bytes from 198.8.7.200: icmp_seq=3. time=15. ms
64 bytes from 198.8.7.200: icmp_seq=4. time=17. ms
64 bytes from 198.8.7.200: icmp_seq=5. time=15. ms
64 bytes from 198.8.7.200: icmp_seq=6. time=16. ms
64 bytes from 198.8.7.200: icmp_seq=7. time=15. ms

----markd PING Statistics----
8 packets transmitted, 8 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 15/72/190

16.0 tcpst Utility

Since I can't remember what I had for breakfast let alone all the
details about tcp/ip, I've created a shell script to help me automate
tcp/ip administration tasks.

16.1 tcpst Options

h - Edit //$UUNODE/etc/hosts
n - Edit //$UUNODE/etc/networks
e - Edit //$UUNODE/etc/hosts.equiv
r - Edit //$UUNODE/etc/rc
l - Edit //$UUNODE/etc/rc.local
c - Edit //$UUNODE/etc/inetd.conf
j - Run the jumper program
i - Run ifconfig $IF
p - Ping a specified host
P - Ping each host in turn
R - Run rtsvc
N - Run netstat
d - Display /etc/daemons
t - Add (touch) a file to /etc/daemons

A - Setup tcp_admin links to $UUNODE from //*/etc/tcp_admin
        (erases each remote hosts, hosts.equiv and networks)
C - Copy //$UUNODE/etc/hosts and hosts.equiv to $NODES

X - Change System Node
Y - Change Interface
<cr> - exit program

16.2 tcpst Listing

#!/bin/sh
# @(#) tcpst v1.0 tcp/ip status utility for SR10.x

NODES='m01 m07 m08 s01 s02'

if [ $# -gt 0 ]
        then    echo "tcpst: argument error" >&2
                echo "usage: tcpst"          >&2
                exit 1
fi

UUNODE=`uuname -l`
OTHER=`uuname`
IF='dr0'

while :
do
echo "[H[Jtcp/ip MENU                 machine: $UUNODE
interface: $IF

h - Edit //$UUNODE/etc/hosts            n - Edit //$UUNODE/etc/networks
e - Edit //$UUNODE/etc/hosts.equiv              r - Edit //$UUNODE/etc/rc
l - Edit //$UUNODE/etc/rc.local         c - Edit //$UUNODE/etc/inetd.conf
j - Run the jumper program              i - Run ifconfig $IF
p - Ping a specified host               P - Ping each host in turn
R - Run rtsvc
N - Run netstat                         d - Display /etc/daemons
t - Add (touch) a file to /etc/daemons

A - Setup tcp_admin links to $UUNODE from //*/etc/tcp_admin
        (erases each remote hosts, hosts.equiv and networks)
C - Copy //$UUNODE/etc/hosts and hosts.equiv to $NODES

X - Change System Node                  Y - Change Interface
<cr> - exit program

Press a letter or <cr> :"
read CMD

case $CMD in
"")     exit 0;;
h)      echo "//$UUNODE/etc/hosts"
        $EDITOR //$UUNODE/etc/hosts;;
n)      echo "//$UUNODE/etc/networks"
        $EDITOR //$UUNODE/etc/networks;;
e)      echo "//$UUNODE/etc/hosts.equiv"
        $EDITOR //$UUNODE/etc/hosts.equiv;;
r)      echo "//$UUNODE/etc/rc"
        $EDITOR //$UUNODE/etc/rc;;
l)      echo "//$UUNODE/etc/rc.local"
        $EDITOR //$UUNODE/etc/rc.local;;
c)      echo "//$UUNODE/etc/inetd.conf"
        $EDITOR //$UUNODE/etc/inetd.conf;;
X)      echo "Enter New Machine Name (without //):"
        read UUNODE;;
Y)      echo "Enter New Interface :"
        read IF;;
C)      echo "Are you sure?"
        read ANS
        case $ANS in
        ""|N|n) echo "tcpst: no action taken" >&2
                ;;
        Y|y)
                for DEST in $NODES
                do
                        if [ $UUNODE != $DEST ]
                        then
                                echo Copying from $UUNODE to $DEST
                                cp //$UUNODE/etc/hosts //$DEST/etc/hosts
                                cp //$UUNODE/etc/hosts.equiv
//$DEST/etc/hosts.equiv
                        fi
                done
                ;;
        *)      echo "tcpst: invalid response '$ANS'" >&2;;
        esac
        echo "Press RETURN"
        read ANS
        ;;
A)      echo "Are you sure? (this will delete remote files and replace
with links"
        read ANS
        case $ANS in
        ""|N|n) echo "tcpst: no action taken" >&2
                ;;
        Y|y)
                for DEST in $NODES
                do
                        if [ $UUNODE != $DEST ]
                        then
                                echo Setting up tcp_admin link from
$DEST to $UUNODE
                                ln -s //$UUNODE //$DEST/etc/tcp_admin
                                ln -s tcp_admin/etc/hosts //$DEST/etc/hosts
                                ln -s tcp_admin/etc/hosts.equiv
//$DEST/etc/hosts.equiv
                                ln -s tcp_admin/etc/networks
//$DEST/etc/networks
                        fi
                done
                ;;
        *)      echo "tcpst: invalid response '$ANS'" >&2;;
        esac
        echo "Press RETURN"
        read ANS
        ;;

j)      /systest/ssr_util/jumper;;
i)      /etc/ifconfig $IF
        echo "Press RETURN"
        read ANS
        ;;
R)      /etc/rtsvc
        echo "Press RETURN"
        read ANS
        ;;
N)
        echo "[H[Jtcp/ip MENU                 machine: $UUNODE
interface: $IF

Enter netstat option

    a - active connections including servers
    T - full status
    h - hardware addresses (ARP Host Table)
    I - Monitor $IF at 5 second intervals
    [Angimnrst] - Other Options
    <cr> for default

Press a letter or <cr> :"
        read OPT
        case $OPT in
                "")     /usr/ucb/netstat;;
                T)      /usr/ucb/netstat -$OPT | more;;
                I)      /usr/ucb/netstat -n -I $IF 5;;
                *)      /usr/ucb/netstat -$OPT;;
        esac
        echo "Press RETURN"
        read ANS
        ;;
p)      echo "Enter Host Name:"
        read DEST
        ping $DEST 100 5
        echo "Press RETURN"
        read ANS
        ;;
P)      for DEST in $NODES
        do
        ping $DEST 100 5
        done
        echo "Press RETURN"
        read ANS
        ;;
d)      /bin/echo "/etc/daemons:"
        ls -laL /etc/daemons
        echo "Press RETURN"
        read ANS
        ;;
t)      echo "Enter new daemon name:"
        read DAEMON
        case $DAEMON in
                "")     echo "tcpst: no action taken" >&2
                        ;;
                *)      touch /etc/$DAEMON
        esac
        echo "Press RETURN"
        read ANS
        ;;
*)      echo "tcpst: invalid argument '$CMD'" >&2
        sleep 3
        ;;
esac

done

17.0 Acknowledgements

Getting this all to work relied on tidbits received on USENET
(comp.sys.apollo) from :

dbfunk at ICAEN.UIOWA.EDU                          Dave B. Funk
tomg at cv.hp.com                                  Thomas J.Gilg
system at alchemy.chem.utoronto.ca                 Mike Peterson
droms at bucknell.edu                              Ralph Droms
herb at blender.UUCP


-- 
Mark DiVecchio, Silogic Systems, 619-549-9841                       K3FWT
-----   9888 Carroll Center Road, Suite 212, San Diego, CA 92126    -----
markd at silogic.uucp                             BBS 619-549-3927
...!ucsd!sdcrsi!silogic!markd     sdcrsi!silogic!markd at ucsd.edu


===================================================================

JRJ


On 3/28/2019 11:43 AM, Al Kossow via cctalk wrote:
> Does anyone have a working Apollo 3C505 ISA ethernet board handy to look at?
> 
> The MAME guys are trying to figure out if the boot prom and the firmware eproms are populated.
> 
> There is conflicting information on the net. https://jim.rees.org/apollo-archive/photo-gallery/ether-505.jpg
> shows no boot prom, but I dumped a boot prom from a board a while ago with 68000 code in it, but didn't dump
> any firmware eproms, which would have been an odd thing to forget to do.
> 
> 


More information about the cctalk mailing list