Download Abekas A60 Digital Disk Recorder Ethernet Manual Aug88

Transcript
digital disk recorder
A60
A60
Ethernet Manual
A60 Ethernet Manual
Rev 1.3 14-AUG-88
CD 1987,1988
Abekas Video Systems, Inc.
This manual describes the installation and use of the Abekas A60 Digital
Disk Recorder as an Ethernet node supporting file transfer and remote loain
using some of the TCP/IP family of protocols. Tbere is an application note
describing some of tbe mecbanisms bebind the file transfers and the
appendix lists information to allow the user to implement tbeir own version
of the file transfer routines.
Abet.s Video Systems. Inc.
101 e.lveston Drive
Redwood City. CA 94063
(415) 369-5111
FAX (415) 3694777
EasyJink 62796899
Telex 592712 (ABEKAS UD)
uucp Email: (al1egra,decwrl,hplabs,sun,uunetl
... !pyramld !abekas !a60mail
Contents
Introduction to Ethernet and TCP/IP................................................•............................................... 1
Ethernet ..................................................................•.........•...•......................•...................... 1
TCP/IP ..........................................................................................................•...................... 1
Telnet Iild FTP .................................................................................................................... 3
Unix 'r' Commands .............................................................................................................. 3
Tbe Abetas A60 .................................................................................................................. 3
TCP/IP Application Notes ................................................................................................................ 4
Typical File Transfer..........................................................................................................4
Layered Model .....................................................................................................................5
Physical layer .....................................................................................................................5
Transceivers .......................................................................................................... 6
Different Ethernet Standards ................................................................................ 6
SQE ........................................................................................................................7
Data Lint Layer ..................................................................................................................7
Ethernet Addresses ...............................................................................................7
Networt I..ayer .....................................................................................................................7
IP ...........................................................................................................................7
Internet Addresses ................................................................................................8
ICMP ......................................................................................................................8
GGP ........................................................................................................................ 9
ARP....•........•.•.•...•..•••••.•..•......•.•.•...••.••••.•••.....•..••..•.•..•.•.••.•....•....•••.•.•.....•.••.....•.•..•9
RARP...................................................................................................................... 9
Transport Layer .................................................................................................................. 10
TCP ........................................................................................................................ 10
UDP........................................................................................................................ 11
Upper Levels ....................................................................................................................... 12
Telnet .................................................................................................................... 12
FTP ........................................................................................................................ 12
Examp Ie FTP transfer ............................................................................................ 13
TFTP ...................................................................................................................... 13
rcp ......................................................................................................................... 14
File Transfer .................................................................................................................................... 15
(jeneral Information ............................................................................................................ 15
RGB Conversion ...................................................................................................... 15
Transfer Times ...................................................................................................... 15
Data Format ........................................................................................................... 15
A60 File Name Conventions ................................................................................... 16
Fields and Frames ................................................................................................. 17
Field Dominance .................................................................................................... 17
Write Protection .................................................................................................... 17
FTP ...................................................................................................................................... 18
rcp ...................................................................................................................................... 19
Unix Script Hints .................................................................................................. 20
A60 Remote Control over Ethernet ................................................................................................... 21
Telnet.................................................................................................................................. 21
rsh/rlogin ........................................................................................................................... 21
General Command Information ............................................................................................ 23
Parameters .......................................................................................................................... 23
Commands ........................................................................................................................... 24
Installing an A60 on a Unix Networt ............................................................................................... 27
/ etc/bosts ........................................................................................................................... 27
Setting the A60 Internet Address ...................................................................................... 27
Setting the A60 Hostname................................................................................................... 27
Special notes for Yellow Paaes ............................................................................................ 28
Yellow Paaes .......................................................................................................... 28
/ etc/ethers ............................................................................................................ 29
Implementation Notes ...................................................................................................................... 31
Ethernet Address ............................................................................................................... 31
Address Resolution ............................................................................................................ 31
IP ........................................................................................................................................ 32
TCP ..................................................................................................................................... 32
Telnet ................................................................................................................................. 33
FTP ..................................................................................................................................... 33
rcp ...................................................................................................................................... 34
(jenera! ............................................................................................................................... 34
Copyright Notice................................................................................................................. 35
Release Notes ................................................................................................................................... 36
Troub leshooting ............................................................................................................................... 38
Common Problems ............................................................................................................... 38
Ethernet cable ....................................................................................................... 38
Ethernet Address .................................................................................................. 38
Internet Address ................................................................................................... 39
68000 .................................................................................................................... 39
Disks ..................................................................................................................... 39
Z80·s ...................................................................................................................... 39
Reference Syncs ..................................................................................................... 40
RGB Transfers ........................................................................................................ 40
Colorized Video ..................................................................................................... 40
Field Service call ............................................................................................................... 40
Doing your own DebUlling.................................................................................................. 41
Debug Port............................................................................................................. 41
Debug Mask ........................................................................................................... 41
High ~el Debug ................................................................................................... 42
TCP Debug ............................................................................................................. 43
IP Debug ................................................................................................................ 43
Ethernet Debug...................................................................................................... 43
Glossary ........................................................................................................................................... 45
Example Programs ............................................................................................................................ 49
demo.c ................................................................................................................................. 50
panel.c ................................................................................................................................ 52
a60.lcon .............................................................................................................................. .5.5
mycp.c ................................................................................................................................ 56
Appendix ......................................................................................................................................... 58
TCP/IP Packet Dump ........................................................................................................... 58
FTP Implementation............................................................................................................ 59
Defaults ................................................................................................................. 59
Opening Message ................................................................................................... 59
Commands and Responses ...................................................................................... 59
File Names ............................................................................................................. 62
rlogin Implementation ........................................................................................................ 62
rsh Implementation ............................................................................................................ 63
rcp Imp lementation ............................................................................................................ 64
Bibliography .................................................................................................................................... 65
Related Documents from Abetas ......................................................................................... 65
ARPA Publications .............................................................................................................65
Ethernet specs : .................................................................................................................. 66
Other Background Reading .................................................................................................. 66
TCP/IP Implementations ..................................................................................................... 67
A60 Ethernet Manual
Introduction to Ethernet and TCP/IP
Ethernet
Ethernet is a Local Area Network (LAN) Standard originally developed at Xerox Palo Alto
Researcb Center.
Ethernet interconnects a group of computers (referred to as bosts or nodes) with a single 50 Q
coaxial cable with terminations at both ends. Data is passed serially at 10MHz in the form of
packets. that is in cbunks anywbere from 46 up to 1500 bytes or characters. Each packet
carries addressing information to sbow its' source and destination.
Unlike tbe Public switched telephone system or a video routing matrix the single cable is
sbared by all tbe devices on tbe network so tbere are a set of rules to determine wben a node
can access the cable. Tbe tecbnique used is referred to as Carrier Sense Multiple Access witb
Collision Detection (CSMA-CD).
Before transmitting a node listens to confirm that nobody else is transmitting. then. as it
transmits it continues to monitor the cable in case another node started transmitting at the
same time. If two devices transmit simultaneously it is referred to as a collision and both
devices have to stop immediately and wait a random amount of time before attempting to
transmit again.
Several different manufacturers have adopted the low-level Ethernet hardware and packet
specifications and built their own networks on top of it. Xerox XNS. IBM-SNA, HP-NS and DECDECnet are all networking systems that allow users to share resources and files and can run
over Ethernet.
In the area of Personal Computers 3com Corporation and Novell are supplying File server
systems based on Ethernet.
Small scale Office LAN's are mostly based on cheapernet which uses thin RG58 50 g cable and
BNC connectors, in this case the coaxial cable is 'T'eed directly onto the Ethernet Interface in
the computer. Higher level applications use better quality thick yellow cable and external
transceivers whicb can attach to the cable with a spike-lite tap.
TCP/IP
The TCP/IP protocol family is emerging as a useful common standard for networt
interconnection.
The strength of Tep/IP has been tbat it is not tied to any particular manufacturer, it is the
result of extensive research since the 70's by the Advanced Research Projects Agency (ARPA)
community. With backing from the DOD the emphasis for these protocols has been to
interconnect different types of computers running different operating systems.
TCP/IP is now available as an add-on to most computer systems either in the form of an
interface board with built in software such as the Excelan Ethernet Controllers or as an extra
software package running along side a native Ethernet implementation. (The Bibliography for
this manual lists some of the companies offering TCP/IP packages)
One reason for the spread of TCP/IP amongst the Computer Graphics Community has been its
inclusion in the Berkeley Versions of the UNIX operating system (referred to as 4.2 BSD UNIX
as opposed to the AT&T Unix System V) most graphics engines and the Workstations tbat
control them use Unix as it is a popular operating system for software development.
TCP and IP are acronyms for 'Transmission Control Protocol' and 'Inter-network Protocol' just
two of the layers in the suite of communications protocols that are required to allow transfer
of data from one computer to another.
IP is the layer immediately on top of Ethernet that adds Network addressing information to
the packet. These Internet addresses allow IP packets to be transferred to other networks, not
just Ethernet. It is similar to the way that Containerized freight can be carried equally well
by road rail or sea.
TCP provides an error free bidirectional communications channel above which other utilities,
such as a remote login or fUe transfer, can be built.
TCP works by giving each packet a sequence number so that a message or file can be
reassembled even if the packets arrive in the wrong order.
TCP also has an acknowledgement mechanism whereby tbe receiver replies with tbe latest
complete sequence number it has assembled, so that should a packet get lost or delayed in the
network the sender will retransmit the missing packet if it hasn't been acknowledged within a
reasonable timeout period.
The third TCP mechanism is the window which limits the amount of unacknowledged data the
sender can send out, so that it can't get too far ahead if the receiver is missing a packet from
earlier in the message,
For the majority of File transfers or TCP connections there is no data lost. All the packets
arrive in the correct order. The power of the TCP/IP protocols lies in the fact that they are not
restricted to running on a single local area network.
The ARPA Internet for example combines over a 100 different networks and includes satellite
links to research facilities in Europe.
When packets are passing across several networks through 'gateways' which provide an
interface from one type of network to another there is more chance of a packet getting lost.
There is no guarantee that all that packets will tate the same route to the destination, this is
possible since each packet carries separate addressing information. It is up to the gateways to
decide which is the most efficient route. If during the life of the connection one of the
intervening gateways or networks goes down the TCP/IP protocol is robust enough to be able to
replace any unacknowledged lost data by retransmission (assuming an alternative route can be
found).
2
A60 Ethernet Manual
Telnet ~nd FTP
The A60 supports fUe transfer and remote control built on top of the guaranteed delivery TCP
connections. Remote control is achieved by allowing the remote user to 'IOlin' as if the A60
were another computer and type commands interactively. There are two alternatives for each.
Firstly the official ARPA file transfer and remote loain utilities called FTP (File Transfer
Protocol) and Telnet. These are specifically intended to wort between different Computer
architectures and Operating Systems.
Unix 'r' Comm~nds
The second alternative is tbe native Unix utilities 'rcp' (remote eo,y) 'rlogin' (remote ...Ia)
and 'rsb' (remote ••ell). These wUl be popular with Unix users since they offer a less verbose
user interface - fUe transfers are achieved by cryptic one line commands rather tban FTP
wbicb normally produces a secondary prompt and requires at least tbree commands to
transfer one file.
The AbektJs A60
The A60 can be viewed as a Video Server - permitting all the rendering engines and computers
in a graphics lab to share the ability to try out animation sequences and lay off rendered
images without the preroll and lineup problems associated 'fIith silllie frame VTRs. It is a
powerful sbareable resource that treats all the frames or fields on a disk as separate rUes that
can be copied to or from the A60.
The remote control provided across Ethernet is intended to be human readable in that the
commands ror playing or setting up segments are executed by typing
"PLAV" or
"DEFSEG 0.20 1.30"
a user sitting at a workstation can easily preview frames or animations without the need for a
multiple control panels.
As an Ethernet device. the A60 appears to be just another node that files can be transferred to
in the same 'flay they 'fIould be moved from one computer system to another. there is no need
for a separate VTR controller or special software.
Installation on Ethernet is just a question of the pluuing the A60 into a Transceiver. which is
a small box that provides an isolated interface to the Ethernet Coaxial Cable. The System
Manager then specifies an Internet address for the machine which has to be entered on the
A60 control panel. The other computers on the network can then use this Internet address to
access the services supported by the A60.
3
TCP/IP Application Notes
This section gives a brief outline of tbe functions of eacb of tbe protocols used in tbe A60 and
tbe way they interact.
Typical File Transfer
Tate for example an rep transfer on a Unix system. To invoke rep the user types :
unj)(~
rep file.yoy .60:37
wbich causes a connection to be opened to the rcp sener on the Abekas A60. The hostname is
tbe name used to refer to the A60 on tbe users' macbine. Somewbere there will be a fUe
(lete/hosts on unix) whicb gives the mapping between the name (or some other optional alias)
and the Internet Address that bas been assigned for tbe A60.
A typical entry in fete/hosts has the followinl form:
192.5.200.9
860
Rep will first find tbe Internet address of the remote host by referring to the fete/hosts file.
Then it bas to find the lower level Ethernet address tbat corresponds to the machine with that
Internet address. The Ethernet address will either be tbe address of the A60 itself or a
Gateway device on the local ethernet through which tbe A60 can be reacbed.
In some cases the bost computer may bave retained tbis information from a previous
transaction, but for the first transfer to an unknown remote bost the Iqcal host bas to resolve
tbe Internet - Ethernet address mapping. To do tbis it uses the Address Resolution Protocol
(ARP).
ARP involves sending a broadcast packet to all the bosts on the network.
Only the bost with the required Internet address, or a Gateway tbat can reach it, will reply
with a ARP reply packet supplying the requested Ethernet address.
Once the local host knows bow to reacb the A60 over Ethernet it can open up a Tep connection
to the rshelJ port on the A60.
The A60 wbicb has been passively waiting for a connection to be made to Its' rshell port
responds with an openina message and the rshell program passes the users' name and the
destination filename to tbe A60.
Since the A60 does not support username vaUdation, passwords or accountina the transfer
will proceed immediately with the transfer. The A60 will seet to frame 37 and the data will
be written to the frames tore and displayed as it arrives. When the transfer is complete the
A60 will record the frame and close the connection.
4
A60 Ethernet Manual
The transfer outlined above used several program modules, one was responsible for
transmittiOl and receiving packets. another assembled the incoming data into order and
retranmitted unacknowleged outgoing packets. At a higher level there was a seperate module
that dealt with converting data formats. Each of these modules has a well defined interface to
the modules below wether it is passins a packet to the Ethernet module or reading and writing
data to or from a TCP connection.
The ISO standards authority bas proposed an Open Systems Interconnection model consistins
of seven layers. The reason for dividins the Protocols into layers is so that different protocols
at the same level can be interchanged to provide the same function for the layers above.
Appl ication
Presentation
Session
Transport
Network
Data Link
Physical
051 diagram
The TCP/IP protocols occupy the Transport and Network layers and can be applied to several
lower level network arcbitectures. In tbis case tbe two lower levels - tbat is tbe Pbysicallayer
wbicb defines tbe connectors and signal voltages, and tbe Data link layer wbicb defines tbe
way data is passed between two pieces of equipment on tbe same local network, are botb
defined by the IEEE 802.3 standard (which in turn is based on tbe Xerox Etbernet V2).
Anotber comparable Network standard is X.25 whicb is used for public packet switcbed
services such as Tymnet.
Physi C~ 11 ~yer
Ethernet was developed at Xerox PARC and is based on tbe concept of a baseband Carrier Sense
Multiple Access witb Collision Detection. (CSMA-CD)
5
Abelras
Transceivers
The host computer will be coupled onto the Ethernet Coax by a device called a transceiver. In
some instances (particularly in the case of 'Cheapernet') the transceiver can be part of tbe
Etbernet interface board in the host computer. The Remote transceivers can be up to 50m away
from the computer and typically come with a plug in module to allow eitber a spike tap. Nseries or BNC connectors to interface to the cable.
Cbeapernet uses thin RG58 50-0 coax and BNC style connectors rather tban the bigh grade
10mm tbick Yellow coax which permits tbe non-intrusive "vampire tap" transceivers to be
spiked into it and removed without having to take the network down.
Tbe thick coax can be used for networks up 100 nodes on 500m of cable whereas Cbeapernet is
limited to 30 nodes on 185m of cable. Only two repeaters are allowed on a local network
because of tbe propagation delays through them. The transceivers should be placed at
multiples of 2.5metres on the cable.
Different Ethernet Standards
There are tbree different Etbernet standards : Ethernet VI. V2 and tbe Newer IEEE 802.3
standard.
The are electrical differences between tbe different standards mainly concerning the
grounding requirements for the transceiver. For Ethernet VI and V2 the connector shell. cable
shield and pin one of the connector are all connected together wbereas for IEEE 802.3 tbe
cable sbleld is separate from pin I ground. The grounding sbould be achieved at tbe bost end
of the transceiver cable.
Outer Shle ld 1
Co 11 ls10n + 2
Transmit + 3
••
••
•
• ••
•
0
Rece1ve + 5
Power Return 6
0
0
9 Co ll1s10n 10 Transm1t-
0
12 Rece1ve13 Power + 12V
0
0
Transceiver (AUI) cable pinout
6
A60 Ethernet Manual
SQE
Some transceivers support SQE or Sianal Quality Error (sometimes called heartbeat) in wbicb
case tbey will return a collision in tbe gap at the end of every transmission from tbe bost.
This provides a way of assuring tbat the collision detection circuitry in the bost interface is
functioning correctly. Ethernet VI does not provide for SQE.
D~ttJ
Link LtJyer
The Data Link layer provides for source and destination addresses and a trailing CRC allows
the integrity of tbe wbole packet to be cbecked. Ethernet and IEEE specifications differ in a
few minor respects, The IEEE spec states that the field immediately following tbe source
address is an optional lengtb, bowever the Ethernet receiving bardware is capable of
determining the packet length by other means. The original Xerox Ethernet spec defines this
as a type field wbicb is used to resolve tbe next protocol above in the bierarcby. The types
used for tbe ARPA family of protocols are intentionally cbosen to be illegal lengtbs (eg larger
than tbe maximum permissible) so as to remove any confusion between the IEEE and Xerox
implementation of Etbernet.
Ethernet Addresses
Ethernet addresses are six bytes conventionally written as six hex numbers separated by
colons. Etbernet addresses are intended to be unique for any piece of equipment tbat conforms
to tbe IEEE 802.3 standard.
Abekas Equipment will be in the range OO:OO:76:XX:XX:XX
Using the Ethernet Broadcast packet mechanism it is possible for the local host to send a
packet to all tbe devices on the local network ratber tban to one specific address. This address
is FF :FF :FF :FF :FF :FF .
Network Layer
The Network Layer provides a packet delivery system between two hosts.
IP
Tbe Internet Protocol adds to a packet the information required to pass it from one bost to
another across different networks. The intention is that a gateway that is passing the packet
from one network to another need only examine the IP beader to determine tbe routing
information.
Tbe Internet Protocol also provides a mechanism for breaking packets into smaller fragments
for passing them over a network witb restricted packet size.
7
Internet Addresses
Internet address is a four byte number conventionally expressed as four decimal numbers
(0 .. 255) separated by dots.
eg 192.9.200.5
The Internet Address can be subdivided into two parts. The first is referred to as the Network
number and the second as the local address. All the machines on the same local networt
should have the same Network Number but different Local Addresses. If a host is asked to
send a packet to a remote host with a different Network number it wHl assume that the remote
host is on a different network and attempt to find a gateway to it.
Network Numbers for Internet sites are assigned by the ARPA authorities, the local addresses
are chosen by the local system administrator. There are many Ethernet networks that are not
actually part of the Internet and only use a default Network number.
There are three classes of internet address based on the the Network number.
For a class A address the first byte of the internet address will be less than 128. the local
address is then formed by the lower three bytes allowing for 4096 separate hosts on the one
networt.
A class Baddress will have a first byte in the range 128 to 191 and in this case the lower two
bytes form the local address.
Class C addresses will have first byte greater than 191, only the last byte identifies the
individual machine or internet node.
Internet addresses are intended to be more wide ranging than the native addressing scheme
for the the local network, it is possible to connect to an Internet host atross several different
types of network eg Local Area Ethernet, long haul X.25 packet switched services and Local
area Token ring networks.
leMP
Internet Control Message Protocol is almost an integral part of IP. It is intended to handle
error reporting from Gateways to hosts or hosts to hosts. It gives the originating host more
information about the reason a patket has been rejected or cannot be delivered.
ICMP also provides an echo system used by 'ping' programs to help isolate inter-network
problems.
8
A60 Ethernet Manual
A Selection of the IeMP Messages :
Echo Request
Echo reply
Redirect: Use alternative route
Time Exceeded: Pactet died of old age
Parameter problem: Something wrong with the IP Header
Destination Unreachable. either:
Network
Host
Protocol
Port
GGP
The Gateway to Gateway Protocol Handles communication between Gateways for control
purposes. It allows them to exchange routing information and teep up to date on the
availability of neighboring Gateways.
ARP
The Address Resolution Protocol uses the Ethernet Broadcast Mechanism to allow a host to
resolve Internet to Ethernet address mappings by asking all the hosts on the local network if
any of them claim to be the required Internet address.
If the hosts support ARP they will decode the packet. it contains both the Internet and
Ethernet Addresses of the local host and the Internet address of the host it is trying to reach.
Only the requested host or a Gateway that can reacb it on another network reply directly to
the requesting macbine.
RARP
The Reverse Address Resolution Protocol allows an Ethernet bost to determine its own Internet
Address by broadcasting a request to the net.
9
Trllnsport Lllyer
The fourth OSllayer is the Transport Layer. which is concerned with creating and maintaining
logical connections between individual processes on different hosts.
A Typical Data Packet
Tep
The transport layer adds a source and destination port number to the packet addresses. This
allows the packet traffic to be routed to several different processes or users within a
particular machine. A TCP connection is characterized by the combination of local and remote
Internet addresses and the local and remote port numbers. So for instance several people may
be logged in on a machine tbrough the port assigned to the remote login service. If two of the
users originate from the same machine they wHI have to be on different ports on their local
machine. The TCP software can then identify uniquely which connection a packet belongs to.
Some of the lower port numbers (normally less than 1024) are reserved for system functions,
these are "ell kstJrYn port numbers that are published for other computers wishing to use a
particular service. Opening connections to these ports is normally a privileged operating
system function.
FTP
Telnet
21
23
rsh
514
rloQin 513
Commonly used TCP port numbers
The TCP packet header also carries Sequence and Acknowledge numbers. The Sequence number
represents the position of the first byte of this packet in the transmitted data stream. The
Acknowledge represents the byte after the last fully reassembled byte of the data stream
received. In other words the Receiving Tep can buffer several packets that may be out of
sequence but the Acknowledge number will only increase once the incoming data is complete
up to that byte number.
10
A60 Ethernet Manual
Sequence numbers are fixed wben tbe connection is opened. packets are excbanged wltb tbe
SYtt flaa set to indicate the initial sequence number.
The TCP beader also includes a window to indicate to the other end bow mucb buffer space is
currently available. This acts as a metbod of flow control since tbe transmitter sbould not
continue if more than a windows' wortb of data remains unacknowledged.
The transmitting side of TCP is responsible for resending a data if it is not acknowledged
witbin a timeout period.
There is a TCP Option that allows tbe maximum number of data bytes in a packet to be
specified. tbe default is 512 but some systems accept up to 1460 bytes. tbis leaves 40 bytes
for tbe TCP/IP beaders in tbe maximum sized ethernet packet of 1500 bytes.
TCP connections can be opened eitber Actively or Passively. In the Active case tbe remote port
and host address are fully specified. whereas a Passive open will only specify tbe port
number at the local end and wait for an incoming attempt to connect.
On closing the connection it is necessary for both sides
witb the FIN flag set.
to
exchange and acknowledge packets
UDP
The User Datagram Protocol is a simple extension to IP which adds only a source and
destination port number and a checksum. The Datagram is a standalone packet 'fIith neither
guaranteed delivery nor special sequence.
TFTP and Sun Mitrosystems' RPC and NFS are among the protocols built on top of UDP.
II
Upper Levels
For the TCPIIP protocols the top three OSI reference layers tend to be merged into one
program at the highest Application layer. The OSI model also provides for a Session layer
which handles user validation and mapping host names to network addresses, and a
Presentation Layer which handles machine differences like byte swapping and terminal
standard ization.
TCP/IP Family Tree
Telnet
Telnet is a remote login program based on the concept of a Virtual Terminal. The Virtual
Terminal has a set of default conditions that can be changed by 0l!80lialioo and mutual
agreement between the local and remote host. For instance echoing is done locally by default
and the local host is expected to buffer Iines of text until <Return> is pressed.
The Telnet connection has an escape mechanism where hex FF is the escape character. An FF
occurring in the data stream is transmitted as FF FF. The escape character precedes an option
negotiation which contains a code to indicate WILL, WON'T, DO or DON'T and the particular
option code. Options include the ability to turn off echo and set various terminal attributes
such as line length. Before an option will be implemented on both sides they have to positively
agree to do it. Tbe FF escape sequence is also used to implement 'out of band' signals such as
Abort Output, Interrupt Process and Erase.
FTP
The File Transfer Protocol uses a Telnet connection for User authentication and control. The
control is achieved using a command and Response Dialog which mayor may not be visible to
the user, Commands are of the form "USER Simon" and "STOR pic.rgb". FTP responses are
preceded by a three digit code which allows a machine to assess the required action.
12
A60 Ethernet Manual
Some of the meanings are Iisted below :
Ixx is a Positive preliminary reply
2xx is a Positive completion reply
5xx is a Permanent negative completion reply
xOx is a Syntax error
x2x refers to a connection
x5x refers to the file system
Example FTP transfer
In the following example each line shows a step in the transfer, the arrow indicates the
direction of the message (.. is from the host to the A60) and the carriage return and line feed
characters are shown in the 'C' language notation \r and \n.
[ open Tep connection to port 21 on the A60
.. 220 Abekas A60 FTP (a60)
.. USER simon\r\n
.. 230 User OK
..
PORT 192.9.200.1.30.244\r\n
.. 200 PORT spec accepted; host 192.9.200.1 port 7924
.. STOR 407.rgb\r\n
I Active open from A60 end port 20 to 192.9.200.1 port 7924 }
..
150 OK here goes
( Data Transferred I far end closes data connection when done
..
..
..
226 File Transfer OK
QUIT\r\n
221 Closing control connection
TFTP
The Trivial File Transfer Protocol is built on top of UDP and provides an easy-to-implement
file transfer. Data is transferred in 512 byte blocks each data packet carrying a block
number. Each block has to be acknowledged before the next one can be transmitted. TFTP is
used for booting diskless hosts on a local network and exchanging mail.
13
rep
As is the case with most Unix applications the implementation of 'r'copy is elegantly minimal.
Most of the handshating is achieved by the transmission of a single null byte. Most of the 'r'
commands use a single Tep connection although there is provision for a 'standard error'
connection. In the following example "\0" indicates that a null (zero) byte is sent.
rep pie400.rgb a60 :312 .rgb
.. \0
.. simon\Osimon\O
.\0
.. rep -t 312 .rgb\O
• \0
.. C0666 1049760 pie400.rgb\n
(no standard error)
(local and remote usemame)
(confirm user info validated)
(the command)
(command OK)
(Access flags, length, original name)
• \0
.. [1049760 bytes of data]
.. \0
• \0
These transfers are listed in more detail in the appendix.
14
A60 Ethernet Manual
File Transfer
Generallnformatl0n
RGB Conversion
The A60 has the capability to convert raw RGB rUes to YUV and back again. The arithmetic is
done 32 bit fixed point using the on board Multiplier Accumulator Chip. Reciprocal Anti
Aliasing and Interpolation filters are used to minimize generation loss. Some slight
degradation will be visible on the first pass into and out of the machine. Once the image has
been bandwidth limited to YUV space it does not degrade further on successive passes. The
conversion process does slow up the transfer of data however.
Transfer Times
On a lightly loaded Ethernet with a host that supports 1024 byte TCP packets a 525 line YUV
image should tate about 7 seconds to transfer in either direction. RGB images tate
approximately 25 seconds to transfer to the A60 and 33 seconds to read from the A60.
Data Format
Video data in the files transferred to and from the A60 is raw RGB or YUV data with no
compression, Run Length Coding or other structure. There are 720 pixels per line and for a
525 line system there are 486 lines per frame (576 for 625 line systems).
The pixels are ordered in the same direction as the TV raster is scanned, eg left to right and
from the top down.
Three Bytes per plxe 1: Red; Green; Blue
486
or
576
Lines
720 Pixels per Llne
RGB Files
15
Refer to the A60/A64 Digital Video Interface Manual for more information on the format of the
data and the size or the frame buffer.
Two Bytes per pixel: Alternately U; Y; then V; Y;
486
or
576
Lines
720 Plxe Is per Line
YUV FUes
Note that the A60 does not check the length of the file transferred but files longer than a
Crame in length can cause the Frame buffer addressing to wrap round and cause unpredictable
effects.
A60 File Name Conventions
The A60 expects a filename to contain the frame number and an optional extension .yuv and
.rgb are currently supported, yuv is the deCault. The Crame number can either be liven as an
absolute frame number (in decimal) or a time code.
The A60 starts at the end of the filename and worts bact so you can include all the directory
paths you want, they are all ignored.
rep thing400 a60 :/users/simon/pieeys/thing400. yuv
parses OK as 400.yuv
Be careful that filenames don't have an 'F' before the frame number since this has the special
significance explained below.
16
A60 Ethernet Manual
Fields and Frames
Video can be transferred as Frames or Fields, A frame is twice as long as a field and the lines
are interleaved in the same way as they appear on the display. A field transfer is indicated by
an 'F' immediately preceding the frame number. The first field of a frame wHI be implied by
default. To access to the second field the frame number must have a '+' appended to it. The
frame number can also be specified in timecode, in whicb case seconds and frames are
separated by dots for the first field and colons for the second.
rep mypie.yuv 860:590
places the frame mypic at 590
rep myfield.yuv 860:f590+
or rep myplc.yuv 860:fI8:25
records the file as the second field of frame 590 (18:25 in timecode on 525 line systems)
Field Dominance
The diagram below show the difference between a frame that starts with a field I and a field 2,
The example is for .52.5 line systems since in 625 the upper field (eg the one with the halfIine at the top) is actually field I.
00.00
00:00
00.01
00:01
00.02
00:02
00.03
rf""~·;·Tr·~~··Tl ~[r·~~·Tr;;"·n0 ~
" .. -_. ---_.. ----... ------
frame 0
.. ----------.. --.--_. -.-.
frame 1+
00:03
0
'
If rendered frames are being transferred to an A60 that will be used later in an editing
environment that uses field two dominance (eg edits are made between field one and field two
rather than on frame boundaries. It may be more appropriate to transfer the frames starting
with the second field.
rep myfr8me 860 :20+
places the frame at fields 00:20 and 00.21 rather than 00.20 and 00:20
Write Protection
The A60 has the ability to Write Protect or Record Lockout segments of the Disk. An attempt
to transfer to a Record-Locked-out section will result in an appropriate "Write Protected·
error message. Note that Record Lockout can be changed using the protect and unprotect
commands from the Ethernet remote software.
17
FTP
'.e type
The following is the example of an FTP transfer fUes to and from the A60 .•••
indicates what is entered by the user.
host" rtp a60
Connected to a60.
220 Abekas A60 FTP (a60)
230 User OK
ftp> type image
200 TYPE OK
ftp> send pi ccy 25
200 PORT spec accepted: host 192.9.200.6 port 1061
150 OK here goes
226 File Transfer OK
699840 bytes sent in 4.92 seconds 0.4e+02 Kbytes/s)
ftp> send sym/symb576.rgb 25.rgb
200 PORT spec accepted: host 192.9.200.6 port 1062
150 OK here goes
226 File Transfer OK
1244160 bytes sent in 29.40 seconds (41 Kbytes/s)
ftp> quit
221 Clos1ng control connection
Note that the FTP MPUT command is useful for transferring a whole set of fUes with similar
names. The file name on the host computer has to contain a frame number.
host" Is pic·
picOOO.yw
picOO1.yw
host" ftp -i a60
Connected to a60.
220 Abekas A60 FTP (a60)
230 User OK
pic002.yw
ftp> type image
200 TYPE OK
ftp> mput pic·
200 PORT spec accepted : host 192.9.200.6 port 1061
150 OK here goes
226 File Transfer OK
699840 bytes sent in 4.92 seconds (1.4e+02 Kbytes/s)
200 PORT spec accepted : host 192.9.200.6 port 1062
150 OK here goes
226 File Transfer OK
699840 bytes sent in 4.92 seconds (1.48+02 Kbytes/s)
200 PORT spec accepted: host 192.9.200.6 port 1063
150 OK here goes
226 File Transfer OK
699840 bytes sent in 4.92 seconds (1.48+02 Kbytes/s)
fLp> quit
18
A60 Ethernet Manual
rep
hosl" rep pieey .60 :23
host" rep sym/symb576.rgb .60:rgb
rep: RGB Nola valid frame number
host" rep sym/symb576.rgb .60:24.rgb
host" rep .60:24.rgb zzz
Note that rcp from A60 to ' .'
(eg the same name in the current dir) is supported
host" rep .60:24.rlb .
host" Is • .rlb
024.rgb
The A60 wiU generate a file in the form [F) 001 [+] .yuv. The reverse case is not supported,
the A60 insists on baYing tbe filename specified explicitly.
host" rep symb576.rlb .60:
rep: . Not a valid frame number
By tbe same token directory copies or wildcards aren't accepted
host" rep • .rgb .60:
rep: A60 only supports single file transfers
A third party copy from another host to tbe A60 does work
host" rep otherhost:fr.me.yuv .60:45
it is implemented simply by invoking rcp on the otherhost via an rsh, the reverse is not
supported however since the rep command is not supported by the A60 'sheU'.
host" rep .60:22.rgb oiherhost:fr.me.rgb
rep: A60 cannot originate transfer - no hoslname table
19
Unix Script Hints
Hete are some suggestions for ways to use Unix Command Files to sbuCfle CUes onto or off the
A60. They all run under the 'C'sbell.
• copy dir SMe Siggraph 87
• copies all the frames with same root name eg 'pic' In pieOO 1.yw
• lakes 3 params : copydlr rooln.me hosl b.sefr.me
• note that frame numbers in filenames should have leading zeros
• - or Is screws up the ordering
set frame=$3
sel IIst·'ls $1 *'
foreach i ($lIst)
rcp $i $2:$frame
• frame++
end
• copy frames SMe NAB-88
• takes two args the base frame number and the total number to transfer
while($count > 0)
rep picey.$frame $1 :$frame
o frame++
o count-end
20
A60 Ethernet Manual
A6Q .Remote Control oyer Ethernet
The followilll notes outline the commands available over the A60's rep/IP Ethernet
connection. It assumes some knowledge of tbe operation of tbe A60. Refer to tbe A60
Operators Manual for more information on bow the machine can be divided into segments and
tbe limits on play speed etc.
Remote commands can be invoked in tbree ways relnet, Rsb and Rlogin. The following examples
assume the commands are given on a UNIX macbine witb the prompt host"
The A60 has several operatinl modes particularly Segment, Normal play and Loop Mode, most
of the commands given bere will work with tbe macbine in any state however they can leave tbe
machine in a different state.
Telnet
From Unix type
host~ telnet a60
Abekas A60 Telnet
860> play
a60> quit
rsh/rlogin
rsb allows a single command to be executed on the remote machine for instance
host" rsh a60 pilY -0.5
Both Rsh and Rlogin offer an interactive login, either
host" rsh 160
or
host" rlogin 860
Abekas A60 Remote login
860" pilY
a60" quit
the login can also be terminated by '"'0 or '"'C
21
Note tbat it is also possible to redirect a file to tbe remote sbell (even tbough this is not
strictly legal Unix Syntax). To acbieve tbe same effect between two Unix macbines you
actually bave to type "rsh rhost csh < script ..
host~ cat script
clearseg
defseg 100 200
defseg 300 400
Joopseg 1 2
host~ rsh a60 < script
This provides an easy way to keep track of tbe segment list from tbe bost computer since it is
not possible to read bact the segment list from tbe A60.
Feedback is limited to tbe 'wbere' command but tbis sbould be enough to indicate tbat tbe A60
has reached tbe end of a segment with a pause in it.
host" cat script
clearseg
defseg 100 200 pause
defseg 300 400 pause
loopseg 1 2
host~ rsh a60 < script
host" rlogin 860
a60~
w
165
a60~
w
174
a60" w
190
a60~
w
199
a60" w
199
a60~ plays
a60" w
307
Note tbat out point for a segment is not inclusive eg defseg 100 200 plays frames 100 to 199.
Note tbe following case where information can be interpreted by a shell script
• Record relative
II Record a single frame of input vtdeo at the current location
set frame·"rsh a60 where'
rsh a60 record input $frame
22
A60 Ethernet Manual
Gene~l Comm~nd Inform~tion
Upper or lower case allowed
Shorter forms of commands given bere can be given
Parameters separated by spaces
Only one command per line
Note that segments are numbered from one
Parameters listed in () brackets are optional
Be warned tbat in the case of ambiguity tbe earlier command in tbis list is executed.
P~r~meters
.,eed
1-110-91.10-91 limits +/- 30 for 525 line systems (25 for 625) resolves tbree decimal places eg
. -I 1.5 0.5 .5 -307.125 are all legal speeds
fraae
Ifll+-IIO-9911.:1I0-9911+-1 accepts absolute frame numbers with trailing ·+' to indicate the
second field or timecode with',' or ':' for field I or 2 field mode or auto frame is not changed
eg I
3:0 I 1.00.24 f231 + are all valid
sea
(1-1001 segments can be numbered from I - 100 Tbe segment number follows tbe order in
which the segments were del ined'
••arce
any of the follOWing is permissible as a record source, it should only be necessary to type the
initial letter of each option.
bars
pattern <patterfLJlum>
input - Digital Video in III
aux - Digital Video in 112
<frame> - a frame number
patter_a.
(from 0) 100% Bars, 95% Bars, 75% Bars, Lin Ramp, Mod Ramp, 10 Step, X Hatcb, 2T pulse,
Pluge, Multlburst, Bow Tie, Digital test, 100% Combo, 951 Combo, 75% Combo
di.ptay__e4Ie
field or frame
23
Commands
,lay (s,eed I
defaults to 1.0
play from the current position
stop
stop loop or play
lotolfr. .el
defaults to 0
goto the given field or frame
jet loffsetl
defaults to + 1
relative goto,
field or frame offset is determined by the current display mode
I.... <18> <o.t> Is,eedl
loop play tbe specified segment
.efa.. da) <oat> la,eMII,a.ael
define tbe next segment from in to out witb optional speed
speed defaults to 1.0
pause can be typed in full or just 'p'
l.s.. l.ell
defaults to I
loto the 'in' point of the given segment
,Iayael la,ee.1
play tbru tbe segment list from the current position
or alternatively resume playing after a pause
loo,sel da) <o.t) Is,eMI
loop play the specified segments
clears..
clear the segment list
.aero <.aero_••'er)
execute the given macro
,ait
c lose down the connection
24
A60 Ethernet Manual
"ostDaae
set the hostname returned in the prompts (default 'a60')
makes it easier to use two machines
wbere
where returns the current frame
record <Iouree> <iD> l<oat>1
records from various sources pattern, input or specifiC <frame> number.
Defaults to a single frame.
Using the trailing plus sign it is possible to record odd numbers of fields.
record 10 10+ will record a single field and record II + 13 will record three
fields starting on an odd boundary.
protect do> l<oat>1
write protects the given range, the range is inclusive
in frame mode the range is rounded up to the second field
aD,roteet <iD> l<oat>1
unprotects the given range
,atterll l,atter_a.1
draws the given pattern into the store
.ode Idil,lay__odel
with no parameters returns the current mode.
Note that to change the mode frame or field has to be typed in full
eDa.. le
unlock the A60 Keyboard (see Disable)
dilable
locks the A60 keyboard - prevents accidental use of the trackerball
can be overridden by pressing a <D....er> followed by the <Ito,>
button on the keyboard.
freeze
freezes the frames tore
a.freeze
unfreezes the frames tore , note that unfreezing will not change the display
unless the disk is already playing
iD,at ('II iD,atl
selects video input 1 or 2 (defaults to input 1)
reerel l&-1ieldll
record relative (ie like the control panel) from current position for
nJields (defaults to a frame)
25
•••
help leo••aad or par. .eter)
the help command provides information on individual commands or
parameters. With no arguments it lists all the commands available.
'help undoc' lists the undocumented commands.
Ir•• I.ooree)
grabs a single frame by unfreezing the video input for exactly two fields. This allows
external compositing with the A60 output, normally when selecting video in this case the
machine would just feedback.
source in this case is I or 2 for inputs I and 2 (defaults to one)
26
A60 Ethernet Manual
Installing an A6Q on a Unix Network
These notes apply in particular to SunOS, tbere may be local variations.
Installation sbould be simply a matter of adding the Internet address cbosen for tbe A60 to
the fi Ie I etc/hosts and tben entering this address on tbe A60 control panel.
for tbese cbanges to tbe bost macbine you will almost certainly require superuser privilege.
Tbis is probably the point to contact your local Unix Guru.
/etc/hosts
Edit tbe lelelhosts file (note that root normally has a II as a prompt)
In tbe rollowing notes "ourbost" is a fictitious example bostname.
ourhost- vi /ete/hosls
Entries in the bosts file bave the following format:
192.9.200.5
a60
Everything to the rigbt of a' II' is ignored as a comment. Lines consist or two or more fields
separated by whitespace (tabs or spaces). The first field on a line is tbe internet address of
the host. following normal convention it is expressed as four decimal numbers separated by
dots. The second field on a line is the hostname. Any subsequent names on the line are aliases
for the same machine (normally local abbreviations or nicknames).
Setting the A60 Internet Address
The A60's Internet address is set via the Miscellaneous Menu on the control panel. To select
the appropriate menu from the "Norm Play" home menu type 7 4 <Menu>,
Then enter the address in two halves as pairs of bytes separated by a dot.
eg
192.009 <enler>
200.005 <enler>
Note that leading zeroes have to be included.
Setting the A60
Hostn~me
The default A60 hostname is "a60" which is fine unless you have more than one. To make life
easier it is possible to change the hostname on the A60 so that it is obvious which machine
has been logged into. Simply log in to the a60 using Telnet or rlogin and issue tbe hostname
command to set a new name.
ourhost" rlogin .60
Abekas A60 Remote login
a60~
hoslname fred
fred" AD
ourhost"
27
Speci~l
notes for Yellow
P~ges
YelJow Pages
If there is more than one Workstation connected to the network running NFS the chances are
that the network service called the Yellow Pages will be running. The Yellow Pages allow all
the machines on the network to share the same configuration tables, especially things like
host names, password and account information. This simplifies the task of maintaining the
system wide databases and means they only need to be updated in one place.
The existence of the Yellow Pages can be determined by typing the command YJ)FlJiclJ Unix
should respond with the name of the yp server.
ourhost~
ypwhich
ypwhich : ourhost is not running ypbind
Says that tbe Yellow Pages are not running. (ypbind is the name of the program that accesses
the YP service)
ourhost~
ypwhich
yphost
Says the Yellow Pages are originating from the host called 'yphost'
When the yellow pages are running, network nodes only consult their own tables at boot time,
after this requests for system configuration such as hostnames are provided by the yellow
pages service.
The new hostname need only be entered on the YP server machine, It then bas to be "pushed'
out to all tbe otber clients,
First login on the YP server machine either over the net or by actually walking over to the YP
server.
ourhost'" rlogin yphost -I root
Update the lete/hosts file as described above.
Now we have to update the dynamic version of the bost table:
yphost- cd /etc/yp
yphost - mike hosts
Updated hosts
Pushed hosts
28
A60 Ethernet Manual
letclethers
There is a further refinement for certain networks that allows the A60 to ask the network
what its' Internet address is by way of the Reverse Address Resolution Protocol (RARP). This
requires an addition to the file letc/ethers .
Note that this step will not usually be necessary since the A60 stores its Internet address in
Non-Volatile RAM. It only uses RARP if the RAM contents are lost or the Internet Address is
manually set from the control panel to 0.0.0.0 and the machine is restarted twice.
To find out if a host supports RARP try the following:
yphost - p5 -ax I grep rarp
it should show you all the processes with anything to do with RARP apart from the line that
says "grep rarp" (which is part of the command you just typed) there ought to be a mention of
lusr/etc/rarpd if the RARP Daemon (the process that catches RARP requests) is running. If
this is the case you can add the Ethernet address of the A60 to the letc/ethers .
yphost- vi letclethers
A typ ical entry in ethers is :
O:O:76:60:FF:FF
a60
Again if the Yellow Pages is running you have to force it to update its' copy of the 'ethers' file.
yphost- cd letc/yp
yphost # make ethers
If the Internet address on the A60 is set to all zeros the A60 will attempt try to find its
address from the network when it is rebooted twice. If you watch the Internet Address Menu it
should show the correct address when it finds it.
If the Ethernet address of one of the Internet hosts changes you might have to flush the old
entry from the ARP tables in the kernel. This can be achieved by using the arp command.
ourhost- letc/arp -d a60
This deletes the table entry and forces the host to use ARP the next time a connection is
required. therefore obtaining the latest Ethernet address.
29
30
A60 Ethernet Manual
Implementation Notes
The following notes list the specific aspects of the implementation of TCPIIP on the A60.
Ethernet Address
The unique Ethernet Address for each machine is set in Software PROM for the 68000 (top 6
bytes of the 27256 at location 7C on the computer card).
A60's have an officially allocated Ethernet address range 00:00:76:60:XX:XX the last two bytes
being det~rmined by the Computer Card Serial Number, The Ethernet address of a particular
card should be engraved on the left hand side at the front of the card.
Note that if the Computer card is swapped the Ethernet Address is likely to be different.
The A60 is compatible with IEEE 802.3 or 10 Mbitls Ethernet V2 - the only difference is the
transceiver cable grounding arrangements.
The A60 doesn't care if the transceivers generate SQE - it's just ignored, however in practice
it has been found that some transceiver/cable combinations have produced problems that went
away when SQE 'was disabled.
Address Resolution
The A60 supports both the Address Resolution Protocol (ARP) and Reverse ARP.
The A60 will attempt to use RARP in the event that the machines' Internet address is set to
0.0.0.0 and a power-on reset occurs twice. This will either be the result of a really cold start
- eg the Non Volatile RAM in the machine has been trashed or if the address is set to 0.0.0.0
from the control panel and the Computer Reset button is pressed twice.
RARP will only work if someone out there is serving up EthernetlInternet address mappings
(such as the rarpdaemon on a Sun which refers to the letclethers file)
If there is no reply the Internet address will remain at zero.
31
IP
The A60 IP is not capable of re-assembling Crqmented packets.
The A60 sends ICMP protocol unreachable for se"ices it doesn't support such as UDP.
Incoming ICMP information is not recognized.
Ought to support GGP simple echo reply but it's never been tested.
Don't think we support 4.2 BSD/VAX Trailer Encapsulation whatever that is.
If the Least Significant Byte of the Internet address is configured as zero the ethernet drivers
will use the broadcast address. I'm not sure why we do this any more.
rep
The A60 TCP initial sequence number is always zero.
A60 TCP does not check security or precedence level of packets.
Since the A60 is not really a shareable resource it only supports one connection per socket.
Any subsequent connection attempts will be ignored.
When a TCP packet is not acknowledged, the A60 wHI resend the packet up to twenty times
with increasingly larger inte"als beCore aborting the connection.
Tep Sea size option of 1'160 is written out and the A60 responds appropriately by honoring
incoming SEG SIZE option up to 1460. The deCault segment size is 512.
PSH flag is now set Cor each packet sent - Pyramid systems seem really sensitive to this.
32
A60 Ethernet Manual
Telnet
None of the Telnet options are supported. The A60 wHI just respond courteously with the
appropriate negative response
eg WILL->DONT WONT->DONT DO->WONT etc
Ought to issue the Telnet Option "Suppress go ahead" especially since we don't issue Go
Aheads II but don't as yet.
A60 Telnet will accept CR. LF or CRLF as a line terminator.
The HP 9000/300 workstation has problems with A60 Telnet - <CR> doesn't locally echo as
<CRLF>use<LF> instead.
Symbolics systems seem to think that remote echo is a default option for Telnet - it isn't in
the book we have.
FTP
We attempt to minimize the password and accounting formalities by replying with a User OK
alter just a user name. Some applications at the other end still insist on providing a name and
password however facilities such as the Unix' .netrc' file can smooth the FTP login sequence.
The A60 isn't a real computer and there just wasn't space to keep track of names and access
permissions.
Third party FTP transfers (controlled from somewhere different from the data connection)
have never been tested.
When using FTP most applications require that TYPE IMAGE is specified in order to stop the
local host expanding Carriage Returns into Carriage Return-Line Feed sequences. Although
these aren't valid CCII 60 I video values (so they shouldn't appear in tbe file) it still takes tbe
host time to filter the data.
Hangs up at the moment if the Remote client restarts and our end is still open. It's OK if we
restart with the other end still up since the next packet sent from tbe other end will most
likely be out or sequence and illicit a reset from our end.
33
rep
A60 rcp can't cope with wildcard transfers eg the command
rcp *.rgb a60:
will return an error message
rlogin can be terminated by <control> D or <control> C In rlogin either ASCII back-space or
delete have the same effect.
rcp actually uses the rsh port
Gener~l
Segments that have been set "record lockout" from the A60 control Panel appear to the fUe
transfer utilities as write protected files.
Remote Control through the Login utilities is locked out while a file transfer is in progress.
When the A60 SCSI Port is in use the Ethernet services are not available
The A60 is still liable to hang up if the remote end of a connection goes away without any
warning - it keeps the connection open and refuses any further attempts to connect to that
port, even from the same host. At the moment the only way round this is to issue a reset
command over rsll, rlogin or Telnet (assuming they are not all hung at once). The reset
command will clear out all existing connections.
Filenames (or frame numbers) can have all sorts of directory junk on them - the parser works
back from the far end of the name - eg optional extension, plus for second field, frame
number, f for field.
34
A60 Ethernet Manual
Copyright Notice
Tbe following notice has to be included because Abetas Tep/IP is based on a Public Domain
program called PClIP originally written by John Romtey and others at MIT.
o 1984.1985 Massachusetts Institute of Technology
Permission to use. copy. modify. and distribute this program for any purpose and without fee
is hereby granted. provided that this copyright and permission notice appear on all copies
and supporting documentation. the name of M.I.T. not be used in advertising or publicity
pertaining to distribution of the program without specific prior permission. and notice be
given in supporting documentation that copying and distribution is by permission of M.I.T.
M.l.T. mates no representations about the suitability of this software for any purpose. It is
provided "as is" without express or implied warranty.
35
Release Notes
1.05
fixes the 'slow mode' that occasionally occurred on busy Nets
provides extra debug for FIN states. RARP and transmit failures.
At the higher level File transfers now restore the original display mode
new commands: Disable. Enable. Protect. Unprotect and help,
1.06
•
fixes MIT PC problem Raw transfer ending mid-packet
Loop command with In -- Out is now trapped as illegal
Close Wait state actually waits - no longer sends RST
Doesn't send ACK unless some data arrives (fewer Resets)
Ether statistics eg lost packets available from rlogin
Max TCP Segment Size now offered as 1460 bytes (was 102-i)
Transfer From A60 in RGB for 1460 byte packets fixed - upset rlogin
rcp to A60 non existent file handles error message correctly
rcp originating from A60 (rcp a60:0 host:fUe) - now trapped properly
Odd byte packet start addresses now OK
Tidied up Closing states FIN now retransmitted
handles timLwait state properly. waits to catch any ACKs
Locked out play commands during Transfer (NB keybd still active)
No longer left in freeze after record command
Buffer wrap around problem - FTP MPUT (too many commas error II)
also occasionally missed frame in the middle of long MPUT
Raw ends before all up to date esp from PC
Record command now shows next frame rather than In point
Test Patterns drawn a Hne higher in the store (1st line was black)
debug command with no param returns current setting
1.07
RGB conversion doesn't blow up with values less than 16
SYN's rejected on open connections
SYN's ignored during Time-Wait state
Window less than zero problem fixed
FTP waits longer for its' data connection
Chunts and reassembly cleared between connections
1.08
fixed Address error if RGB read allowed to have odd length
Retry times are now exponential eg wait twice as long each time
Window and retry time can now be tweaked from debug
rcp debug per tcb - includes II of times it gets ahead
36
A60 Ethernet Manual
1.09
Reset over rlogin clears frames tore lock
NOOP FTP command fixed
TYPE L8 accepted in FTP
1.10
Help for undocumented commands
Help parameters can be sbortened
Interpolator turned off if Bars are drawn
1.11
fixed bug in bug fix for non null sent by rcp
added PSH to all packets to keep Pyramid bappy
New commands for paint systems, input. freeze and recrel
1.12
fixes crash when offered window is greater than 1460 - againl
1.13
fixes a couple of SCSI problems
extended commands didn't expect the correct number of command bytes
undid an old bodge to support Kennedy s/w 241-002 and greater
1.14
fixes another SCSI problems - bangups with a Sun 3/260
now bave SCSI debug - select debug level 9
also fixes 'slow' mode etbernet - finally fixed those buffers and interrupts for good
37
Troubleshooting
Some of these things are probably covered efesewhere in the user manual but if like me you
only turn to the manuals when something appears to be broken this might save you some
reading.
Common Problems
Ethernet cable
Is the machine correctly connected to the ethernet cable?
Assuming Ethernet activity can be generated from another bost eg attempt to 'ping' the A60
repeated Iy.
There is an LED on the computer card (second from left) that shows Ethernet activity Some
Transceivers (eg Cabletron) also have transmit, receive and collision LEOs whicb are or great
assistance at this stage.
Receive LEOs permanently .on' on both the Transceiver and the Computer Card - Transceiver
not connected to cable.
Collisions with every receive - cable incorrectly terminated.
Receive at transceiver but not at Computer - Problems with the Transceiver cable.
There bave been some strange problems related to particular Tranceivers - if you are
experiencing problems sucb a a lot of retrys and you have more than one type available try a
different one. If possible use a transceiver wUh SQE turned orr.
Ethernet Address
Has the Ethernet Address cbanged ?
In some cases where the software or the computer card is changed the Ethernet address migbt
be different. Some systems retain 'bostname - ethernet address tables thatneecl to be flusbed
in the unlikely event that the address changes. (see the last paragraph of the preceeding
section on Intaslleing on a Unix network - letc/etbers.
38
A60 Ethernet Manual
Internet Address
Is tbe Internet Address set up correctly?
Assuming you bave access to a 'ping' program and that tbe Internet address bas been entered
on the Control panel. Note that ping is sometimes hidden away in letc or lusr/etc,
The Internet address sbould have the same network address as tbe rest of tbe bosts on the
same local net. The networt address is tbe top byte of the internet address if tbe top byte is
less than 128. the top two bytes if tbe top byte is greater or equal to 128 and less than 192 or
tbe top three bytes if tbe top byte is greater or equal to 192. If tbe Network part of the
address is not the same the remote bost will tbink the A60 is on a different network.
Most pings will bave to start by using ARP to find tbe Ethernet Address of tbe A60.
There are two LEOs on tbe front of the computer card. CSEN sbows etbernet carrier sense and
sbould flicker with any network activity. DNA shows the Ethernet Controller is driving the
68000 bus indicating that packets are being transmitted or received by tbe A60.
If Ping fails more than about I percent of tbe time. unless the network is unusually beavily
loaded this sounds like a noise or grounding problem. The A60 does suffer spurious collisions
on transmit if tbe Transceiver cable is improperly sbielded.
68000
Is tbe Motorola 68000 that controls the A60 Etbernet Hardware running? If tbe 68000 bas
hung the A60 will be unable to write test patterns into the store but tbe disk transport
functions may appear to work OK. - Press the Reset Switcb on the Computer card at the right
band side near the front. - Check for bent pins on the 68000 PROMs I C-7C
DiSKS
Are the disks up ? If communications appear to be OK but the A60 won't record or play. tbe
disks might be spun down. there is a toggle switch on the front of tbe Computer card wbich
should be to the right for normal operation.
Z80's
Has one of the Z80s crashed? If the HLC or LLC goes down the A60 wHI not respond to
commands from the control panel. The Status display may be showing an illegal timecode or
may be corrupted. Operation of the Z80's is closely coupled to the incoming reference sync. If
this is removed or replugged they may become confused. If the HLC is not running the whole
machine hangs up and all the ligbts on the control panel stay on. If tbe Reset button fails to
correct this condition try clearing the Non-Volatile RAM by cbanging tbe position of tbe first
DIP switcb at 18k on the computer card.
39
Reference Syncs
Is the external reference selected correctly? If the disks are making strange noises trying to
lock to a non-existant sync switch the Internal/External Sync select to Internal (the right).
RGB Transfers
If the data comes out stepped diagonally as a result of an FTP check that TYPE IMAGE was
specified before the send (some FTP programs at the host end expand out CRLF sequences in
the default ASCII mode II)
If YUV data can be transferred OK but RGB comes out pink and green:
Is the file extension being specified correctly?
Finally if all the data comes out green there may be problems with the MAC chip.
Colorized Video
If the computer card is changed and the existing material on the disk is suddenly weird colors
you probably forgot to change the Flaw Map proms (19E and 23E) to the new computer card.
Field Service Ctlll
In the event that you decide to call Abekas Field service for an Ethernet related problem it
helps if you have the following information to hand.
Software version numbers (see the diagnostic menu 4)
System configuration: Types of host computersl Operating system
Network Configuration. how many hosts. is it busy?
Application used eg Rlogin. FTP. homegrown rcp
Which direction were you transferring data?
Was it an RGB or YUV transfer
Did the connection hang up or the A60 crash (can you still draw color bars)
40
A60 Ethernet Manual
Doing your own Debugging
If you are really keen there is copious debug information generated by the A60 as packets
arrive.
Debug Port
The A60 Computer bas a 15232 serial port on tbe front of the Card for debug It runs at 9600
baud and only sends data it does not receive it. The connection is tbrough the 5 pins on tbe
right-hand end of the card The right most pin is pin I wbich is the transmit data from tbe
A60 and tbe center pin. pin 3 is around. Pin 2 would be receive if it did anything.
1-->3
2<--2
3---7
A60 Debug -- 15232 (DTE) 25 way DType
Debug Mask
The bexweilhtinls of the bits in tbe debug mask are as follows:
2000
I 000
800
400
200
100
80
40
20
10
8
4
2
1
FIN debul - Turn on Tep debug as connection closes
f~estore addressing info
Tep window info (turns on Tep when packets are out of sequence)
Tel net
IP
Tep
Application el FTP or rsh
Timeouts
Ethernet
Protocol Errors
Network Errors
Info messages
Dump packets (when IP debug is on as well)
Bughalt
Debug level can be set througb any of the login connections by using the debug command with
a hex argument.
41
Abelras
Alternatively the debug level can be set from the control panel (menu 7 3) the equivalent
debug setting in hex is given in parentheses.
oDebug off
I Errors and TCP
2 Errors TCP and Window
3 Everything except Dump
4 Errors and Application
, Errors TelnetlSockets and Application
6 Errors Telnet/Sockets Application and TCP
default Errors and TCP
(1IC)
(91C)
(lFC)
(09C)
(49C)
('9C)
(II C)
Note that with debug on the macbine will run more slowly especially with the lower levels of
debug where it has to print several lines per pactet.
The A60 debug represents non-printing ASCII vales as a bactslash followed by two hex digits.
The buffering for the debug port is fairly crude so if there are large amounts of debug
information being transmitted the buffer can wrap round and information can become garbled.
High Level Debug
If the Telnet/Socket debug bit (400) is set the following messages will be generated
***** "\00"
* * * * * "simon\OOdebug 80\OA"
Lines starting with five stars show what arrives on a pactet by pactet basis. The text is
enclosed in double quotes and any non printing characters appear as bactslash and two hex
digits.
*** Open
*** RSH EXIT
TElNET recv opt: DO SUPPRESS-GO-AHEAD
If the Application debug bit (80) is set the following messages will be printed
Lines starting with three stars show significant events sucb as opening and closing
connections.
RSH EXEC GOT FNAME
RSH EXEC play
TElNET EXEC goseg
42
A60 Ethernet Manual
TCP Debug
Port Numbers
20 FTPData
21 FTP Command
23 Telnet
513 rlogin
514 rsb and rcp
These are tbe 'well known' port numbers used by tbe A60
Tep 1022 send [4] 102.9.200.3 1021 (lcb 4) Seq 33741057 Ack 1 Win 4096 SVN ACK
Intitially TCP debug describes eacb packet by the local port number and tbe foreign Internet
Address and port. Once Establisbed tbe TCP connection is only referenced by tcb (tcp control
block) number.
TCP (4) send [0] Seq 1 Ack 33741058 Win 450 PSH ACK
IP Debug
j pdemux
got pk t[ 120] prot 6 from 192.9.200. 1
On the input side IP prints a message per packet with the length and the protocol number.
Relevant protocol numbers are as follows:
TCP 6
ICMP I
GGP 3
inwrite pkU2S] prot 6 to 192.9.200.1 route 192.9.200.1
Ethernet Debug
Ethernet level debug takes the follOWing form:
ET_SEND: p[45] -> 192.9.200.1
EL..DEMUX: got pkt[601 buf(O) type IP
ET free buf(O)
Recognized packet types
IP 0800
ARP 0806
RARP 8035
43
A ping should look like this. First there is an AlP request for the A60's ethernet address,
then an ICMP echo request.
ELJ)EMUX: got pkU60] type ARP
ET_SEND -) 08:00:20:01 :FF:9C
et free buff(4)
ET DEMUX got pkU98J buf(S) type IP
fpdemux: got pkU64J prot 1 from 192.9.200.1
ICMP: p(64) from 192.2.200.1
ICMP: echo reply to 192.2.200.1
inwrite pkU64) prot 1 to 192.9.200.1 route 192.9.200.1
ET-SEND: p[64J -) 192.9.200.1
Some packets wHI be discarded - AlP requests that are not intended for this machine and
broadcast packets from unsupported protocols such as XNS.
44
A60 Ethernet Manual
Glossary
AlP
Address Resolution Protocol - used to obtain Internet to Ethernet address mappings when
they are needed rather than maintain a static list on each host.
AIPA
Advance Research Projects Agency. US Government agency responsible for developing
TCP/IP family of protocols.
AU)
Attachment Unit Interface - the long way of saying transceiver cable. Normally limited to
50 meters and carries twisted pair differential signals for transmit. receive and collision
detection. The AUI cable also carries 12v power for the Transceiver.
Bri ••e
Bridges are generally connections between Networks of the same type at the Data Link
Layer.
Broadcast Pactet
an Ethernet packet carrying the address FF :FF :FF :FF :FF :FF which will be received by all the
hosts on the network.
CCI1611
This is the Standard for digital video drawn up by the international committee it is also
referred to as SMPTE RPI25 and EBU 3246-E.
Clleatteraet
an alternative form of ethernet that uses thin RG58 50-Ohm cable with BNC connectors and
'T' pieces at the transceivers rather than that normally used for Ethernet. This cable suffers
from greater loss and the the cable run is typically limited to 185 m. In aU other respects it
is electrically compatible with 'Normal' Ethernet.
Clieat
The consuming (user) end of a client-server relationship.
Ce.a.tiD.
the link between two specific ports on two Internet Hosts analogous to a telephone call being
set up between two phones on a network.
CIC
Cyclic Redundancy Check - a sort of serial check sum that assures the integrity of a serial
data stream by using some sort of polynomial feedback - basically a shift register and a few
exclusive-or gates.
CSMA-CD
Collision Sense Multiple Access with Collision Detection - Describes the mechanism that
allows several devices to share the single Ethernet cable.
45
Abela
D•••ia . . .es
A name addressing scheme that uses a hierarchy of domain names to describe the address of
a remote computer in a similar way to a mailing address eg simon.master.abekas.COM
Etlaenet 'I ... '2
The original Ethernet standard was developed by Xerox and published jointly with DEC and
Intel.
Etlaereet Ad.ress
A 48 bit address conventionally written as 6 hex bytes separated by colons The IEEE hopes
that there are enough addresses for every piece of ethernet equipment in the universe to
have its own unique address. Typically vendors ship equipment with the Ethernet address
contained in a small bipolar ROM.
Fr. . .eats
Sub divisions of Internet packets - sometimes necessary if different networks have different
maximum packet lengths.
FTP
File Transfer Protocol
4:2:2
The Ratio of the sampling frequencies for components in Digital Video. Four Luminance
samples for each two of the color difference signals.
Gatew.y
Gateways allow interconnection of different Networks at the Network layer.
IEEE .12.3
The IEEE standard for CSMA/CD Networks. forms part of the 802.x family of standards for
Local Area Network Interfaces and Protocols.
lateraet Address
A Four byte number representing the address of a host on the "Internet".
J•••er
A condition detected by a Transceiver to prevent locking up the network - If the output is
active for more than 1/10 second the Transceiver should latch up and prevent further
transmissions until the Transmit signal is inactive for at least 1/4 second.
Jaa
A collision signal generated by a repeater so that the cable segments on both sides of it are
aware that a collision has occurred.
46
A60 Ethernet Manual
H..,
A computer that is a node on a network.
H_,The....
name by which a particular machine is tnown at the user interface level - normally
associated with a Network address.
IIAU
Medium Attachment Unit The official IEEE name for what mortals refer to as a Transceiver.
IFS
Network File System (Developed by Sun Microsystems)
lie
Network Information Center - The central repository (or aU information regarding the
development of the ARPAnet
051 L.y..... lIedel
The much vaunted abstratt model for the seven layer hierarchy of network protocols issued
by ISO the International standards body. Still under development at the higher layers.
'ia.
Program that uses the ICMP Echo Request facility to verify the connections between two
machines. Note that this only verifies correct operation up to and including the Network
layer or Internet Protocol.
, ..., I ••'e..
An addressing scheme within a host computer that aUows more than one simultaneous
connection to that computer.
lepe.,....
Repeaters interconnect or buffer two sections of the same Network with very little
inteUigent signal processing.
IFC
Request For Comment - the main instrument of the ARPA Community a sort of Network
Memo. Often quoted in references e.g. RFC 793 is the latest description of TCP. They are
avaHable from the Network Information Center (see NIC above).
Sene..
A host or node on the network that provides a service. eg a File Server provides a File
system for Diskless nodes.
SQB
Signal Quality Error - some Ethernet Transceivers generate a collision signal immediately
after each transmission. This permits the Ethernet Interface to verify that its collision
detection circuitry is functioning correctly.
47
Sectet
A socket is an abstraction in BSD Unix for the interprocess communications primitive the
known as the pipe. A socket can be opened in much the same 'flay as a rile would be opened.
Telaet
ARPA remote terminal/login program.
TFTP
Trivial File Transfer Protocol - built on UDP - Simple to implement.
IIBASE5... .IBASE2
IEEE names for Ethernet and Cheapernet respectively, abbreviated from IIMHz Bueband
500m and 200m maximum length. (watch for a twisted pair spec)
T.ia-LAI or T.ia-aet
see Cheapernet
Tr...eelyer
The box which attaches the Host computers' Ethernet Interface to the cable. The best ones
use a spike arrangement to non-intrusively attach to the cable (eg without cutting i1). The
transmit and receive signals are coupled onto the cable through isolating transformers. The
transceiver is also responsible for detecting collisions.
UNIIis a Trademark of AT& T Bell Laboratories I Available in two main flavors (at the time of
writing) BSD 4.2 and ATT system V, others based on the PC platform include SCO, Microport
and Xenix. The Berkeley Software Distribution (BSD) version is the one that first supported
the ARPA protocols, most popular Unix Systems eg SunOS, HP-UX and DEC Ultrix are a
mixture of the Berkeley and AT& r.
UOP
stands for the User Datagram Protocol, a datagram is a stand alone packet with no can be
transmitted over the network with no implied sequence or guarantee of delivery. UDP is an
alternative to rcp at the Transport Level NFS and Yellow Pages are built on top of it.
1.25
Public Wide Area Packe~ Slfitched Network Standard.
lellow'..e.
The Yellow Pages is a network service that provides network wide Password and system
information from a sinsle database. Written by Sun Microsystems but available on many
systems.
IUY
the Native data format of tbe A60, an alternative encoding to RGB for component video and
one that is more suited to the limited bandwidth of Broadcast TV. The Y channel is
luminance and the U and V are color difference components B-Y and R-Y respectively. The
color difference signals are normally stored at half the sampling frequency of the
Luminance.
48
A60 Ethernet Manual
Example Programs
The following programs are examples of remote control and file transfer from within a
program on a Unix system using the socket interface.
The first is a simple SunView application intended to demonstrate use of the Berkeley Socket
interface and remote control of the A60 over Ethernet.
It consists of three files. demo.c the Ethernet interface to the A60. panetc a Simple Suntools
panel. and a60Jcon an icon used by the program. To compile it you have issue the following
command assuming you have access to the appropriate libraries.
" cc demo.c panel.c -Isuntool -Isunwindow -Iplxrect
-0
demo
There can only be one connection (to A60 rlogin) open at a time so if the window does not
appear the A60 rlogin connection must already be open.
The program makes no attempt to interpret or dispose of any output from the A60 this is just
being buffered up. This should not prove to be a problem since there is no echo unless tbe
rlogin was opened up with the string "\Osimon\Osimon\Osun/9600\0". Rlogin turns off echo if
the terminal speed parameter is omitted.
The second program demonstrates transfer of an RGB image directly into the A60 from a
program, simulating the operation of the rep command. It does not use the SunView interface.
In the form presented it has very limited use since it always transfers the image to a hardcoded frame number. If the image is to be in YUV format the file extension specified in the
command string and the transfer length will be different.
Note that this program will not copy to a normal Unix host because it bypasses the normal
access permissions required by Unix safe the knowledge that the A60 does not require a
reserved originating socket number below 1024. The program normally has to be running as
root to bind to a privileged socket.
49
demo.c
1* demo.c - Quick lash up to show remote control of A60
* - from within a 5unOOois app - using TCP/IP
* Copyright @ 1987 Abekas Video Systems Inc.
*
* Based on an example proggys
* in the IPC Primer in "Networking on the Sun Workstation"
*1
-include
-include
-include
-include
-include
-include
char
char
char
char
<stdio.h>
<netdb.h >
<errno.h>
<sys/types.h>
<sys/sockel.h>
<netineVin.h>
login-slr[] • "\Osimon\Osimon\Osun\O";
play_fwd-str[) "play\n";
play...back-str[) .. "play -1\n";
stop-str[] :: "stop\n";
int sd;
111
1* global socket descriptor * I
open-connection( )
(
slruct sockaddr_in skt;
struct servenl *rlogin-service;
strud hostent * a60;
int Iport;
char c, tmp-str[801, str[80J;
if(Crlogin-Service • getservbynameC"login", "tcp"» - NULL)
(
fprintf(stderr, "demo: tcp: unknown service\n");
exitC 1);
}
if(Ca60 • gethostbyname("a60"» _. NULL)
(
fprintfCstderr, "demo: a60 : unknown host\n");
exitC 1);
}
50
A60 Ethernet Manual
bzero«char • )&skt. stzeof(skt»;
bcopy(a60->tLaddr, (char • )&skt.silL8ddr, a60->tLJength);
skt.stlL8ddr .5Jddr .. INADDR..ANY;
tf«sd = socket(AF_INET. SOCK_STREAM. 0» < 0)
(
perror("demo : socket");
exit(3);
}
bzero«char • )&skt. sizeof(skt»;
bcopy(a60->tLaddr. (char • )&skt.stlL8ddr. a60->tLJength);
skt.stn_family .. a60->tLaddrtype;
skt.sin....port = rlogirLService->S-J)ort;
if«connect(sd. (char • )&skt. slzeof(skt») < 0)
(
perror("demo : connect");
extl(3);
}
printf("OK so far\n");
wrile(sd. 10gilLStr. sizeofOogin-slr»;
}
close_connectionO
(
close(sd);
}
play_forwardsO
(
write(sd, pi ay_fwd-str , strlen(play_fwd.-Str»;
}
play-'>ack wards()
(
wrile(sd. play-'>ack-str, slrlen(play-'>ack-str»;
}
stopO
(
write(sd, stop-str, strlen(stop-str »;
}
51
p22nel.c
1* panel.c - quick lash up to show remote control of A60
* - from within a Suntools app - using TCP/IP
• see Sunview programmers guide for examples
* CODyright (c) 1987 Abekas Video Systems Inc.
*1
-include <suntooJ/sunview.h>
-include <suntool/canvas.h>
-include <suntool/paneJ.h>
-include <stdio.h>
-include <math.h>
static short icon_imager J =(
-include "a60.icon"
};
DEF INE_'CONJROtLIMAGE(a60_icon, icon.Jmage);
Frame frame;
Canvas canvas;
Panel a60-panel;
Panel_item playJw<Lbutton, stop...button, play...back...bulton;
Pixwin *pw;
Pixfont *font. *bold;
static Notffy_value calcfLclosesO;
1* calls nve routines from demo.c
* these first three are called when the appropriate button is pressed * I
extern void play...backwardsO;
extern void stopO;
extern void play_forwards{);
1* also calls operLConnection and close_connection as the window
* is opened and closed * I
52
A60 Ethernet Manual
mainO
{
/,. open fonts ,. /
font = pf_open ("/usr/Jib/fonts/fixedwidthfonts/screen.r .12");
bold = pf_open ("/usr/Hb/fonls/fixedwidthfonls/screen.b.12");
/,. create frame ,. /
frame = window_create(NULL, FRAME,
FRAME.l.ABEL. "demo - A60 pane)".
FRAME_ICON. &a60_icon.
0);
a60-panel
= window_create(frame. PANEL.
0);
play.....back.....button = paneLcreate_ilem(a60-panel. PANEL-BUTTON.
PANEl. NOTIFYYROC. play.....backwards.
PANEL.l.ABEL_IMAGE.
panel.....button_image(a60-Panel. "« ". 4. bold).
0);
stop.....bulton
=
paneLcreate_item(a60-panel. PANEL-BUTTON.
PANEL~OTIFYYROC. stoP.
PANEL.l.ABEL_IMAGE,
panel.....button_image(a60-panel, "STOP", 6, bold),
0);
play_fwd-hulton = paneLcreale_item(a60-panel, PANEL-BUTTON,
PANEL~OTlFV YROC , play_forwards,
PANEL.l.ABEL_IMAGE,
panel.....button_image(a60-panel, "»", 4, bold),
0);
window_fit(a60-paneJ);
window _fi l( frame);
notify_interpose_evenLfunc(frame, catch-closes, NOTIFY_SAFE);
opeO-connecUon( );
window-.main_loop(frame );
}
53
Abela
1* this routine Intercepts events and catches open and closes * 1
static Notify_value catctLcloses(frame, event, arg, type)
Frame frame;
Event * event;
Notify...arg arg;
Notify_evenLtype type;
int was-elosed, now-elosed;
Notify_value value;
was-.elosed
=(tnt) wlndow-Qet(frame, FRAME_CLOSED);
value = noUfy...nexLevenLfunc(frame, event, arg, type);
now-.elosed
=(tnt) window-Qet(frame, FRAME-CLOSED);
tf(was-closed 1- now-closed)
if(now-.elosed) close-.eonnecUonO;
else open-connectionO;
return(value);
}
54
A60 Ethernet Manual
~60.icon
/* FormaLversion-l, Widlh-64, Heighl-64, Deplh-l, Valid-bils-per_ilem-16
*/
0x0000, 0x0000, Oxoooo, 0x0000, oxOOOO, oxOOOO, oxoooo, OxOOOO,
OxOOOO, oxOOOO, 0x0000, oxOOOO, Oxoooo, 0x0000, OxOOOO, OxOOOO,
OXOOOO, OKOOOO, oxOOOO, oxOOOO, oxOOOO, OxOOOO, 0x0000, oxoooo,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, oxOOOO,
Ox07FF, OxFFFF,OxFFFF, OxFFoo, 0x0622,0x2222,0x2222,0x2240,
Ox0444,0x4444,0x4444,ox4440,oxOSFF,oxF911,0x111S,0x3140,
Ox04FF, 0xF888, ox888A, ox08oo, 0x0eFF, OxFA22, Ox223E, 0xB240,
0x0444,ox44SF,OxFFCS,0x1440,OxOS11,0x111F,OxFF90,ox1140,
0x0488, Ox889F,OxFF88, Ox88C0, 0x06E3,OxBF3F,OxFFR2,0x2240,
Ox04E7,OxDFSF,OxFFC7,OxE440,0x05F3,0xQF 1F,OxFFQ7,0xF 140,
Ox04EB,Ox9F9F,OxFF8F,OxF8CO,0x0eE3,0xBF3FjOxFFBF,OxFE40,
0x04E7, 0xDF5F, OxFFDF, OxFC40, 0x05F3, 0x9F 1F , 0xFF9F, 0xFD40,
Ox04EB,Ox9F9F,OxFF9F,OxFCCO, Ox06E3, OxBF3F, OxFFBF, 0xFE40,
Ox04FF, OxDFSF, OxFFCF, 0xFC40,0x05FF,0x9F1F,0xFF97,0xF140,
Ox04FF,OxQFgF,OxFF8B, OxE8CO,0x0622,Ox2222, Ox2222,0x2240,
0x0444 , Ox4444, Ox4444 , Ox4440, 0x0311 , Ox 1111 , Ox 1111 , Ox 1140 ,
Ox07FF,OxFFFF, OxFFFF, OxFFCO,OxOOOO,OxOOOO,OxOOOO, OXOOOO,
OxOOOO, oxOOOO, 0x0000, OxOOOO, 0x0000, OxOOOO, 0x0000, 0x0000,
oxOOOO, oxOOOO, oxOOOO, OxOOOO, OxOOOO, oxOOOO, 0x0000, oxOOOO,
OxOOOO, OxOOOO, oxOOOO, OxOOOO, OxOOOO, OxOOOO, 0x0000, 0x0000,
OxOOOO, 0x0000, OxOOOO, OxOOOO, 0x0000, oxOOOO, oxOOOO, OxOOOO,
OxOOOO, OxOOOO, OxOOOO, OxOOOO, oxOOOO, oxOOOO, 0x0000, OxOOOO,
Oxoooo,OxooOO,OxOOOO,OxOOOO,oxOOOO,OxOOOO,oxOOOO,oxOOOO,
0x0000,Ox0083,0x8700,OxOOOO,OxOOOO,0x0084,0x48BO,OxOOOO,
oxOOOO, OXO 144, Ox0890, Oxoooo, 0x0000, OX0144,0X0980,OXOOOO,
OxOOOO,0x0147,0x8A80,OxOOOO,OxOOOO,Ox0224,Ox4C80,OxOOOO,
OxOOOO,Ox03E4,Ox4880,OxOOOO,OxOOOO,0x0224,Ox4880,OxOOOO,
OxOOOO,Ox0223,Ox8700,OxOOOO,oxOOOO,oxOOOO,0x0000,OxOOOO,
OxOOOO,oxOOOO,OxOOOO,OxOOOO,OxOOOO,OxOOOO,oxOOOO,OxOOOO,
oxOOOO, oxOOOO, OxOOOO, oxOOOO, OxOOOO, 0x0000, OxOOOO, 0x0000,
OxOOOO,OxOOOO,oxOOOo,Oxoooo,OxOOOO,OxOOOO,OxOOOO,oxOOOO,
OxOOOO, OxOOOO, OxOOOO, OxOOOO, OxOOOO, OxOOOO, 0x0000, Oxoooo
55
mycp.c
1* mycp.c example of a homebrew rcp
* this version works for rgb and always writes to the same frame I
* @ 1988 Abekas Video Systems Inc.
*1
#include
#include
#include
#include
#include
#include
char
char
char
cAar
<stdio.h>
<netdb.h>
<errno.h>
<sys/types.h>
<sys/sockeLh>
<netinet/in.h>
Jogin-slr[] ... "\Osimon\Osimon";
command_str[] = "rcp -t O.rgb";
fiJe-str[] ... "C0666 1049760 mypiecy\n";
close-str(J = "\0";
int sd;
1* global socket descriptor * I
mainCargc. argYl
int argc;
char * * argv;
(
int 1. j;
FILE * piecy;
char line[720*3];
open_connectfonO;
piccy = fopenCargv[ 1], "rK);
for(i=O; i<486; i++)
(
freadOine, 720*3, 1, piecy);
writeCsd, line, 720*3);
}
cJose_connectionO;
}
close_connectionO
(
char tmp-strl20 J;
int n;
write(sd, close-str, sizeof(close-str)-l);
n ... read(sd, tmp-str, 20);
close(sd);
}
56
1* this ought to be variable * I
1* different length for yIN * I
A60 Ethernet Manual
open_connecUon( )
(
struct sockaddr-.In skt;
struct servent * rlogin-service;
struct hostent *a60;
int lport;
char c, tmp-str[80], strl80];
int n;
if«rlogiruervice = gelservbyname("shell", "tcp"» - NULL)
(
fprintf(stderr, "demo: tcp: unknown service\n");
exiteD;
}
if«a60
= gethoslbyname("a60"» ==
NULL)
(
fprintf(stderr, "demo: a60 : unknown host\n");
exit( 1);
)
bzero«char * )&skt, sizeof(skt»;
bcopy(a60->hJddr, (char * )&skt.sinJddr, a60->h_length);
skl.sin--8ddr .SJddr = INADDR-ANY;
tf(sd
OIl
sockeUAF _INET, SOCK_STREAM, 0» < 0)
{
perror("demo : socket");
exit(3);
}
bzero«char * )&skt, stzeof(skt»;
bcopy(a60->hJddr, (char * )&skt.sinJddr, a60->h_length);
skt.sirLfamiJy = a60->hJddrtype;
skt.sin-porl = rlogin-service->s-port;
if«connect(sd, (char * )&skl, sizeof(skt») < 0)
{
perror("demo : connect");
exit(3);
}
write(sd, login-slr, sizeof(JogirLstr»;
n = read(sd, lmp-str, 20);
prinlf("read "d\n", n);
write(sd, command_str, sizeof(command-str »;
n = read(sd, tmp-str, 20);
printf("read "d\n", n);
wrile(sd, file_str, sizeof(file-slr )-1);
n = read(sd, tmp-str, 20);
printf("read "d\n", n);
J
57
Appendix
This information is provided for those who intend to write their own applications to
'manually' access the fHe transfer and remote control services on the A60.
TCP/IP Packet Dump
The following is a complete dump of a packet in case anyone out there is interested.
Physical
I
Link
I
Network
Transport
I
I
AA AA AA AA AA AA AA AB
00 00 76 60 FF FF
08 00 20 01 FF 90
0800
4500
0035
FE 70 0000
OF 06
902B
CO 09 C8 01
CO 09 C8 05
Destination Addr
Source Addr
Type
Version. Header len. Type of Serv
Length
ID. Fragment Stuff
Time to live. Protocol
Header Checksum
Source Address
Destination Address
21 83
00 17
18 4A OE DB
0000003B
50 18
1000
AACF
0000
Ethernet Preamble and sync
Source Port
Destination Port
Sequence
Acknowledge
Flags
Window
Checksum
Urgent Pointer
68 65 6C 6C 6F 20 77 6F 72 6C 64 00 OA Data
2A 2B 49 80
58
Ethernet CRC
A60 Ethernet Manual
FTP Implementtltion
The foUowing notes are intended to show the various states and messaaes of the Abekas FTP
server.
Defaulls
As suggested in the ARPA FTP Paper these are the defaults assumed by A60 FTPa
ftp->fport ftp->Iport •
ftp->passive ftp->lype =
ftp->formalftp->byte-size =
ftp->mode ftp- >structure =
20;
20;
FALSE;
ASCII;
NON-PRINT;
8;
STREAM;
FILE;
Opening Message
220 Abekas A60 FTP (Hostname)
220 Abekas A60 FTP
Commands and Responses
The following are a list of all the commands supported and the possible responses. Some of the
responses are as the result of internal events such as ABORT where the data connection was
closed mid-transfer.
USER
name> 20
500 Username too long
230 User OK
QUIT
221 Closing control connection
PASV
227 Entering Passive Mode. iii,iii,iii,iii,ppp,ppp
PORT
error
501 Host/Port spec not enough commas
200 PORT spec accepted : host iii.iii.iii.iii port nnn
59
TYPE
error
501 TYPE : bad args
ASCII
NON-PRINT
200 TYPE OK
NON...PRINT
TELNET
CC
504 can't cope with that TYPE
IMAGE
200 TYPE OK
EBCDIC
504 can't cope with that TVPE
LOCAL
8
200 TYPE OK
else
504 can't cope with that TYPE
MODE
error
501 MODE : bad arg
STREAM
200 MODE OK
BLOCK
COMPRESSED
504 can't cope with that MODE
STRU
error
501 STRU : bad arg
FILE
200 STRU OK
RECORD
PAGE
504 can't cope with that STRU
60
A60 Ethernet Manual
RETR
arlC 1- 2
50 1 arg count
name parse
550 Bad File name
data conn
125 Data Connection already open
150 OK here goes
UNOPEN
425 Can't open Data Connection
ABORT
426 Connection Closed Transfer Aborted
LRESET
426 Connection Closed Local Reset
FRESET
426 Connection Closed Foreign Reset
NORMAL
226 File Transfer OK
STOR
name parse
550 Bad File name
data-conn
125 Dala Connection already open
150 OK here goes
UNOPEN
425 Can't open Data Connection
ABORT
426 Connection Closed Transfer Aborted
LRESET
426 Connection Closed Local Reset
FRESET
426 Connection Closed Foreign Reset
NORMAL
226 File Transfer OK
NOOP
200 NOOP OK
else
202 Command not implemented
61
File Names
The A60 is not case sensitive
The correct syntax for a 'filename' on the A60 is as follows:
optional leading slash or directory path Uanored)
'F' to indicate a field transfer (optional)
timecode 19.20 frame at 19 seconds 20 frames
or 19:20 second field
or .590 frame .590
or 590+
frame .590 second field
extension .RGB or .YUV (optional - defaults to YUV)
rlogin Implementation
In the following section N\ON indicates a null byte
N\OO I" indicates a byte of value I
"\n" indicates ASCII Line Feed
"\r" indicates ASCII Carriage Return
"\b" indicates ASCII Back Space
--) \0
--) simon\Osimon\O
--) vt 100/9600\0
(-- \0
(open connection to port .513)
(no standard error connection)
(local and foreign username)
(term/speed)
(user info validated)
(-- Abekas A60 Remote login\n
(-- a60~
User input is echoed character for character
Both backspace and delete cbaracters do the same thina eg
--) \b
(backspace)
(-- \b \b
(backspace space backspace)
The Sun appears to leave out the /9600 bit when the connection doesn't
expect echo eg when invoked by "rlogin bost (script"
Venix running on a PC, sent \n\n instead of vt100/9600
62
A60 Ethernet Manual
Bibliography
Rel22ted Documents from Abekt2s
Abekas A60 External Control Protocol Manual
Abekas A60/A64 Digital Video Manual
Abekas A60/ A64 SCSI Manual
ARPA Public~tions
DDN Network Information Center
SRI International. Room EJ29 I
333 Ravenswood Avenue
Menlo Park. CA 94025
DON Protocol Implementations and Vendors Guide
A useful compendium of different Tep/IP applications
revised bi-annually
DON Protocol Handbook (Three Volumes)
Particular RFt's of interest:
RFC 826 Address Resolution Protocol
Nov 82 David Plummer Symbolics
RFC 903 Reverse Address Resolution Protocol
Stanford University
June 84 Finlayson. Mann. Mogul. Theimer
RFC 791 DARPA Internet Protocol Sept 81 J Postel (Editor)
RFC 792 DARPA Internet Control Message Protocol Sept 81 J Postel (Editor)
RFC 793 DARPA Transmission Control Protocol J Postel (Editor)
RFC 854 TELNET Protocol Specification May 83 Postel and Reynolds
RFC 959 File Transfer Protocol Oct 85 Postel and Reynolds
IEEE 802,3 LAN Standards
CSMA/CD Access Method and Physical Specifications
Oct 84
IEEE
65
Ethernet specs:
A LAN Data Link Layer and Physical Layer Specification
Version 2 Nov 82
DEC, Intel, Xerox
Other Background ReDding
Why is it that none of these texts were around when I started on this project I
Byte Magazine July 87
Scientific American October 87 P 136
Networks for Advanced Computing
Robert E Kabn
Unix Papers for Unix Developers and Power Users p307
Ethernet: A Unix LAN
Charles Spurgeon
The Waite Group/ Howard Sams & Co 87
Handbook of Computer Communication Standards Vol 3
Department of Defense (DOD) Protocol Standards
William Stallings, Macmillan 88
Internet"orking with TCP/IP
Principles Protocols Architectures
Douglas Comer, Prentice Hall 88
66
A60 Ethernet Manual
rep II PI mp1ement~tions
The followina macbines are known to support TCP/IP, in some cues it will depend on tbe
operating system.
Digital Equipment Corp. VAX and microVAX running ULTRIX or BSD Unix
Hewlett Packard HP 9000 300 and 800 running HP-UX
Sun Microsystems
Apollo Computer
Pyramid
Cray
Symbolics
Silicon Grapbics
Apple Computer Macintosh II with Etbertalk
67
For the remainder there are add ons avaHable from the following vendors (Information based
on entries in the DDN Protocol Implementations and Vendors Guide)
Excelan
Intelligent Ethernet Controllers for VAX, MicroVAX and IBM-PC. TCP/IP
software support for RSX-II, VMS, Unix System V and MS-DOS
2180 Fortune Drive
San Jose. CA 95131
(408) 434-2300
Wollongong
TCPIIP software for HP 9000 series .500, VAX, IBM-PC
1129 San Antonio Road
Palo Alto, CA 94303
(41.5) 962-7200
3com Corporation
Ethernet Interfaces for the IBM-PC
136.5 Shorebird Way
PO Box 7390
Mountain View, CA 94039
(41.5) 961-9602
FTP Software
TCPIIP software for the IBM-PC
PO Box 150
Kendall Square Branch
Boston, MA 02142
(617) 864-1711
68
Abe1<as
A Carlton Company
Video Systems, Inc.
Abekas Video Systems, Inc.
101 Galveston Drive
Redwood City,
CA94063
Tel. 415·369·5111
Telex. 592712
Fax. 415·369·4777