The first stage to configuration of an AX.25 interface is to configure it to work as a `vanilla' AX.25 interface with no TCP/IP. The following configuration will get you to the point of being able to make AX.25 calls from your Linux machine to other AX.25 nodes.
The AX.25 software has been designed to work with a TNC in kiss mode or with other cards such as the Ottawa PI2 card, PacketTwin and other SCC cards via special drivers that emulate a kiss tnc.
For real KISS TNC's there are two steps to complete in order to create an AX.25 port ready to use to make outgoing calls. For other types of hardware you need only complete the first step.
/etc/ax25/axports
file.The AX.25 ports have a configuration file that is read by many programs that want to find information about an AX.25 port. This file is called the:
/etc/ax25/axports
file. The format of the file is as follows:
portname callsign baudrate paclen window description
where:
is a text name that you will refer to the port by.
is the AX.25 callsign you want to assign to the port.
is the speed at which you wish the port to communicate with your TNC.
is the maximum packet length you want to configure the port to use for AX.25 connected mode connections.
is the AX.25 window (K) parameter. This is the same as the
MAXFRAME
setting of many tnc's.
is a textual description of the port.
In my case, mine looks like:
radio VK2KTJ-0 4800 256 2 144.800 MHz
If you are using an SCC card like the PI2 or PacketTwin then you do not need to create the network device, as the kernel driver will automatically do this for you. If you are using a KISS TNC then you will need to create the AX.25 interface as it will not already exist. Creating an AX.25 port is very similar to creating a slip device.
You will need to have the TNC preconfigured and connected to your serial port. You can use a communications program like minicom or seyon to configure the TNC into kiss mode if you wish.
In it simplest form you can use the axattach program as follows:
# /usr/sbin/axattach /dev/ttyS0 radio
would configure your /dev/ttyS0
serial device to be a kiss
interface configured as per the details for the line beginning with the
portname "radio" in the /etc/ax25/axports
file.
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.
If you are using a PI or PacketTwin card then you should use the axparms -setcall command to change the callsign of the appropriate port to that which you intend to use. Refer to the PI/PacketTwin section for the names of the network devices to use.
You now should be able to make outgoing AX.25 connections. To test AX.25 connected mode you could use the call program as demonstrated:
/usr/bin/call radio VK2DAY via VK2SUT
Note: you must tell call which AX.25 port you wish to make the call on, as the same AX.25 node might be reachable on any of the ports you have configured.
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 page in /usr/man
and the README
file
in ax25-utils-2.0.12a
distribution for more information.
The mkiss utility included in the ax25-utils distribution allows you to
make use of both modems on a dual port TNC. Configuration is fairly
simple. It works by taking a single serial device connected to a single
multiport TNC look like a number of devices each connected to a single port
TNC. You do this before you do any of the AX.25 configuration. The devies
that you then do the AX.25 configuration on are pseudo-TTY interfaces,
(/dev/ttyp*
), and not the actual serial device.
Example: if you have a dual port tnc and it is connected to your
/dev/ttyS0
serial device at 9600 bps, the command:
# mkiss -s 9600 /dev/ttyS0 /dev/ptyp0 /dev/ptyp1
# /usr/sbin/axattach /dev/ttyp0 port1
# /usr/sbin/axattach /dev/ttyp1 port2
would create two tty devices: /dev/ttyp0
and /dev/ttyp0
that
each look like a normal single port TNC. You would then treat
/dev/ttyp0
and /dev/ttyp1
just as you would a conventional
serial device with TNC connected. This means you'd then use the axattach
command as described above, on each of those, in the example for AX.25 ports
called port1
and port2
. You shouldn't use axattach on the actual
serial device as the mkiss program uses it.
The mkiss command has a number of optional arguments that you may wish to use. They are summarised as follows:
enables the addition of a one byte checksum to each KISS frame. This is not supported by most KISS implementation, it is supported by the G8BPG KISS rom.
sets the speed of the serial port.
enables hardware handshaking on the serial port, it is off by default. Most KISS implementation do not support this, but some do.
enables logging of information to the syslog logfile.