


TNC2 @DK0MWX     de:DK9AH  25.06.91 00:20   0   9317 Bytes
Hostmode.Doc 1/3: Intro
*** Bulletin-ID: 182104DK0MAV ***

910218/0057z DB0EAM, 910218/0045z DB0KG , 910218/0016z DK0MAV
de DK9AH @ DK0MAV


                            AX.25 Version 2
                             Multi-channel
                             TNC  FIRMWARE

                             (version 2.6)

               Copyright 1990, Ronald E. Raikes (WA8DED)

        This firmware supports the full AX.25  link-layer  protocol,
   version 2.0 as described in the ARRL specification dated  October
   1984,  as  well  as   the   pre-existing   version   1.x.    This
   implementation supports multiple  simultaneous  link  connections
   with either version protocol.  This release has been compiled for
   a maximum of four connections, although any reasonable number  of
   connections is possible by changing  one  MAXLNK  symbol  in  the
   source header file.  The  firmware  is  contained  in  one  26256
   EPROM, and is intended to  be  installed  in  a  TAPR  TNC-2  (or
   equivalent, such as the MFJ-1270 or AEA  PK-80)  in  socket  U23.
   RAM memory is automatically sized, supporting both  16k  and  32k
   configurations.

        Commands and information are sent to the TNC in the form  of
   lines.  Lines may be up to 256  characters  long,  including  the
   terminating CARRIAGE RETURN.  If the 256th character  entered  is
   not a CARRIAGE RETURN, it will be discarded and a BELL  character
   will be output to the terminal.  BACKSPACE and DELETE may be used
   to remove single characters from the line.  The entire  line  may
   be permanently backspaced out by entering a CONTROL-U or CONTROL-
   X.  A CONTROL-R will temporarily backspace out any  partial  line
   to allow incoming frames to be  displayed.   A  second  CONTROL-R
   will then restore  the  line  to  allow  continuation  of  entry.
   During the time a partial line is saved, only  another  CONTROL-R
   will be  accepted  from  the  keyboard  (with  the  exception  of
   xon/xoff, of course).  BELL characters are echoed to the terminal
   when entered or  removed.   Lines  which  begin  with  an  ESCAPE
   character (echoed as '* ') are interpreted  as  commands.   If  a
   command is issued with no parameter, the current  value  of  that
   commands parameter is displayed.  Lines without a leading  ESCAPE
   character are sent as information.

        The firmware provides the operator  with  five  virtual  TNC
   channels, numbered 0 to 4.  The terminal is logically attached to
   only one of these  channels  at  a  time,  selected  by  the  'S'
   command.  Information sent on channel 0 is always  unproto.   The
   unproto path may be set by issuing a 'C' command when  channel  0
   is selected.  Channels 1 - 4 are also unproto  if  they  are  not
   currently connected.  Outgoing connect requests may be issued  on
   any unconnected channel, while incoming connect requests will use
   the first available  channel  (provided  the  maximum  number  of
   connections set  by  the  'Y'  command  will  not  be  exceeded).
   Information received on a connected channel that is not currently
   selected will remain queued there until that channel is selected.
   The STA led indicates there is queued information,  and  the  'L'
   command may be used to  determine  the  channel(s)  where  it  is
   located.  Information  for  transmission  is  sent  only  to  the
   currently selected channel.  When a connection is ended, received
   information will remain queued until it has been displayed.  If a
   new digipeater path  is  desired  while  a  connection  is  being
   established or is in progress, it is not necessary to  disconnect
   first.  Simply re-issuing the 'C' command will  re-establish  the
   connection via the new path without any loss of information.

        Which protocol version is used to initiate a  connection  is
   controlled by the 'V' command, but the version  will  be  changed
   automatically, if necessary, to conform to the version of the TNC
   responding.  Version 2 protocol is more  effecient  in  terms  of
   network  throughput  and   loading,   especially   under   severe
   conditions.  Version 2 protocol is the default and should be used
   whenever possible.  When version 2 protocol is used, a  watch-dog
   timer is started whenever information is not  being  transmitted.
   If the TNC remains idle for three minutes, it will poll the other
   TNC to determine  if  the  link  is  still  established.   If  no
   response is received after the number of tries  set  by  the  'N'
   command, a link failure is reported.  This  procedure  will  also
   detect the case where someone connects and  then  leaves  without
   disconnecting.  Changing the protocol version during a connection
   is not permitted.

        The 'F', 'I', 'N', 'O', and 'V' commands maintain individual
   parameters for each channel.  The value stored in  channel  0  is
   used to initialize channels 1 - 4  upon  power  up,  and  to  re-
   initialize channels 1 - 4 after a disconnect.   This  allows  the
   values to be changed independently on each channel, prior to  and
   during a connection, and then automatically revert  back  to  the
   standard values when the connection  is  ended.   A  'D'  command
   issued on a disconnected channel 1 - 4  will  also  re-initialize
   that channel.

        Frame monitoring is controlled  by  the  'M'  command.   The
   command parameter determines the types of frames  monitored,  and
   is a list of desired  frames  chosen  from  the  letters  in  the
   following table:

        LTR       FRAME
        ---       -----
         N        None
         I        I frames
         U        UI frames
         S        Supervisory frames
         C        Monitor while connected
         +        Call signs to be included (maximum of 8)
         -        Call signs to be excluded (maximum of 8)

   The '+' and '-' parameters may not be used together.   If  either
   is used, it must be the last parameter (followed by one to  eight
   callsigns, if applicable).  If no list of callsigns is  specified
   to be included or excluded, all callsigns will be candidates  for
   monitoring.  Entering a '+' or '-' with no callsigns  will  empty
   the list.

   An asterisk displayed after a callsign  in  the  digipeater  list
   indicates the frame was transmitted by that station.  The control
   field displayed will be one of the following:

        NAME   DESCRIPTION
        ----   -----------
        RRa  - Receive Ready
        RNRa - Receive Not Ready
        REJa - Reject
        UI   - Unnumbered Information
        DM   - Disconnected Mode
        SABM - Connect Request
        DISC - Disconnect Request
        UA   - Unnumbered Acknowledge
        FRMR - Frame Reject
        Iab  - Information
        ?ccH - Unknown

        a  = Next expected frame number (0 - 7)
        b  = Frame number of this frame (0 - 7)
        cc = Hexadecimal value

   In addition, one of the following characters will  be  displayed,
   reflecting the protocol version, command/response bits,  and  the
   poll/final bit:

    (blank) = version 1 frame without poll/final bit
          ! = version 1 frame with poll/final bit
          ^ = version 2 command frame without poll bit
          + = version 2 command frame with poll bit
          - = version 2 response frame with final bit
          v = version 2 response frame without final bit

   The protocol identifier field is displayed in hexadecimal

        An unattended mode, controlled by the 'U' command,  provides
   for sending user supplied text to a connecting station, and  then
   allows that station to leave a  brief  message.   This  mode  can
   operate on all channels simultaneously, but in no way limits  the
   operators ability to interact with one of the connected  channels
   or  the  ability  to  make  outgoing  connect   requests.    When
   unattended mode is enabled, link status messages  are  queued  to
   the associated channel and not output to the terminal unless that
   channel  is  currently  selected.   Link  status  messages   will
   therefore  be  displayed  in   chronological   order   with   the
   information from that channel.  In addition, text supplied by the
   user with the 'U' command  will  be  sent  to  any  station  that
   connects.  If channel 0  is  left  selected,  stations  may  then
   connect and leave messages on channels 1 - 4 (limited by the  'Y'
   parameter, of course).  The 'L' command may be used to  determine
   if messages have been left on any channel.  Selecting  a  channel
   containing messages will cause all link  status  and  information
   from that channel to be displayed.  If  xon/xoff  handshaking  is
   enabled, CONTROL-S and CONTROL-Q may  be  used  to  regulate  the
   output to the terminal to allow comfortable reading.




(TNC2) DD9EP de DK0MWX>l tnc2 75-80
