12 Experimental and Developmental modules.

Contents of this section

There are a number of people developing new features and modules for the Linux networking code. Some of these are in quite an advanced state (read working), and it is these that I intend to include in this section until they are standard release code, when they will be moved forward.

12.1 AX.25 - A protocol used by Amateur Radio Operators.

The AX.25 protocol is used by Amateur Radio Operators worldwide. It 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.

Alan Cox has developed some kernel based AX.25 software support for Linux and these are available in ALPHA form for you to try. Alan's code supports both KISS based TNC's (Terminal Node Controllers), and the Z8530 SCC driver.

The User programs contain a P.M.S. (Personal Message System), a beacon facility, a line mode connect program, and `listen' an example of how to capture all AX.25 frames at RAW interface level.

Be sure to read /usr/local/ax25/README as it contains more complete information regarding this software.

Where to obtain the AX.25 software.

The AX.25 software is available from:

sunacm.swan.ac.uk

/pub/misc/Linux/Radio/*

You will find a number of directories, each containing different versions of the code. Since it is closely linked with the kernel code, you will need to ensure that you choose the version appropriate for the kernel version you are running. The following table shows the mapping between the two:

AX25007                 Prehistoric
AX25010                 Obsolete
AX25012                 for release 1.0.* kernels and higher
AX25016                 for release 1.1.5 kernels
AX25017                 for release 1.1.6 kernels
AX25018
AX25021
AX25022                 for release 1.1.28 kernels

In each directory you will find at least two files, one called something like krnl022.tgz, and the other called something like user022.tgz. These are the kernel software, and the user programs respectively.

Installing the AX.25 software.

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

The kernel drivers.

To install the kernel drivers, do the following:

# cd /usr/src
# gzip -dc krnl022.tgz | tar xvf -

you will need to uncomment the CONFIG_AX25 define in the /usr/src/linux/config.in file.

You should then:

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

Be sure to answer `yes' when you are asked if you should include the AX.25 support in the make config step. You will also need to answer `yes' to inluding SLIP if you want the AX.25 code to support a KISS TNC.

The user programs.

To install the user programs you should try:

# cd /
# gzip -dc user022.tgz | tar xvvof -

You should then:

# cd /usr/local/ax25/src
# make install

Configuring and using the AX.25 software.

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. You will need to have the TNC preconfigured and connected.

You use the axattach program in much the same way as you would use the slattach program. For example:

# /usr/local/ax25/bin/axattach -s 4800 /dev/cua1 VK2KTJ &

would configure your /dev/cua1 serial device to be a kiss interface at 4800 bps, with the hardware address VK2KTJ.

You would then use the ifconfig program to configure the ip address and netmask as for an ethernet device:

# /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 257 up

To test it out, try the following:

/usr/local/ax25/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.

You also need to configure some items such as the window to use. This necessitates editing only one file. Edit the /usr/local/ax25/etc/ports file. This is an ascii file containing one line for each AX.25 port. You must have the entries in this file in the same order as you configure your AX.25 interfaces.

The format is as follows:

callsign baudrate window frequency

At this stage not much of this information is used, it will be picked up and used in later developments.

I haven't had a chance to try this code out yet. Please refer to the man pages in /usr/local/ax25/man and the README file in /usr/local/ax25 for more information.

12.2 Z8530 SCC driver.

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. A driver has been written by Joerg Reuter, <dl1bke@melaten.ihf.rwth-aachen.de>, and is available on:

ftp.ucsd.edu

/hamradio/packet/tcpip/incoming/sccdrv-1.4a.dl1bke.tar.gz

Please read the README file that accompanies the driver for more details.

12.3 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 (<19.2kbps interrupt driven) full 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:

hydra.carleton.ca

/pub/hamradio/packet/tcpip/linux/pi2-0.5ALPHA.tgz

Please read the README file that accompanes the driver for more details.

12.4 NIS - Sun Network Information System.

There are in fact two NIS implementations being distributed. Firstly there is a rudimentary implementation in the standard libc ditribution which however requires binding to servers via ypbind before use. A more clean implementation tending towards the NIS+ implementation is called NYS, is written by Peter Eriksson, <pen@lysator.liu.se> and is available from:

ftp.funet.fi

/pub/OS/Linux/BETA/NYS/nys-0.26.tar.gz

An NIS style server can be retrieved from:

ftp.funet.fi

/pub/OS/Linux/BETA/NYS/ypserv-0.5.tar.gz

Check there are no newer versions, as this information might now be slightly dated.

Both of these are fully functional and they have been used extensively with no troubles to query Sun servers for NIS information like passwd/hosts/group etc. and don't require binding to arbitrary servers. In fact they allow you to specify servers for services and have the ability to select a yp/dns/file option for name/passwd/etc. resolution of specific services. They are extremely easy to set up, and recommended for client machines integrating into larger networks.

Clearly your network daemons and clients need to be recompiled to link with the shared library libnsl.so to make use of the YP facilities. This is fairly trivial and an NYS package of all network clients and daemons is currently being compiled.

If you have more detailed information on NIS, please email me.

12.5 snmp agent.

There is an experimental snmp agent for linux, ported by Erik Schoenfelder, <schoenfr@ibr.cs.tu-bs.de>.

It is available from:

ftp.ibr.cs.tu-bs.de

/pub/local/cmu-snmp2.1.2l2.tar.gz

Please read the file called cmu-snmp2.1.2l2.README, as it contains information that you will need to know about the package.

This package provides a nearly complete MIB-II variable set. At this stage though, you can only read variables, not set them.

nstat.tar.gz contains a formatter of the output from /proc/net/snmp called nstat.

You will need to be running either a new version kernel, or apply patches to your kernel source. Details are in the README file.

12.6 Experimental ARCNet driver

There has been a number of people looking for a driver for ARCNet cards. There is not yet a driver available. There are number of people working on it. ARCNet cards provide only rates of about 2Mbps, but are capable of being supported via longer length cables than for 10base2 (thinnet) type lans. ARCNet cards are also likely to be fairly cheap, as many businesses are gradually replacing their ARCNet networks with other lan types.

Donald Becker started writing a driver some time ago, and you can obtain a copy of the code he has written at:

ftp.funet.fi

/pub/OS/Linux/BETA/8390/pre-alpha/arcnet.c

Please note that this code was last modified in December 1993, so it may need some modification to bring it inline with the newer kernel releases.

I would appreciate anyone with any more recent information advising me so that I an update this reference.

12.7 Experimental Token Ring driver

An experimental Token Ring driver is being developed by Peter De Schrijver <stud11@cc4.kuleuven.ac.be>. His latest version, at the time of writing was available at:

sunsite.unc.edu

/pub/Linux/Incoming/linux-1.1.44-TR.tar.gz

12.8 V.35 interface board

V.35 is a C.C.I.T.T. standard interface that provides a high speed balanced serial interface suitable for speeds up to about 2 Mbps. The use of differential pair balanced transmission allows the V.35 interface to support longer cables than can the more familiar V.24/RS232C type interface and higher data rates.

Pete Kruckenberg <kruckenb@sal.cs.utah.edu> located a company that supplies V.35 interface hardware for ISA bus machines. The company is also developing a Linux driver for this card that is nearing Beta testing stage. This would allow you to directly connect your Linux machine to a 48/56kbps synchronous leased line. The card supports multiple protocols and allows for interface speeds of up to 12 Mbps.

More information is available from:

ftp.std.com

pub/sdl/n2

or you can email Dale Dhillon <sdl@world.std.com>

12.9 Slip Management Suite

Matthew Dillon, dillon@apollo.west.oic.com has assembled a suite of programs for managing slip connections, both incoming and outgoing. Some of the software's features are automatic dialling out, automatic redial on failure, and shifting between slip connections on a single serial port.

Matt has tested the code with version 1.1.x kernels, but says it should also compile and run ok with version 1.0.x kernels.

You can obtain the software from: sunsite.unc.edu

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter