From APRSWiki
Jump to: navigation, search

AX.25 networking on Linux[edit]

For quite a while now regular distributions of the open source Linux operating system have included AX.25 networking support in the kernel.

Availability of AX.25 support[edit]

Some distributions of Linux make AX.25 available in source form but require a recompile of the kernel to activate it. Kernel Recompile for AX.25 External Link to one of many sites describing one way to recompile a Linux Kernel for AX.25 use.

Distro Version Recompile Required Other Comments
Fedora Core 4 ### ###
Debian XXX ### ###

Setting it up[edit]

After you have the AX.25 kernel support ready you need to define specific AX.25 interfaces. The website covers this very well. The Xastir wiki also has a How To page on AX.25 that can help you get going quickly.

You should note that AX.25 network interfaces are based on the TCP/IP networking that is built into the system. AX.25 interfaces have IP addresses along with their interface name and their AX.25 address. Adding an AX.25 network interface to a computer that already has one or more TCP/IP network interfaces (DSL, ethernet, dial-up internet/PPP) turns your computer into a multi-homed host. You most likely will want the IP addresses on your AX.25 interfaces to be from a different subnet than the addresses used by other network interfaces on that same computer. And you definitely don't want to use a "real" IP address. Use something from one of the [ private network] non-routed IP subnets, and a subnet not already known to that computer.


Linux AX.25 kernel support creates network interfaces. Software on your Linux system will use those interfaces in ways you might not expect. The common flub concerns the MS-Windows network compatibility package Samba. Samba normally helps itself to every network interface defined on your system. It sends out SMB network discovery packets and merrily carries on. But you probably don't want to be sending out SMB packets on the packet radio or APRS network. So investigate that a little bit. If you don't need Samba then you can turn it off from the services control panel (whatever your distribution uses). Or, in the Samba configuration you can tell it what network interfaces to use (and not use).

Disabling samba on an ax.25 port[edit]

The trick to assuring that samba does not attempt to send network discovery packets over your ax.25 interface is to use the "bind interfaces only = Yes" option in your samba configuration file, and to list the specific interfaces you do want used in the "interfaces" parameter. For example, you might use:

 interfaces = vr0,
 bind interfaces only = Yes

to tell samba only to use the ethernet interface "vr0" and the loopback address. This will keep your samba packets off of APRS where they are useless.

Disabling cups packets on ax.25[edit]

The cups package has an administration option "advertise web interface" that causes the cups daemon to send packets out to all interfaces on the system. Do not enable this option, as it will send packets out your ax.25 interface, and there is no sub-option to select or deselect individual interfaces to use. Just leave it unchecked.

Monitoring your ax.25 port[edit]

After you set up your ax.25 port, it is a good idea to monitor traffic on that port for a while to make sure no non-APRS data is being sent through it. Use the command

  axlisten -a -c

to display all ax.25 traffic coming through your system. On some older systems the "axlisten" program is just called "listen."