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