Linux AX.25 Kernel
The Story
Right from the beginning of the Linux project radio amateurs developed a
network protocol implementation for AX.25. However, all of these aproaches,
their concepts in particular were not created very thoughtfully and thus did
not meet the user's requirements very well. Most were also very dirty. If you
don't understand what this is about, take a look at
this.
Matthias, DG2FEF designed a new, clean concept some semesters ago and
re-implemented most of the AX.25 protocol stack and the driver interface.
However, this implementation did not spread much wider than our local region
Rhein/Main, Germany. Meanwhile he is pretty busy and - as it seems - has not
much time to maintain this stuff. Because I thought it's a pity to see all
this and the work involved getting lost, I have set up this page to
(unofficially) maintain his patch and distribute current versions.
Sorry for the fact that there is not much documentation. If you have
trouble setting AX.25 devices or TCP/IP up, please take a look at the
setpciscc(8) manual page. Although you may have never seen such a card
it may answer some of your general questions on how to use things as
the TCP/IP coupler ipax0 and stuff.
Effective immediately (11/04/01) I am giving up maintainership of
Linux-AX25. If you are interested in the reasoning behind it and in a
list about what still needs to be done, take a look at
this mail I sent to linux-hams to
announce my retirement.
Note that I still feel responsible for providing a PCISCC-4 driver, and
if only as a reference driver for future Linux AX.25 efforts or porting.
You can download updated driver source code on the
PCISCC-4 page.
Current - 2.2.20pre11-10
- The Kernel Patch
- Patch agains Alan's 2.2.20pre11 release of the
Linux source tree.
Maintainance and finalizing release.
Fixes severe bug in LAPB state 3 state machine. Contains
current release of PCISCC-4 driver. No lib/tools update
necessary but in case you need them you can download
them below.
Here is a patch that reportedly fixes a timer race
condition. It should be applied immediately since the problem can
jeopardize system stability and integrity. The patch was contributed
by Tom Mazouch but unfortunately I do not have enough time to
integrate it and release a new patchset.
Here is a patch that fixes an OOPS
that occurs in the autobind routine under certain circumstances, especially
with the 1001st convers daemon variant now coming to a theatre near you.
Contributed by DL8AAU and DG2FEF.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
Old - 2.2.19-9 plus PCISCC-4 update
- The Kernel Patch
- Patch agains official 2.2.19 release of the
Linux source tree.
Some fixes in AX.25/IP coupler and VJ compression module. Should
also fix problem where system crashes right after setting up interfaces.
Moreover EPP-Flex driver was updated (interface name now eppfX). Some
more minor fixes and Documentation update. A 6pack driver update was
provided by its Author, Andreas and Rob DL1NC took care of updating the
subsystem to 2.2.19 .
Here is already an
additional patch that modifies the behaviour of the TX-Delay/TX-Tail
timers in full duplex mode with the PCISCC-4 driver. You can now
have TX-Delay and TX-Tail in full duplex mode as well. Moreover the
documentation was improved and the transmitter code was optimized. The
patch contains changes for the kernel tree as well as for the
setpciscc utility in the ax25-tools package.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
The utils were fixed to also compile against new GLIBC-2.2 .
Old - 2.2.18-8
- The Kernel Patch
- This is the kernel patch agains the official 2.2.18 release of the
Linux source tree. The changes comprise
an updated PCISCC-4 driver (cosmetic fixes), an ARP fix, UDP frames will
no longer be forced to use datagram encapsulatiuon mode, the call program
will no longer complain about in about a missing route and other things.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
Please use the current tools otherwise the PCISCC-4 configuration tool will
not work, probably not even compile.
Old - 2.2.17-7
- The Kernel Patch
- This is the kernel patch agains the official 2.2.17 release of the
Linux source tree. There were not
many changes to the protocol stack, except for the fact that Modulo-128
should be operational now, even with the frame resequencing code
(Framesammler). The PCISCC-4 driver was subject of major modification.
It should also work with the old DSCC-4 Rev. 2.0 now.
Please download the old lib/tools/apps below. If you have them, you need
not recompile them.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
Please use the current tools otherwise the PCISCC-4 configuration tool will
not work, probably not even compile.
Old - 2.2.16-6
- The Kernel Patch
- This is the kernel patch agains the official 2.2.16 release of the
Linux source tree. This patch is
just a port to 2.2.16. Not many changes except some contributed ROSE/NETROM
fixes and a little optimization on "delayed acks". Use the old lib/tools/apps.
Old - 2.2.14-5
- The Kernel Patch
- This is the kernel patch agains the official 2.2.14 release of the
Linux source tree. This patch includes
Everthing from the 2.2.14-4-release below, another DAMA bugfix and
some optimizations. In addition to that I fixed a race condition which
made the first IP packet send cause an endless oops loop with certain
drivers. There were also some fixes in the utility packages. The ax25rtd is
back working now, but not yet rewritten. The new ax25-tools package now
contains the smdiag utility again.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
These are patched versions of Craig Small's neat packages. They are drop-in
replacement for the old ax25-utils.
Old - 2.2.14-4
- The Kernel Patch
- This is the kernel patch agains the official 2.2.14 release of the
Linux source tree. This patch includes
Everthing from the 2.2.14-3-release below, DAMA bugfixes and -optimizations,
high speed optimizations. I did some benchmarks on FTP via AX.25 links (over
BPQ-Ethernet) in VC and VJ encap modes and reached about 240 KB/sec between my
old PPro200 and my 486DX4-133. Note that AX.25 LAPB performance is not the
limiting factor here since plain IP-via-ethernet FTP transfers give me about
280 KB/sec on this configuration.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
These are patched versions of Craig Small's neat packages. They are drop-in
replacement for the old ax25-utils.
Old - 2.2.14-3
- The Kernel Patch
- This is the kernel patch agains the official 2.2.14 release of the
Linux source tree. This patch includes
Everthing from the 2.2.14-2-release below and major bug fixes. This is the
Darmstadt-release.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
These are patched versions of Craig Small's neat packages. They are drop-in
replacement for the old ax25-utils.
Old - 2.2.14-2
- The Kernel Patch
- This is the kernel patch agains the official 2.2.14 release of the
Linux source tree. This patch includes:
- Everthing from the 2.2.14-1-release below.
- DAMA slave code
- New /proc/sys/media_* interface
- All available drivers should work now
- Media access cleanups in hdlcdrv et al
- Framesammler should work now
- State machine tweaks
- Driver interface cleanups - AX.25 module can now be removed and
re-inserted while interfaces are up.
- Utilities
AX25-Tools
AX25-Library
AX25-Applications
-
These are patched versions of Craig Small's neat packages. They are drop-in
replacement for the old ax25-utils. Only the ax25-tools package
changed from the 2.2.14-1 release.
Old Stuff - 2.2.14-1
- The Kernel Patch
- This is the kernel patch agains the official 2.2.14 release of the
Linux source tree. This patch includes:
- Everthing from the 2.2.13-release below.
- Some fixes and improvements, take a look at the release notes.
- Release notes
- These are some (non-sorted, incomplete) notes on the above patch.
- Converted
AX25-Library
AX25-Tools
AX25-Applikations
-
These are patched versions of Craig Small's neat packages. They are drop-in
replacement for the old ax25-utils. You need all three of them. These
can be used with the old and the new protocol stack. However, they
need to be reconfigured and recompiled. The binaries work only with the
kernel-AX.25 stack they were compiled for. I submitted the changes to Craig
so maybe they will be merged into the official packages in future. As far as
installation is concerned it is pretty much plug and play: First get the
kernel stuff running, then the library, tools, applications in that order.
See the release notes for additional information.
The setpciscc and the smfilter utility are part of the AX25
tools package now.
Old Stuff - 2.2.13
- The Kernel Patch
- This is the kernel patch agains the official 2.2.13 release of the
Linux source tree. This patch includes:
- Mat's latest AX.25 kernel patch (against 2.2.10, ported)
- Some bugfixes for the above
- Soundmodem fixes and new FSK implementation as introduced during the
15th Packet Radio Symposium (see
this).
- PCISCC-4 driver V1.57
- AX.25-utils
- The ax25-utils neccessary to use the kernel patch. It includes a new
utility to get/set the modulator/demodulator filters on the soundmodem
driver. The old utils or Craig's tools won't work with this patch
release. You might have some problems getting this to compile, however. I
really need somebody to clean this mess up or - even better - include the
changes into Craig's tools and sumit it to him.
- Release notes
- These are some (non-sorted, incomplete) notes on the above patch.
- PCISCC-4 setup utility and man page
- This is the setup utility for the pciscc4-driver. It is not distributed
as part of ax25utils. This archive includes a manual page describing how to
use it and how to set up such a beast.
by Jens David, DG1KJD last update 2002-07-26