Linux HAM-HOWTO

This document was written in 1995 but holds a wealth of information related to AX25 Packet Radio which is still valid today.

  Linux HAM-HOWTO, Amateur Radio.
  Terry Dawson, VK2KTJ, 94004531@postoffice.csu.edu.au
  v1.9, 21 November 1995

  It is hoped that this document will assist Amateur Radio operators in
  finding and trying the various amateur radio software that has been
  written for or ported to Linux. It is also hoped that as a consequence
  of this information being available that more amateur radio operators
  will choose Linux as the platform of choice for their experimentation,
  and that software developers will choose Linux as the platform for
  their software development, further expanding the role of operating
  systems like Linux in the Amateur Radio field.  This document also
  provides some detailed information on how to configure and install
  some of the more important pieces of software.
  ______________________________________________________________________

  Table of Contents:

  1.      Introduction.

  1.1.    Changes from the previous version

  2.      Where to obtain new versions of this document.

  3.      Satellite Software.

  3.1.    MicroSat Ground Station Software

  3.2.    SatTrack - Satellite tracking program

  4.      Shack Automation Software.

  4.1.    FT-890 remote control

  5.      Packet Radio

  5.1.    Kernel Based AX.25 networking.

  5.2.    JNOS

  5.3.    TNOS

  5.4.    N0ARY Packet BBS for UN*X

  5.5.    MBL/RLI message to NNTP and email converter.

  5.6.    Packet Cluster Node software

  5.7.    Single floppy disk AX.25 router.

  5.8.    TNT.

  5.9.    IPIP encapsulation daemon.

  5.10.   AXIP encapsulation daemon.

  5.11.   Ping-Pong Convers Server

  5.12.   AX.25 digipeater for Linux

  5.13.   Gracilis PacketTwin kernel driver

  5.14.   RSPF Daemon

  5.15.   Z8530 SCC driver.

  5.16.   Multidrop kiss program.

  6.      Morse Code

  6.1.    GW4PTS Morse trainer.

  6.2.    morse (aka superiormorse)

  7.      AMTOR Software.

  8.      PACTOR Software.

  9.      Slow Scan Television Software.

  10.     Facsimile Software.

  11.     Design and Construction Software.

  11.1.   Software Oscilloscope

  11.2.   Printed Circuit Board design tool.

  11.3.   Chipmunk circuit design and simulation tool

  11.4.   irsim

  11.5.   Spice vers. 3f4

  11.6.   svgafft - Spectrum analyser

  11.7.   Audio Spectrum Analyser

  12.     Training/Educational Software.

  13.     Miscellaneous Software.

  13.1.   Linux for HAMS CD-ROM

  13.2.   SunClock

  13.3.   Xearth

  14.     Installation, Configuration, Hints and Tricks.

  14.1.   AX.25/NetRom - Packet Radio protocol software.

  14.1.1. Where to obtain the AX.25/Netrom software.

  14.1.2. Installing the AX.25 software.

  14.1.2.1.       The kernel source.

  14.1.2.2.       The user programs.

  14.1.3. Configuring an AX.25 connected mode interface.

  14.1.4. Configuring Linux to accept Incoming AX.25 connections.

  14.1.5. Configuring an AX.25 interface for tcp/ip.

  14.1.6. Configuring an AX.25 interface for Netrom.

  14.2.   Ottawa PI/PI2 card driver.

  14.3.   HOWTO link NOS and the Linux kernel networking software

  15.     How to contribute or update an entry.

  16.     Discussion relating to Amateur Radio and Linux.

  17.     Copyright.
  ______________________________________________________________________

  1.  Introduction.

  This list was prompted by comments that had been expressed in the
  various Linux newsgroups about the number of amateur radio operators
  that were involved with Linux. It is now clear that Linux is becoming
  a popular platform for Amateur Radio development work.

  This list was originally called the RADIOLINUX list, but has been
  moved into the Linux Documentation Project HOWTO collection, so it has
  been renamed the HAM-HOWTO. I make no apologies for the name.

  1.1.  Changes from the previous version

  Additions:
          Netrom configuration details.
          mkiss - multidrop KISS support.
          DARC Web site.

  Corrections:
          Updated AX.25 section.
          Updated Microsat section.
          Updated sattrack.
          Update JNOS section.
          Updated Packettwin driver.
          Updated RSPF daemon.
          Other fixes as submitted by contributors - thanks.

  2.  Where to obtain new versions of this document.

  This list will be periodically posted to the comp.os.linux.announce
  newsgroup, and to the HAMS list on niksula.hut.fi.

  It is also available from the following World Wide Web sites:

  The Linux Documentation Project runs a Web Server and this list
  appears there as The HAM-HOWTO <http://sunsite.unc.edu/mdw/HOWTO/HAM-
  HOWTO.html>.

  Dennis Boylan N4ZMZ <dennis@nanovx.atl.ga.us> makes it available at
  the following three locations:

  www.com <http://www.com/linux/radio/index.html>, www.hboc.com
  <http://www.hboc.com/linux/index.html> and www.lan.com
  <http://www.lan.com/linux/index.html>.

  John Gotts N8QDW <jgotts@engin.umich.edu> makes it available at:
  www.engin.umich.edu <http://www-
  personal.engin.umich.edu/~jgotts/linuxhamsoft.html>.

  Dan Todd <dantodd@fusilli.ucdavis.edu> makes it available at the
  following two locations: wheel.dcn.davis.ca
  <http://wheel.dcn.davis.ca/~dantodd/Linux/HAM-HOWTO.html>, and
  fusilli.ucdavis.edu <http://fusilli.ucdavis.edu/Linux/HAM-HOWTO.html>.
  Alan Hargreaves VK2KVF <alan@dap.CSIRO.AU> makes it available in
  Australia at: www.dap.csiro.au <http://www.dap.csiro.au/RadioLinux>.

  The Tuebingen Radio Club has it available from their home page at:
  DARC Home Page <http://www.neckar-alb.de/darc/welcome.html>

  Please let me know if you'd like to make it available somewhere too.
  I'd like to see it on some Web Servers that are accessible from radio.

  3.  Satellite Software.

  The following software is for use in experimentation with Satellite
  communication.

  3.1.  MicroSat Ground Station Software

     Author
        John Melton, G0ORX/N6LYT, g0orx@amsat.org and Jonathan Naylor
        G4KLX, g4klx@amsat.org

     Description
        Microsat Ground Station software.

     Status
        BETA. Version 0.9-Xaw released.

     System requirements
        Alan Cox's kernel based AX.25 support ver 1.1.12 or better. X-
        Windows. The programs make use of the Athena Widgets and look
        much better with the 3D libraries.

     Detail
        This software allows you to use of a KISS tnc to directly
        communicate with the Microsat series of satellites. It provides
        an Athena Widgets based X-Windows interface, and allows you a
        comprehensive range of means of interacting with the satellite.
        The software should work with any window manager.

        The software provides the following programs:

        xpb:
           broadcast monitor

        xpg:
           ftl0 file upload program, message upload program

        xtlm:
           telemetry display program

        downloaded:
           downloaded file list viewer

        directory:
           directory list viewer

        message:
           message preparation application

        viewtext:
           uncompressed ASCII text file viewer

        viewlog:
           display the contents of some log files
        xweber:
           special program for downloading webersat images

        phs:
           general purpose PACSAT header stripper

     Where and How to obtain it.
        John's software is available from: ftp.amsat.org
        <ftp://ftp.amsat.org/amsat/software/Linux/microsat-0.9-Xaw.tar.gz>
        or ftp.funet.fi
        <ftp://ftp.funet.fi/pub/ham/satellite/pacsat/microsat-0.9-Xaw.tar.gz>.
        Please check for new versions.

     Licensing/Copyright
        GNU Public License. Freely redistributable, No warranty.

     Contributed by:
        John Melton, G0ORX/N6LYT, Alan Cox, GW4PTS, Jonathon Naylor,
        G4KLX

  3.2.  SatTrack - Satellite tracking program

     Name
        SatTrack

     Author
        Manfred Bester, DL5KR, manfred@ssl.berkeley.edu, (510) 849-9922

     Description
        Satellite realtime tracking and orbit prediction program with
        X11 color graphics.

     Status
        Version 3.1 has been released.

     System requirements
        A vt100 terminal and or X11 server. A Maths Coprocessor is
        useful, but not essential, for good performance.

     Detail
        SatTrack is a satellite tracking program that has been written
        in 'C' language on a UNIX workstation. It provides two different
        live displays, for single or multiple satellites, and two
        different orbit prediction facilities. Cursor controls used in
        both live displays are compatible with the VT100 standard, which
        allows the program to be run basically from any terminal. An
        optional X Window graphics display shows the typical world map
        tracking chart. The orbit prediction can be run either
        interactively or in a batch mode. In the latter case all
        necessary parameters are specified on the command line. The
        program uses the NORAD/NASA two-line Keplerian element (TLE)
        sets directly.

        The current version of SatTrack can track a single satellite
        and/or display multiple satellites for a single ground station.
        It also can control suitable ground station hardware, like
        antennas and radio equipment, and has an autotrack mode in which
        it switches automatically between a number of specified
        satellites. For calibration purposes tracking of the Sun and the
        Moon are also provided. Future releases will provide more
        options. SatTrack requires about 5 MB of disk space in the full
        distribution with eight different world maps (2 styles, with 4
        different sizes each, to fit everyone's screen and taste) and
        less than 1.5 MB of memory at run time. More information can be
        obtained from the SatTrack WWW Home Page
        <http://www.primenet.com/~bester/sattrack.html>

        Compiling the software under Linux is quite straightforward.
        Manfred has designed the Makefile to compile the software
        directly under your home directory, this is easy to change.

        The steps I took were:

          # cd /usr/src
          # export HOME=/usr/src
          # gzip -dc sattrack-3.1.1.tar.gz | tar xvf -
          # cd SatTrack/src
          # vi Makefile
            {Comment SUN4 compile options}
            {Uncomment the linux options}
            {Select the options you want}
          # make

     Where and How to obtain it.
        SatTrack can be found at: ftp.amsat.org
        <ftp://ftp.amsat.org/amsat/software/Linux/sattrack-3.1.1.tar.gz>
        or ftp.jvnc.net
        <ftp://ftp.jvnc.net/priv/kupiec/sattrack/sattrack-3.1.1.tar.gz>
        or the SatTrack WWW Home Page
        <http://ssl.berkeley.edu/isi_www/sattrack-3.1.1.tar.gz>

     Licensing/Copyright
        The software is Copyright of Manfred Bester. It can be used
        without special permission for non-profit, non-commercial use.
        For commercial applications a license from the author is
        required.

     Contributed by:
        Manfred Bester, DL5KR

  4.  Shack Automation Software.

  Software for simplifying tasks in the shack. Examples might include
  software for controlling the newer breed of radios, logging programs,
  QSL database, or antenna rotation.

  4.1.  FT-890 remote control

     Author
        Emarit Ranu, drranu@holly.ColoState.EDU, KG0CQ.

     Description
        A simple program to control a Yaesu FT-890 transciever via its
        CAT port from linux.

     Status
        Working

     System requirements
        Yaesu FT-890, Yaesu FIF-232C interface converter or homebuilt
        equivalent (Feb 1993 "QST", page 37). Linux, serial cable.

     Detail
        The program is started with one parameter specifying the com
        port to use.  Once started the program is menu driven. Future
        versions will support an X-Windows interface.

     Where and How to obtain it.
        The software is currently only available from the author by
        email.

     Licensing/Copyright
        You may copy this program millions of times, the only
        restrictions are:

     o  You may not charge ANYONE for the program itself.

     o  You may not distribute modified versions of the program.

     o  If you distribute the program, it MUST be the ORIGINAL tar file
        as received by the author. The README file has to be included.

     Contributed by:
        Emarit Ranu, drranu@holly.ColoState.EDU

  5.  Packet Radio

  Software for use in conjunction with, or for facilitating packet
  radio.

  5.1.  Kernel Based AX.25 networking.

     Author
        Jonathon Naylor, G4KLX, jsn@cs.nott.ac.uk and Alan Cox, GW4PTS,
        iialan@iifeak.swan.ac.uk

     Description
        Software that provides native AX.25 support in the Linux Kernel.

     Status
        ALPHA. Still under development. In a working state.

     System requirements
        Linux kernel 1.3.*, or kernel 1.2.* plus patches.

     Detail
        Jonathon's software provides the programmer with a berkeley
        socket based interface to the AX.25 protocol. AX.25 sockets can
        opened for either connected, or connectionless modes of
        operation. Support to allow tcp/ip over AX.25 is provided.
        Jonathon has recently added NetRom support and provided fixes
        and other enhancements to the code.  The software comes in two
        parts, a kernel patch, and the configuration tools and user
        programs. The user programs included in the most recent
        distribution are:

        axassociate
           to associate a particular AX.25 callsign with a userid on
           your system.

        axattach
           to convert a serial device into a KISS device.

        axl
           an AX.25 listener designed to start a PMS when it receives an
           incoming connection. The PMS is still very new.

        axsetcall
           to change the callsign of a port.

        beacon
           generated beacon messages every 30 minutes.

        call
           A linemode AX.25 connection program. Call allows you to make
           connections to other AX.25 nodes. It provides file transmit
           and receive capabilities, and newer versions allow YAPP
           binary file transfers.

        listen
           a packet trace tool for radio links.

        mheard
           a program to display callsign heard on radio ports.

        netromd
           a daemon program to generate netrom routing broadcasts.

        noderest
           a program to restore netrom routing information from a file.

        nodesave
           a program to save netrom routing information to a file.

        nrparms
           a program to configure a netrom interface.

        rip98d
           an implementation of the rip98 routing protocol.

     Where and How to obtain it.
        There are a number of different versions of the software. You
        must choose the one that suits your version of Linux kernel.
        Software for kernel versions older than 1.3.* is available from:
        ftp.linux.org.uk <ftp://ftp.linux.org.uk/pub/linux/Radio/>

        More detail on where and how to obtain the software is provided
        in the AX.25 section of the `Installation, Configuration, Hints
        and Tricks' chapter below.

     Licensing/Copyright
        Most of the software is covered by the GNU Public License, some
        of the software is Copyright by the Regents of University
        California Berkeley.

  5.2.  JNOS

     Author
        Brandon Allbery, KF8NH, bsa@kf8nh.wariat.org

     Description
        Brandon ported JNOS to Linux. His port is currently of the 1.09
        (aka 1.08df) release of JNOS. Future versions will probably be
        based on Doug Crompton's evolution of 1.08df. Brandon suggests
        that JNOS for Linux is primarily of interest to people with
        existing DOS-based NOS configurations (especially server/switch
        configurations) who wish to switch to Linux or to escape the
        640K barrier.

     Status
        Brandons code was rolled back into the main jnos distribution,
        so development on the two runs in parallel.

     System Requirements.
        Any version of Linux along with ncurses 1.8.1 or 1.8.5 (the
        latter is preferred). Optionally you will require Linux
        networking (at least loopback and slip).

     Detail
        If you include the Linux networking code in addition to JNOS,
        you can link the two by a slip link running over a pty, so that
        Linux can provide services to your radio users. In this way you
        can easily add servers without having to build them into JNOS
        itself.

     Where and How to obtain it.
        You can obtain JNOS for Linux ALPHA.4 at: ftp.ucsd.edu
        <ftp://ftp.ucsd.edu/hamradio/packet/tcpip/jnos/jnos110i.zip>
        ncurses is available on most Linux ftp sites.

     Licensing/Copyright
        Brandon's modifications to JNOS are public domain. Most of the
        pre-existing NOS code is copyrighted and restricted to non-
        commercial use by the various contributors from Phil Karn on.

     Contributed by:
        Brandon Allbery, KF8NH

  5.3.  TNOS

     Author
        Brian A. Lantz, brian@lantz.com

     Description
        TNOS is a NOS derivative that is being actively supported and
        which is available for both DOS and Linux. It features
        enhancements not found in other NOS versions.

     Status
        The current version is 2.0 and is stable.

     System Requirements
        Kernel networking slip support if you want to link the normal
        Linux network facilities with TNOS. A kiss tnc.

     Detail
        Brian maintains a World Wide Web server which contains up to
        date information on TNOS, you can find it at www.lantz.com
        <http://www.lantz.com/tnos/tnos.html>.

     Where and how to obtain it
        The current version of TNOS is always available from:
        ftp.lantz.com <ftp://ftp.lantz.com/tnos/current/linux/>,
        sunsite.unc.edu <ftp://sunsite.unc.edu/pub/Linux/apps/ham/>, or
        ftp.ucsd.edu <ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux/>.

     Licensing/Copyright etc.
        Free for use by amateur radio operators and educational
        oraganisations

  5.4.  N0ARY Packet BBS for UN*X

     Author
        Bob Arasmith, N0ARY, ported to Linux (and others) by Bob Proulx,
        KF0UW, rwp@fc.hp.com

     Description
        A packet bbs implemented under UN*X.

     Status
        ALPHA. Bob is running version ARY-0.9 on both Linux and HP-UX.
        The next version from N0ARY which is called 4.0 is in alpha
        test/development release.  Bob has not been able to bring this
        online yet and is still running 0.9+kf0uw mods. Bob has about
        half it working with Alan Cox's AX.25 kernel which would be the
        desirable combination.

     System Requirements.
        Linux installation, C Compiler, plus HAM radio TNC hardware.

     Detail
        This bbs has an excellent packet user interface.  It has a
        compatible set of commands with the RLI bbs so users will be
        familiar with it immediately.  It then extends the command set
        to be a very nice natural language style interface (e.g "list at
        allus about KPC-3"). Many csh style bang commands are supported.
        Also included is a mail interface to provide a packet to
        internet gateway.

        Currently you need to customize the source code for your
        installation so you need some C programming proficiency.

     Where and How to obtain it.
        For a Linux version or for Linux information send mail to
        rwp@fc.hp.com. For a SunOS version contact bob@arasmith.com.
        This code is not packaged for distribution yet since it is not
        past the alpha stage of development.

     Licensing/Copyright
        Copyright by Bob Arasmith, N0ARY, but freely redistributable.

     Contributed by:
        Bob Proulx, kf0uw, rwp@fc.hp.com

  5.5.  MBL/RLI message to NNTP and email converter.

     Author
        SM0OHI, pme@it.kth.se

     Description
        Software that will convert incoming MBL/RLI messages into either
        NNTP or RFC-822 formatted mail messages.

     Status
        Development, not yet released.

     System requirements
        Unknown.

     Detail
        This software would be ideally suited to those who want to
        establish a mail and news gateway between conventional tcp/ip
        networks and the amateur radio mail network.
     Where and How to obtain it.
        Not yet availale.

     Licensing/Copyright
        Unknown.

     Contributed by:
        SM0OHI

  5.6.  Packet Cluster Node software

     Author
        Franta Bendl, DJ0ZY, and Bernhard ("Ben") Buettner, DL6RAI,
        root@dl6rai.muc.de

     Description
        A PacketCluster like system running on Linux.

     Status
        Released in October 1995.

     System Requirements
        Linux Kernel version 1.2.0 or greater with Alan Cox's AX.25
        version 025 driver, TCP/IP networking, SysV IPC. Also needs Perl
        and KISS TNC hardware on serial device.

     Detail
        PacketCluster nodes have been available for about six years. The
        original software was written by Dick Newell, AK1A, and is
        running under DOS.  clx is a system which clones a PacketCluster
        node. To the outside user commands and features are mostly
        identical, remote PacketCluster nodes, which can be networked,
        don't see the difference between a generic PacketCluster node
        and clx. So it fits well into an established network of
        PacketCluster nodes.

        clx is not a user application, it is network node software. As
        such it is not of much use for the individual amateur. SysOPs of
        PacketCluster nodes with some experience on both PacketCluster
        and Linux will find this application interesting.

        Here are some of the features of CLX:

     o  It is fully compatible with the internal PCxx protocol and from
        a users' point of view. It allows multitasking and different
        priorities for different things.

     o  The software detects looping DX spots without generating endless
        messages. clx filters out such duplicate information. We have
        implemented a concept which allows us to connect the network at
        multiple points, which would formerly have been called a
        "Cluster Loop". clx knows of so-called "active" and "passive"
        links. The outcome is that more DX information is seen by clx.

     o  An interface to call your external programs (even dialog
        programs).

     o  clx uses modern programming concepts like shared memory for
        common data, lex & yacc to implement command language, shared
        libraries to keep binaries small (this is still on our wish
        list), remote procedure calls for inter process communication.
        It is strictly modularized with its own dedicated process for
        every major task.
     o  Comprises the following modules:

        con_ctl
           interfaces AX.25 kernel code and provides a socket for local
           users.

        rcv_ctl
           manages receive spooling.

        snd_ctl
           manages transmit spooling.

        rm_disp
           receive message dispatcher, forwards messages to other
           processes.

        usr_req
           user database requests, forks a process for every database
           task to make it run in the background. The background process
           later sends the results directly to send_ctl.

        mb_ctl
           mailbox control. The mailbox keeps messages in a file system,
           header information is stored in the database.

        usr_ctl
           user administration (logins, logouts, logbook).

        usc_mng
           manages external user commands and command extensions.

        iu_com
           inter user communication (talk, conference).

        send_ctl
           transmit spooling, handling priorities.

        icl_com
           inter node communication (processing and generating PCxx
           messages).

        clx_ctl
           system administration, installing shared memory pages.

        int_com
           manages internal program communications.

     o  The following is the only application program which can be run
        on the console:

        loc_usr
           allows console operator(s) to log in like a normal user.

        Future enhance planned are:

     o  A console monitor to watch ongoing activities

     o  Speed optimization

     o  An internal clx protocol

     o  An additional command shell for experienced users

     Where and How to obtain it:
        ftp.funet.fi <ftp://ftp.funet.fi/pub/ham/unix/Linux/cluster>
        There are five files that make up the package:

     o  00Index

     o  clx_200.tgz

     o  install.clx

     o  README

     Licensing/Copyright
        clx (c) by Franta Bendl (DJ0ZY) and is available for non-
        commercial use, but the authors want to keep track of who is
        using their product, so before you can actually use the software
        you have to ask for an encrypted callsign string to be placed in
        the configuration file. You must send mail to
        <clx_us@dl6rai.muc.de> to organise this.

     Contributed by:
        Bernhard ("Ben") Buettner, DL6RAI

  5.7.  Single floppy disk AX.25 router.

     Author
        Alan Cox, GW4PTS, iialan@iifeak.swan.ac.uk

     Description
        A single floppy disk version of linux with enough software to
        allow a PC to act as an AX.25/IP router.

     Status
        Development, not yet released.

     System requirements.
        As for any Linux system a 386SX class PC or better.

     Detail
        No detail yet.

     Where and How to obtain it.
        Not yet available.

     Licensing/Copyright
        Unknown/Undecided.

  5.8.  TNT.

     Author
        Mark Wahl, DL4YBG, DL4YBG @ DB0BLO.#.DEU.EU, wahlm@zelator.de

     Description
        A Hostmode terminal program for TNC's that support the WA8DED
        hostmode protocol.

     Status
        Version 0.8 is reportedly stable.

     System requirements
        TNC supporting WA8DED hostmode protocol, serial line.

     Detail
        TNT is a full featured hostmode terminal program. Compiling it
        on Linux is as difficult as untarring the source and typing
        `make'. It provides both a `dumb' terminal and X11 version. It
        comes with some comprehensive documentation which describes its
        features in some detail. Its main features are:

        Multiple sessions:
           TNT supports multiple packet radio connections on virtual
           screens that you can switch between. Each session window
           provides split screen (seperate transmit and receive text)
           operation with a status line. Commands can be entered in
           either a command session, or in any terminal session using a
           command key. Each of the virtual screens can be larger than
           the physical screen and can be scrolled around.

        Data capture, file transfer and logging:
           A number of options are available for logging received text
           to files. You can log transmit, receive or both to a log
           file. You can overwrite or append received data to existing
           files. You can use the `autobin' protocol to transmit or
           receive binary files.

        Remote Shell operation:
           You can provide a shell to remote users so that they can
           access other programs on your computer. You can also run a
           program and direct its input/output to a channel so that
           users can use it.

        Redirection of devices to a channel:
           TNT allows you to redirect input/output from a channel to a
           device, a modem for example.

        Umlaut conversion:
           TNT provides umlaut conversion if necessary.

        Remote mode:
           Remote users can issue command themselves if allowed to do
           so.

        Socket mode:
           You can configure tnt so that it opens a socket for users to
           telnet to that allows them operation just as you have from
           the console. This is useful where your linux machine is on an
           ethernet and you want other terminal on the net to have use
           of your radio.

     Where and How to obtain it.
        The software is available by anonymous ftp from: ftp.funet.fi
        <ftp://ftp.funet.fi/pub/ham/unix/packet/tntsrc09.tgz>. This site
        is mirrored at a number of places so you will probably find it
        at other places as well.

     Licensing/Copyright
        GNU Public License. Freely redistributable, no warranty.

     Contributed by:
        Steffen Weinreich, DL5ZBG.

  5.9.  IPIP encapsulation daemon.

     Name
        Mike Westerhof's IPIP encapsulation daemon.
     Author
        Mike Westerhof KA9WSB (original code), then Bdale Garbee N3EUA
        (port to BSD), then Ron Atkinson N8FOW and John Paul Morrison
        (port to Linux), then Bdale rolled it all back together again.

     Description
        A daemon that will allow you to use your linux machine as an
        IPIP encapsulating gateway.

     Status
        Ron is running this code himself, and the other version have
        been run quite successfully.

     System requirements
        KISS TNC, any version of Linux supporting RAW sockets.

     Detail
        If you've ever used an internet gateway from your amateur packet
        radio you have probably been connected by an encapsulation
        gateway of some descpription. Most run KA9Q's NOS and DOS, but
        others run Unix and this daemon. It allows you to encapsulate IP
        within IP, so that you can 'tunnel' IP connections over the
        Internet. The software allows you to connect a KISS TNC to your
        linux machine and to have all datagrams received on it carried
        across the Internet to a similar gateway. Bdale has installation
        instructions in the package.

     Where and How to obtain it.
        This software is available from the col.hp.com
        <ftp:///col.hp.com/hamradio/packet/etc/ipip/ipip.tar.gz> ftp
        site.

     Licensing/Copyright etc.
        Freely distributable, though Bdale asks that if you use the code
        and like it you might send him a QSL card or a postcard.

     Contributed by:
        Ron Atkinson, N8FOW, and Bdale Garbee, N3EUA

  5.10.  AXIP encapsulation daemon.

     Name
        Mike Westerhof's AXIP encapsulation daemon.

     Author
        Mike Westerhof KA9WSB, ported to Linux by Ron Atkinson N8FOW.

     Description
        A daemon that will allow you to use your linux machine as an
        AXIP encapsul ating gateway.

     Status
        Not properly tested, but assumed to work ok.

     System requirements
        KISS TNC, any version of Linux supporting RAW sockets.

     Detail
        This daemon is the partner to the IPIP encapsulation daemon. It
        allows you to encapsulate AX.25 frames in IP to carry them
        across the Internet. This is useful for linking AX.25 networks
        in remote areas. Ron has supplied a Makefile for linux, and with
        it the software compiled without errors on my system running a
        recent version kernel. Ron has also written some README files
        which give you the detail necessary to compile the system and
        the original documentation describes how to configure it.

     Where and How to obtain it.
        This software is available in the sunsite.unc.edu ham apps
        directory
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/ax25ip.tar.gz>.

     Licensing/Copyright etc.
        Freely distributable so long as the original copyright notice is
        not removed.

     Contributed by:
        Ron Atkinson, N8FOW

  5.11.  Ping-Pong Convers Server

     Name
        Fred Baumgartens Convers Server for Linux.

     Author
        Fred Baumgarten, DC6IQ, <dc6iq@insu1.etec.uni-karlsruhe.de>

     Description
        This is a version of the convers server that allows multiple
        users to simultaneously chat with each other in a round-table
        style conversation. It is compatible with the NOS convers
        servers, but provides extra facilities such as saving/restoring
        of Personal Text and Chanel Topics.

     Status
        In use of a number of popular convers servers, appears very
        stable.

     System requirements.
        Linux, GNU make, C compiler.

     Detail.
        Complete installation instructions are included in the INSTALL
        file that is included in the distribution.

     Where and How to obtain it.
        A distribution of this software is available at sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/convers/>. The home of
        the software is at insu1.etec.uni-karlsruhe.de ftp server
        <ftp://insu1.etec.uni-karlsruhe.de/pub/hamradio/convers/convers>

     Licensing/Copyright etc.
        Presumably copyright Fred Baumgarten (not specifically stated),
        but some portions appear to be free for non-commercial use and
        copying provided the copyright notices stay intact.

  5.12.  AX.25 digipeater for Linux

     Name
        axdigi

     Author
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

     Description
        Allows Linux to digipeat across different ax.25 ports

     Status
        Beta release

     System requirements
        Requires Alan Cox AX.25 kernel support

     Detail.
        Allows frames to come in one port and out another using normal
        ax.25 digipeater methods.  Changes the digipeater callsign to
        the correct one for the correct return port.

     Where and How to obtain it.
        sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/axdigi.tgz>
        ftp.ucsd.edu
        <ftp://ftp.ucsd.edu/hamradio/packet/tcpip/linux/axdigi.tgz>

     Licensing/Copyright etc.
        GNU GPL

     Contributed by:
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

  5.13.  Gracilis PacketTwin kernel driver

     Name
        Gracilis PacketTwin kernel driver

     Author
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

     Description
        Device driver for Gracilis PackeTwin cards.

     Status
        Alpha - needs testing and bug reports.

     System requirements.
        Gracilis PackeTwin card, Linux AX.25 kernel software.

     Detail.
        Provides kernel based driver support for the Gracilis PackeTwin
        card using the kernel AX.25 code.

     Where and How to obtain it.
        The current version can be obtained from sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/pt-driver-0.04.tgz>

     Licensing/Copyright etc.
        GNU GPL.

     Contributed by:
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

  5.14.  RSPF Daemon

     Name
        RSPF - Radio Shortest Path First routing daemon for Linux

     Author
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

     Description
        An implementation of the Radio Shortest path First routing
        protocol for linux. The daemon supports version 2.2 of the
        protocol which corrects a lot of bugs and problems that were
        present in version 2.1.

     Status
        Alpha - running, needs testing and bug reports. Current version
        is 0.05

     System requirements.
        Requires Alan Cox's kernel based AX.25 code.

     Detail
        This program will allow Linux to become an RSPF router.  It
        addresses some of the quirks of RSPF v2.1, the version in NOS
        which means that it is incompatible with the NOS version. It
        will also allows remote/local queries via a tcp session for
        debugging and diagnostic purposes.

     Where and How to obtain it.
        Current versions are always available from sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/> or from the author.

     Licensing/Copyright
        Will be covered by the GPL when formally released.

     Contributed by:
        Craig Small vk2xlz <csmall@acacia.itd.uts.edu.au>

  5.15.  Z8530 SCC driver.

     Name
        generic Z8530 SCC device driver.

     Author
        Joerg Reuter, <DL1BKE@melaten.ihf.rwth-aachen.de>

     Description
        A device driver to allow you to use a range of 8530 based SCC
        cards under Linux.

     Status
        stable

     System requirements.
        a modern Linux kernel

     Detail
        The Zilog Z8530 SCC provides Synchronous/Asynchronous, HDLC,
        NRZI encoding and other capabilities. There are a number of
        peripheral cards that use the Z850 as the basis of their design.
        The driver is generic enough to be pushed into service for just
        about any sort of 8530 card. The README file that comes with the
        package provides detail on installation and configuration.

     Where and How to obtain it:
        The driver can be obtained from: ftp.ucsd.edu
        <ftp://ftp.ucsd.edu/hamradio/packet/tcpip/incoming/z8530drv-1.8.dl1bke.tar.gz>
        for kernel versions older than 1.3.*. Kernel version 1.3.*
        supports the driver in the standard distribution.

     Licensing/Copyright
        GNU Public License.

  5.16.  Multidrop kiss program.

     Name
        mkiss

     Author
        Kevin Uhlir, <kevinu@cricket.vware.mn.org>

     Description
        a program that will allow you to make use of the feature of
        multidrop kiss mode tncs.

     Status
        stable, released.

     System requirements.
        A modern linux kernel and AX.25 kernel support.

     Detail
        The existing KISS support in the linux kernel is designed for
        simple single channel KISS TNC's. A number of TNC's support what
        is called multidrop mode where a single TNC may support a number
        of modems, each being controllable via an individual KISS port
        across the same serial interface. Kevin has overcome the lack of
        multidrop support by writing a program that takes two seperate
        kiss feeds from the kernel and combining them into a single
        multidrop feed which it passes to the tnc. The reverse process
        also takes place where it splits the single multidrop feed into
        the appropriate individuals feeds.

        Instructions on how to compile, install and use the software
        come in the package.

     Where and How to obtain it:
        The program is available from sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/mkiss-1.0.tgz>.

     Licensing/Copyright
        GNU GPL

     Contributed by:
        Kevin Uhlir, <kevinu@cricket.vware.mn.org>

  6.  Morse Code

  Software for use in conjunction with, or for facilitating Morse
  communication.

  6.1.  GW4PTS Morse trainer.

     Author
        Alan Cox, GW4PTS, iialan@iifeak.swan.ac.uk

     Description
        A Morse Code trainer that uses the PC internal speaker
     Status
        stable, works quite well, unfinished.

     System requirements
        Linux, any version

     Detail
        Alan wrote this small program in only an hour. It is quite neat,
        and allows you to play morse at a range of speeds and
        frequencies through the PC internal speaker. You can specify the
        text to be played either from the command line, from a file, or
        the program is capable of generating random character groups. As
        it stands you must invoke the program from a Linux Virtual
        Console, as it relies on certain kernel calls to produce the
        sound, and these don't work as easily from an XTerm. As it
        sounds each character it lists the character in verbal form (Di,
        Dit, Dah etc.) to the screen. Alan is hoping that someone will
        take the code and enhance it with the features he has listed in
        the comments at the head of the source file.

     Where and How to obtain it.
        I've had a large number of responses from people seeking this
        code, so I've obtained Alan's permission to make it available.
        You can obtain it from sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/ham/GW4PTS.morse.tar.gz>.

     Copyright/Licensing
        GNU Public License 2, freely redistributable, no warranty.

  6.2.  morse (aka superiormorse)

     Author
        Joe Dellinger, Hawaii Institute of Geophysics, University of
        Hawaii at Manoa, joe@sep.stanford.edu, jdellinger@trc.amoco.com,
        joe@soest.hawaii.edu

     Description
        A morse-code practice program for UNIX workstations.

     Status
        Quite stable

     System Requirements
        Currently supports X11, Sun4, HP, Indigo, and Linux

     Detail
        Lots of features and options.  Includes a utility for generating
        random content QSOs, similar to those used in the FCC exams.

     Where and How to obtain it:
        morse can be obtained from: sepftp.standford.edu
        <ftp://sepftp.stanford.edu/pub/UNIX_utils/morse/morse.tar.gz>.

     Licensing/Copyright
        Freely Redistributable

     Contributed by:
        Brian Suggs, AC6GV, and John Gotts, jgotts@engin.umich.edu

  7.  AMTOR Software.

  Software for use in conjunction with, or for facilitating AMTOR.

  8.  PACTOR Software.

  Software for use in conjunction with, or for facilitating PACTOR.

  9.  Slow Scan Television Software.

  Software for use in conjunction with, or for facilitating Slow Scan
  Television.

  10.  Facsimile Software.

  Software for use in conjunction with, or for facilitating Facsimile.

  11.  Design and Construction Software.

  Software to assist in the design and construction of amateur radio
  related things. Antenna, Circuit Board, Filter, and QSL card design
  packages are all good candidates for this section.

  11.1.  Software Oscilloscope

     Author
        Jeff Tranter, Jeff_Tranter@Mitel.COM

     Description
        Scope is a simple software emulation of an oscilloscope. It
        graphically displays voltage as a function of time.

     Status
        ALPHA. First release.

     System requirements
        Sound card with input capability supported by the kernel sound
        driver.  SVGALIB is used to do the display work.

     Detail
        Scope uses the /dev/dsp device to take audio in from the
        soundcard and displays it on the screen in a manner similar to
        an oscilloscope.  Jeff claims Scope was written more for
        amusement value than for any serious purpose.

     Where and How to obtain it.
        You can obtain source, makefile and man page for Scope from:
        sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/circuits/scope-0.1.tar.gz>

     Licensing/Copyright
        GNU Public License, Freely redistributable, No warranty.

  11.2.  Printed Circuit Board design tool.

     Author
        Thomas Nau, <Thomas.Nau@rz.uni-ulm.de>

     Description
        An X11 based interactive printed circuit board design tool.

     Status
        Vers 1.3, stable.
     System requirements
        X11 Windowing system and a recent flex program.

     Detail
        The pcb package comes with good instructions on how to compile
        and install the software. I compiled it without error under
        X11R6. It comes with package layouts for a range of popular
        components and the example layout nicely demonstrates the
        capabilities of the package.

     Where and How to obtain it.
        You can obtain the pcb package from: sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/circuits/pcb-1.3.tar.gz>
        or from: ftp.medizin.uni-ulm.de <ftp://ftp.medizin.uni-
        ulm.de/pub/pcb-1.3/pcb-1.3.tar.gz>

     Licensing/Copyright
        GNU Public License

  11.3.  Chipmunk circuit design and simulation tool

     Author
        Dave Gillespie <daveg@synaptics.com> and John Lazzaro
        <lazzaro@cs.berkeley.edu>

     Description
        Schematic Entry and Digital or Analog Simulation.

     Status
        vers 5.10, stable.

     System requirements
        X11 windowing system and older (XFree86-2.x) libs, 8 bpp (256
        color) only

     Detail
        I haven't tried this one out yet.

     Where and How to obtain it.
        You can obtain the Chipmunk package from: sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/circuits>or ifi.uio.no
        <ftp://ifi.uio.no/pub/>.

     Licensing/Copyright
        Modified GNU Public License, Caltech specifically disclaimed
        from liability.

  11.4.  irsim

     Author
        Dmitry Teytelman, dim@leland.stanford.edu

     Description
        An event-driven logic-level simulator for MOS circuits

     Status
        Version 9.2, production.

     System Requirements
        X-Windows.

     Detail
        irsim is an X11 based simulator for MOS circuits. It has two
        simulation modes, either switch where each transistor is
        modelled as a voltage controlled switch, or linear where each
        transistor is modelled as a resistor in series with a voltage
        controlled switch, and each node has a capacitance.

     Where and How to obtain it.
        You can obtain irsim from: sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/circuits/irsim-9.2.linux.1.tar.gz>.

     Licensing/Copyright
        Freely Redistributable

  11.5.  Spice vers. 3f4

     Author
        University of California, Berkeley, port by
        Jeff@RyeHam.EE.Ryerson.Ca

     Description
        Spice is an analog circuit emulator.

     Status
        Stable release.

     System requirements
        Unknown.

     Detail
        Spice allows you to design and test circuits in a computer
        modelled environment to see how they will behave without having
        to touch a soldering iron, or solder. A readme file comes with
        the package. To install I did the following:

          # cd /usr/src
          # gzip -dc spice3f4.tar.gz | tar xvf -
          # cd spice3f4
          # ./utils/build linux
          # ./utils/build linux install

     Where and How to obtain it.
        You can obtain version 3f4 of Spice from: sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/circuits/spice3f4.tar.gz>

     Licensing/Copyright
        Copyright held by University California, Berkeley. Freely
        redistributable provided you are not unfriendly to the U.S.

  11.6.  svgafft - Spectrum analyser

     Author
        Andrew Veliath, drewvel@ayrton.eideti.com

     Description
        svgafft is a spectrum analyser for Linux.

     Status
        Alpha software, but usable.

     System requirements
        F77, Linux supported sound card, svgalib, a 486DX33 or better.

     Detail
        svgafft uses the /dev/dsp device and currently supports 16-bit
        and 8-bit sample resolution on supported Linux soundcards. It's
        display is something akin to a high-end spectrum analyzer with
        falling peaks.

     Where and How to obtain it:
        You can find the software at sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/sound/svgafft-0.2c.tar.gz>.

     Licensing/Copyright
        GNU Public License.

  11.7.  Audio Spectrum Analyser

     Author
        Philip VanBaren, phillipv@eecs.umich.edu

     Description
        An audio spectrum analyser for Linux SVGALIB or X-Windows.

     Status
        Alpha but usable

     System requirements
        Linux supported sound card, svgalib or X-Windows.

     Detail
        freq5a1 uses the /dev/dsp device, samples the incoming audio,
        performs a fast fourier transform on the data and displays the
        output in either 640x480 VGA or an X-Window.

     Where and How to obtain it:
        You can obtain freq5a1.tar.gz from: sunsite.unc.edu
        <ftp://sunsite.unc.edu/pub/Linux/apps/sound/freq5a1.tar.gz> or
        by mail from the author.

     Licensing/Copyright
        GNU Public License vers 2.0.

  12.  Training/Educational Software.

  Software to assist in education or training for amateur radio. Morse
  Code tutorials, technical examination database, Computer Based
  Training software, and the like are listed here.

  13.  Miscellaneous Software.

  Software that didn't neatly fit into any other category.

  13.1.  Linux for HAMS CD-ROM

     Author
        Bruce Perens, bruce@pixar.com
     Description
        A complete linux distribution on CDROM specifically designed for
        Amateur Radio operators.

     Status
        Not yet available.

     System requirements.
        Linux compatible hardware, some software will obviously require
        specialised hardware to operate. No additional software should
        be required.

     Detail
        A complete Linux distribution specifically catering for Amateur
        Radio operators. It will include a fully featured Linux
        installationplus a range of amateur radio specific software such
        as those listed in this document. Bruce has detail and updated
        status report available at the LinuxForHams WWW page
        <http://www.rahul.net/perens/LinuxForHams>.

     Where and how to obtain it:
        It isn't yet available, details will be made available when it
        is released.

     Licensing/Copyright
        GNU Public License.

     Contributed by:
        Bruce Perens, bruce@pixar.com

  13.2.  SunClock

     Author
        John Mackin, john@cs.su.oz.AU

     Description
        A clock that will show you instantly what parts of the globe are
        exposed by sunlight and what parts aren't.

     Status
        Released.

     System requirements.
        X-Windows.

     Detail
        sunclock is another of those desktop gadgets that most people
        think look nice but really don't have a lot of use for. I use
        sunclock to obtain an at-a-glance indication of the time
        anywhere in the world.  In its iconic form it sits in a small
        Mercator projection. When maximised it produces the same image
        but obviously larger with slightly more detail.  It also
        displays the date, local time and UTC. sunclock actually
        calculates mathematically what parts of globe are sunlit and
        which aren't, it seems quite accurate, so long as you assume the
        earth has no atmosphere.

     Where and How to obtain it.
        I haven't seen any precompiled sunclock binaries for Linux
        about, so check your nearest archie server. sunclock compiled
        straight out of the box for me.

     Licensing/Copyright
        Public Domain and may be freely copied as long as the notices at
        the top of sunclock.c remain intact.

  13.3.  Xearth

     Author
        Kirk Johnson, <tuna@cag.lcs.mit.edu>

     Description
        A rotating earth for X-windows root window. It has real life
        shading, and options for geostatic view, and non geostatic view.
        A prettier and more modern version of sunclock but requires a
        bit more processing power.

     Status
        Version 1.0.

     System requirements.
        X-Windows.

     Detail
        xearth is a sophisticated program which draws a colour picture
        of the earth onto your X Windows display. It offers either an
        orthographic view as you would see from space or the map like
        mercator projection. You have a number of options in determining
        the behaviour of the view. The details are available from the
        xearth Home Page <http://cag-www.lcs.mit.edu/~tuna/xearth/> and
        in the documentation which is supplied with the package.

     Where and How to obtain it.
        The source can be obtained from its home site at cag.lcs.mit.edu
        <ftp://cag.lcs.mit.edu/pub/tuna/> or just about any X11/contrib
        directory.

     Licensing/Copyright
        Copyright (C) 1989, 1990, 1993 by Kirk Lauritz Johnson. The
        copyright notice included states that xearth is freely
        redistributable so long as the copyright notice is left intact,
        and be included in documentation.

     Contributed by:
        Kirk Johnson" <tuna@kanchenjunga.lcs.mit.edu>

  14.  Installation, Configuration, Hints and Tricks.

  This section provides some detail on how to actually install and use
  some of the listed software. It will also detail some solutions to
  some tricky problems that you might encounter with the software.

  14.1.  AX.25/NetRom - Packet Radio protocol software.

  The AX.25 protocol offers both connected and connectionless modes of
  operation, and is used either by itself for point-point links, or to
  carry other protocols such as tcp/ip and netrom.

  It is similar to X.25 level 2 in structure, with some extensions to
  make it more useful in the amateur radio environment.

  The NetRom protocol is an attempt at a full network protocol and uses
  AX.25 at its lowest layer as a datalink protocol. It provides a
  network layer that is an adapted form of AX.25.

  Alan Cox developed some early kernel based AX.25 software support for
  Linux.  Jonathon Naylor <g4klx@g4klx.demon.co.uk> has taken up ongoing
  development of the code, has added NetRom support and this is
  available in ALPHA form for you to experiment with. The Linux code
  supports KISS based TNC's (Terminal Node Controllers), the Ottawa PI
  card and the Z8530 SCC driver.  Any bug reports relating to the AX.25
  or Netrom software should now go to Jonathon.

  The User programs contain a simple PMS (Personal Message System), a
  beacon facility, a line mode connect program, `listen' an example of
  how to capture all AX.25 frames at raw interface level and programs to
  configure the Netrom protocol. Included also are an AX.25 server style
  program to handle and despatch incoming AX.25 connections and a NetRom
  daemon which does most of the hard work for NetRom support.

  14.1.1.  Where to obtain the AX.25/Netrom software.

  The AX.25 software is comprised of two components, the kernel source
  and the utility programs. As of the version 1.3.* release of Linux
  kernel source the AX.25, Netrom, Z8530 SCC and PI card drivers are all
  included as a standard. I recommend you obtain and use the version
  1.3.* kernel source.  There are three reasons I'm recommending you use
  the alpha version software and they are:

  o  it makes the process of building and configuring the software a
     whole lot simpler. There are no patches to apply it is a simple
     matter of configuring and compiling a kernel with the appropriate
     options enabled.

  o  it is the most recent software and is most likely to provide the
     most satisfactory results.

  o  like all new software, it needs testing and bug reports. The more
     people that take the software and attempt to use it in their own
     configurations the more likely it will be that bugs are uncovered
     and the easier it will be to get the software debugged. Join the
     team, contribute bug reports and help everybody.

  Be warned though, this software is alpha and may have problem that you
  wouldn't otherwise encounter. Please take all the usual precautions
  and be sure to keep a working kernel as backup when testing new
  kernels. It is wise to test a new kernel by booting from it from
  floppy before actually installing it with lilo, though I haven't
  bothered for about 90 kernels revisions so I'm fairly confident you
  can pretty safely run with alpha kernels.

  You can obtain the latest kernel source from:

  ftp.funet.fi

       /pub/OS/Linux/PEOPLE/Linus/v1.3/

  You will also need the utility programs. The latest version of those
  can be found at:

  sunsite.unc.edu

       /pub/Linux/apps/ham/ax25-utils-1.3.30.tar.gz

  or:

  ftp.ucsd.edu

       /hamradio/packet/tcpip/incoming/ax25-utils-1.3.30.tar.gz

  14.1.2.  Installing the AX.25 software.

  The software comes in two parts, the kernel source, and the user
  programs.

  14.1.2.1.  The kernel source.

  If you are using the 1.3.* kernel source then all you have to do is
  build the kernel as you would normally.

  The following should be safe:

       # cd /usr/src/linux
       # make config
       # make dep;make

  o  Be sure to answer `yes' when you are asked if you should include
     the AX.25 support in the make config step.

  o  You will also need to answer `y' to including SLIP if you want the
     AX.25 code to support a KISS TNC or if you intend running a version
     of NOS on your system and you wish to be able to link it with the
     rest of your system.

  o  You will be asked if you wish to include the Z8530 driver.

  o  If you wish to support the Ottawa PI driver then you must answer
     `y' when asked: Do you want to be offered ALPHA test drivers ?

     and: Other ISA cards ?

     then `y' when prompted:

     Ottawa PI and PI/2 support.

  14.1.2.2.  The user programs.

  To install the user programs you should try:

  # cd /usr/local
  # gzip -dc ax25-utils-1.3.30.tar.gz | tar xvvof -
  # cd ax25-utils-1.3.30
   ... if you are using a.out binaries:
  # install.sh a.out
   ... if you want to install ELF binaries:
  # install.sh ELF

  If you want to compile your own binaries then you should do the
  following:

       # cd src
       # make clean
       # make install

  14.1.3.  Configuring an AX.25 connected mode interface.

  Configuring an AX.25 port is very similar to configuring a slip
  device.  The AX.25 software has been designed to work with a TNC in
  kiss mode or an Ottawa PI2 card. You will need to have the TNC
  preconfigured and connected to your serial port. You can use a comms
  program like minicom or seyon to configure the TNC into kiss mode if
  you wish.

  You use the axattach program in much the same way as you would use the
  slattach program (refer to the NET-2-HOWTO for more information on
  slattach and the other network software for Linux). For example:

       # /usr/local/sbin/axattach -s 4800 /dev/ttyS1 VK2KTJ-1 &
       # sleep 2

  would configure your /dev/ttyS1 serial device to be a kiss interface
  at 4800 bps, with the hardware address VK2KTJ. The sleep of 2 seconds
  is necessary just to give the kernel a little time to do some
  housekeeping that it has to do before you try and change the
  interface.

  You can use the axsetcall command to change the callsign of an AX.25
  interface after it has been created if you wish.

  All this step has done is to actually activate the device in the
  kernel, you need to run other programs before you an actually make use
  of the port. The AX.25 ports have a configuration file that can be
  read by any program that wants to use AX.25 to find information about
  the port. This file is called the:

       /usr/local/etc/axports

  file. The format of the file is as follows:

       callsign baudrate window label

  where:

     callsign
        is the AX.25 callsign you want to assign to the port.

     baudrate
        is the speed at which you wish the port to communicate with your
        TNC.

     window
        is the AX.25 window (K) parameter. This is the same as the
        MAXFRAME setting of many tnc's.

     label
        is a name for the port.

  In my case, mine looks like:

       VK2KTJ-1 4800 1 radio

  At this stage not all of this information is used, it will be picked
  up and used in later developments. You now should be able to make
  outgoing AX.25 connections. To test AX.25 connected mode you could use
  something similar to the following:

       /usr/local/bin/call VK2DAY via VK2RVT

  The call program is a linemode terminal program for making AX.25
  calls. It recognises lines that start with ` ' as command lines.  The
  ` .' command will close the connection.

  Please refer to the man pages in /usr/local/man and the README file in
  ax25-utils-1.3.30 distribution for more information.

  14.1.4.  Configuring Linux to accept Incoming AX.25 connections.

  Linux is a powerful operating system and offers a great deal of
  flexibility in how it is configured. With this flexibility comes a
  cost in configuring it to do what you want. When configuring your
  Linux machine to accept incoming AX.25 connections there are a number
  of questions you need to ask yourself.  The most important of which
  is: "What do I want users to see when they connect?". As detailed in
  the software list at the start of this document there are BBS systems
  that are being developed that you might want users to see when they
  connect, alternatively you might want to give users a login prompt so
  that they can make use of a shell account, or you might even have
  written your own program, such as a customised database or a game,
  that you want people to connect to. Whatever you choose, you must tell
  the AX.25 software about this so that it knows what software to run
  when it accepts an incoming AX.25 connection.

  You do this within the /usr/local/etc/ax25d.conf. This file is the
  configuration file for the ax25d AX.25 daemon which handles incoming
  AX.25 connections.

  The file is a little cryptic looking at first, but you'll soon
  discover it is very simple in practise, with a small trap for you to
  be wary of.

  The format of the ax25d.conf file is as follows:

       # This is a comment and is ignored by the ax25d program.
       [<interface_call>]
       <peer1>  window T1 T2 T3 N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       <peer2>  window T1 T2 T3 N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       defaults window T1 T2 T3 N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       <peer3>  window T1 T2 T3 N2 <mode> <uid> <cmd> <cmd-name> <arguments>
       default  window T1 T2 T3 N2 <mode> <uid> <cmd> <cmd-name> <arguments>

  Where:

     #  at the start of a line marks a commment and is completely
        ignored by the ax25d program.

     <interface_call>
        is the AX.25 callsign of the interface that this particular
        paragraph is for.

     <peer>
        is the callsign of the peer node that this particular
        configuration applies to. If you don't specify an SSID here then
        any SSID will match.

     window
        is the AX.25 Windows parameter (K) or MAXFRAME parameter for
        this configuration.

     T1 is the Frame retransmission (T1) timer in half second units.

     T2 is the amount of time the AX.25 software will wait for another
        incoming frame before preparing a response in 1 second units.

     T3 is the amount of time of inactivity before the AX.25 software
        will disconnect the session in 1 second units.

     N2 is the number of consecutive retransmissions that will occur
        before the connection is closed.

     <mode>
        provides a mechanism for determining certain types of general
        permissions. The modes are enabled or disabled by setting or
        resetting bits in an 8 bit map. You set that map by setting
        <mode> to the sum of the following values:

        1  Setup utmp, and run on a ptty (planned).

        2  UNUSED.

        4  UNUSED.

        8  UNUSED.

        16 UNUSED.

        32 UNUSED.

        64 Disallow digipeated uplinks, only allow direct connections.

        128
           Lockout, Barred, immediate disconnect.

     <uid>
        is the userid that the program to be run to support the
        connection should be run as.

     <cmd>
        is the full pathname of the command to be run, with no arguments
        specified.

     <cmd-name>
        is the text that should appear in a ps as the command name
        running (normally the same as <cmd> except without the directory
        path information.

     <arguments>
        are the command line argument to be passed to the <:cmd> when it
        is run. You pass useful information into these arguments by use
        of the following tokens:

        %U AX.25 callsign of the connected party without the SSID, in
           uppercase.

        %u AX.25 callsign of the connected party without the SSID, in
           lowercase.

        %S AX.25 callsign of the connected party with the SSID, in
           uppercase.

        %s AX.25 callsign of the connected party with the SSID, in
           lowercase.

  You need one section in the above format for each AX.25 interface you
  want to accept incoming AX.25 connections on.

  There are two special lines in the paragraph, one starts with the
  string `defaults' and other starts with the string `default' (yes
  there is a difference). These lines serve special functions.

  The `default' lines purpose should be obvious, this line acts as a
  catch-all, so that any incoming connection on the <interface_call>
  interface that doesn't have a specific rule will match the `default'
  rule. If you don't have a `default' rule, then any connections not
  matching any specific rule will be disconnected immediately without
  notice.

  The `defaults' line is a little more subtle, and here is the trap I
  mentioned earlier. In any of the fields for any definition for a peer
  you can use the `*' character to say `use the default value'. The
  `default' line is what sets those default values. The kernel software
  itself has some defaults which will be used if you don't specify any.
  The trap is that the these defaults apply only to those rules below
  the `default' line not to those above. You may have more than one
  `default' rule per interface definition, and in this way you may
  create groups of default configurations.

  Ok, an illustrative example:

       # ax25d.conf for VK2KTJ - 21/11/95
       # This configuration uses the AX.25 port defined earlier.
       [VK2KTJ-1]
       NOCALL     *     *  *  *  *   0    guest /usr/games/fortune
       defaults   1    10  *  *  *   0    root  /bin/login ax25login
       VK2XLZ-1   *     *  *  *  *   *      *     *         *
       VK2DAY-1   *     *  *  *  *   *      *     *         *
       default    1    10  5 100 5   0    root  /usr/local/bin/bbs bbs %u
       #

  This example says that anybody to the interface on my machine with the
  callsign VK2KTJ-1 will have the following rules applied:

  Anyone whose callsign is set to `NOCALL' should use the kernel default
  parameters and have the fortune program run as guest for them.

  The defaults line changes two parameters from the kernel defaults
  (Window and T1) and will run the /bin/login login program for them.
  Any copies of login run this way will appear as ax25login in a ps
  listing so that you can easily distinguish AX.25 logins from others.
  Following are definitions for two stations who will receive those
  permissions.

  The last line in the paragraph is the catch all definition that
  everybody else will get (including VK2XLZ and VK2DAY using any other
  SSID other than -1).  This definition sets all of the parameters
  implicitly and will cause the bbs program to run with a command line
  argument of the callsign of the connecting peer in lower case with no
  SSID.

  If you wanted to define rules for another interface, even a Netrom
  interface, then you would add another paragraph coded in the same way
  with rules and callsign appropriate to it.

  This example is a contrived one but I think it illustrates clearly the
  important features of the syntax of the configuration file. Jonathon
  includes a much longer and more detailed example in the ax25-utils
  package.

  14.1.5.  Configuring an AX.25 interface for tcp/ip.

  If you want to carry tcp/ip over the AX.25 port you have configured,
  all you need to do is use the ifconfig program to configure the ip
  address and netmask details for the port and add a route via the port.

       # /sbin/ifconfig sl0 44.136.8.5
       # /sbin/ifconfig sl0 netmask 255.255.255.0
       # /sbin/ifconfig sl0 broadcast 44.136.8.255
       # /sbin/ifconfig sl0 arp mtu 256 up
       # /sbin/route add -net 44.136.8.0 sl0
       # /sbin/route add default sl0

  The commands listed above are typical of the sort of configuration
  many of you would be familiar with if you have used NOS or any of its
  derivatives or any other tcp/ip software. Note the default route might
  not be required if you have some other network device conifgured.

  To test it out, try a ping or a telnet to a local host.

  14.1.6.  Configuring an AX.25 interface for Netrom.

  To configure Netrom for an AX.25 interface you must configure two
  files.

  The first is the /usr/local/etc/nrports file. This file describes the
  Netrom port.

  This file is formatted as follows:

       callsign  alias     description

  Where:

     callsign
        is the callsign that the Netrom traffic from this port will use.

     alias
        is the Netrom alias this port will have assigned to it.

     description
        is a free text description of the port.

  An example would look something like the following:

       VK2KTJ    MTCOLAH   Netrom Switch Port

  Note again that the first line refers to the first Netrom interface,
  the second line refers to the second Netrom interface and so on.

  The second file is the /usr/local/etc/nrbroadcast file.

  This file is formatted as follows:

       port min_obs def_qual worst_qual verbose

  Where:

     port
        is the port number obtained from the /usr/local/etc/axports
        file. The first line in the file describes AX.25 port number
        one, the second describes port number two etc. If you do not
        have an entry in /usr/local/etc/nrbroadcasts for a port then
        this means that no Netrom routing will occur and any received
        Netrom broadcasts will be ignored for that port.

     min_obs
        is the minimum obselesence value for the port.

     def_qual
        is the default quality for the port.

     worst_qual
        is the worst quality value for the port, any routes under this
        quality will be ignored.

     verbose
        is a flag determining whether full Netrom routing broadcasts
        will occur from this port or only a routing broadcast
        advertising the node itself.

  An example would look something like the following:

       1    1       200      10         1
       2    1       200      10         1

  14.2.  Ottawa PI/PI2 card driver.

  The Ottawa PI card is a Z8530 SCC based card for IBM PC type machines
  that is in common usage by Amateur Radio operators worldwide. While it
  is most commonly used by Amateur Radio Operators, it could be pressed
  into service in other fields where it is desirable to have the
  features of a Z8530. It supports a high speed half duplex (single DMA
  channel) port, and a low speed (<9k6bps interrupt driven) half duplex
  port. The PI2 is a new version of the card that supports an on board
  radio modem, and improved hardware design.

  A driver for this card has been written by David Perry,
  <dp@hydra.carleton.edu>, and is available from in the standard linux
  kernel. Please refer to the AX.25 section above for details on how to
  configure the kernel to include the PI card driver.

  Once you have the PI card driver configured into your kernel then you
  should reboot and when you do you should see mention of the PI card
  driver in the messages that appear on the screen while the kernel is
  booting. The kernel tests each of the I/O port addresses that a PI
  card might be configured for and reports any that it finds. You should
  then look at the /proc/net/dev file and you should see reference to
  devices called pi0a and pi0b etc.

  If you don't then recheck that you have configured and compiled your
  kernel correctly and that you are in fact actually running your new
  kernel. If you still don't then this suggests that your PI card was
  not detected by the kernel while it is booting and may indicate that
  you have some sort of hardware conflicting with your PI card that
  prevented it being detected.

  If all of the above went as planned then you will need to configure
  your PI card for IP. The configuration of the PI card is virutally
  identical to that of any other IP interface. Something like the
  following should work ok for you:

       # /sbin/ifconfig pi0a 44.136.8.5
       # /sbin/ifconfig pi0a netmask 255.255.255.0
       # /sbin/ifconfig pi0a broadcast 44.136.8.255
       # /sbin/ifconfig pia arp mtu 256 up
       # /sbin/route add -net 44.136.8.0 pi0a
       # /sbin/route add default pi0a

  Note that pi0a refers to the `a' port on the first PI card found, and
  that pi0b would therefore refer to the `b' port on the first PI card
  found etc.

  As usual, when this has been done you can test the interface with the
  ping or telnet command to ensure it is working.

  14.3.  HOWTO link NOS and the Linux kernel networking software

  Many people like to run some version of NOS under Linux because it has
  all of the features and facilities they are used to. Most of those
  people would also like to have the NOS running on their machine
  capable of talking to the Linux kernel so that they can offer some of
  the linux capabilities to radio users. Brandon S. Allbery, KF8NH,
  contributed information to explain how to achieve this.

  Since both Linux and NOS support the slip protocol it is possible to
  link the two together by creating a slip link. You could do this by
  using two serial ports with a loopback cable between them, but this
  would be slow and costly. Linux provides a feature that many other
  unix-like operating systems provide called `pipes'. These are special
  pseudo devices that look like a standard tty device to software but in
  fact loopback to another pipe device. To use these pipes the first
  program must open the master end of the pipe, and the open then the
  second program can open the slave end of the pipe. When both ends are
  open the programs can communicate with each other simply by writing
  characters to the pipes in the way they would if they were terminal
  devices.

  To use this feature to connect the Linux Kernel and a copy of NOS, or
  some other program you first must chosoe a pipe device to use. You can
  find one by looking in your /dev directory. The master end of the
  pipes are named: ptyp[1-f] and the slave end of the pipes are known
  as: ttyp[1-f]. Remember they come in pairs, so if you select
  /dev/ptypf as your master end then you must use /dev/ttypf as the
  slave end.

  Once you have chosen a pipe device pair to use you should allocate the
  master end to you linux kernel and the slave end to the NOS program,
  as the Linux kernel starts first and the master end of the pipe must
  be opened first.  You must also remember that your Linux kernel must
  have a different IP address to your NOS, so you will need to allocate
  a unique address for it if you haven't already.

  You configure the pipe just as if it were a serial device, so to
  create the slip link from your linux kernel you can use commands
  similar to the following:

  # /sbin/slattach -s 38400 -p slip /dev/ptypf &
  # /sbin/ifconfig sl0 broadcast 44.255.255.255 pointopoint 44.70.248.67 /
          mtu 1536 44.70.4.88
  # /sbin/route add 44.70.248.67 sl0
  # /sbin/route add -net 44.0.0.0 gw 44.70.248.67

  In this example the Linux kernel has been given IP address 44.70.4.88
  and the NOS program is using IP address 44.70.248.67. The route
  command in the last line simply tells your linux kernel to route all
  datagrams for the amprnet via the slip link created by the slattach
  command. Normally you would put these commands into your
  /etc/rc.d/rc.inet2 file after all your other network configuration is
  complete so that the slip link is created automatically when you
  reboot.  Note: there is no advantage in using cslip instead of slip as
  it actually reduces performance because the link is only a virtual one
  and occurs fast enough that having to compress the headers first takes
  longer than transmitting the uncompressed datagram.

  To configure the NOS end of the link you could try the following:

       # you can call the interface anything you want; I use "linux" for convenience.
       attach asy ttypf - slip linux 1024 1024 38400
       route addprivate 44.70.4.88 linux

  These commands will create a slip port named `linux' via the slave end
  of the pipe device pair to your linux kernel, and a route to it to
  make it work. When you have started NOS you should be able to ping and
  telnet to your NOS from your Linux machine and vice versa. If not,
  double check that you have made no mistakes especially that you have
  the addresses configured properly and have the pipe devices around the
  right way.

  15.  How to contribute or update an entry.

  I'd like for this list to be as complete and up-to-date as possible.
  So I'm keen to hear about any developments or products that I don't
  already know about, or that the entry is obselete or outdated for.

  What I'd like as a minimum set of requirement would be something like
  the following:

     Name
        The name of the software in question.

     Author
        Who wrote, or ported the software. An email address, or some
        other means of contacting them is also essential.

     Description
        A single line description of what the software does.

     Status
        An indication of the software's status. Is it still in testing?
        Is it a production release? Is it still in the design stage?

     System requirements
        What does the software require to run? Does it require X-
        Windows? Does it need a soundcard? Does it need a certain
        version of kernel? Does it need other software to support it?

     Detail
        I'm not keen on including a large amount of detail on each piece
        of software as this would consume a lot of time reading and
        trying to keep up to date. So instead what I'd like to list is
        what makes this software unique, anything special about it.
        Perhaps its most outstanding features, that sort of thing.

     Where and How to obtain it.
        If the software is freely distributable then ftp details would
        be great.  If it is commercial software then the name of the
        company distributing the software, and an address or telephone
        number. If it is available only by some other means, say mail
        order, then details on where and how to obtain it.

     Licensing/Copyright
        Is the software Copyleft? Copyright? Shareware? Public Domain?
        Restricted in use in any way?

  Don't worry if you don't know all of these details, just send me what
  you do know and I'll list what I can. I'd rather have an incomplete
  listing than no listing at all.

  Please mail any contributions to:

  94004531@postoffice.csu.edu.au or terry@perf.no.itg.telecom.com.au

  I'd list a packet radio address too but I'm still not properly
  operational again yet after moving house.

  16.  Discussion relating to Amateur Radio and Linux.

  There are various places that discussion relating to Amateur Radio and
  Linux take place. They take place in the comp.os.linux.* newsgroups,
  they also take place on the HAMS list on vger.rutgers.edu. Other
  places where they are held include the tcp-group mailing list at
  ucsd.edu (the home of amateur radio tcp/ip discussions), and you might
  also try the #linpeople channel on the undernet irc network.

  To join the Linux linux-hams channel on the mail list server, send
  mail to:

       Majordomo@vger.rutgers.edu

  with the line:

       subscribe linux-hams

  in the message body. The subject line is ignored.

  To join the tcp-group send mail to:

  listserver@ucsd.edu

  with the line:

       subscribe tcp-group

  in the body of the text.

  Note: Please remember that the tcp-group is primarily for discussion
  of the use of advanced protocols, of which tcp/ip is one, in Amateur
  Radio. Linux specific questions should not ordinarily go there.

  17.  Copyright.

  The HAM-HOWTO is Copyright (c) 1995 Terry Dawson.

  Permission is granted to make and distribute verbatim copies of this
  document provided the copyright notice and this permission notice are
  preserved on all copies.

  Permission is granted to copy and distribute modified versions of this
  document under the conditions for verbatim copies above, provided a
  notice clearly stating that the document is a modified version is also
  included in the modified document.

  Permission is granted to copy and distribute translations of this
  document into another language, under the conditions specified above
  for modified versions.

  Permission is granted to convert this document into another media
  under the conditions specified above for modified versions provided
  the requirement to acknowledge the source document is fulfilled by
  inclusion of an obvious reference to the source document in the new
  media. Where there is any doubt as to what defines 'obvious' the
  copyright owner reserves the right to decide.