User Tools

Site Tools


packet:ip

This is an old revision of the document!


IP and Packet Radio

It has been possible for a long time to run IP over packet radio.

There are some limitations:

  • At anything but high speeds (e.g. 4800bps and up), modern TCP/IP implementations perform poorly since the higher layers in modern operating systems have now typically been tuned for high bandwidth, low latency, low loss network devices. This results in a poor user experience.
  • In many countries, including the UK, encryption is not permitted on the amateur service, so no SSH (unless running with null ciphers), no HTTPS, and so on

But it does fundamentally work, and might have niche applications, and it's also a bit of fun to be had.

There are at least two different ways to do IP over packet radio:

  1. Linux kernel AX.25 support + kissattach
  2. tncattach

Linux kernel AX.25 support + kissattach

Note that over time, this has become a bit broken, but the good news is there are recent fixes still making their way into distributed Linux kernels.

That said, on a modern Debian-ish Linux:

sudo apt install ax25-tools

Define /etc/ax25/axports like so:

# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#

myport  M0LTE-1         57600   255     7       NinoTNC

In that second column, set a unique callsign-ssid at each end, e.g. M0LTE-1 and M0LTE-2. 57600 is the correct serial port baud rate for the NinoTNC, adjust as required. (Any KISS modem can be used.)

Then, on each system:

sudo kissattach /dev/ttyACM0 myport 10.0.0.1

Specify a unique IP in the same subnet at each end, e.g. 10.0.0.1 and 10.0.0.2. You can use private (RFC1918) addresses, or any others you have allocated, eg from 44net.

/dev/ttyACM0 is the device path for a single NinoTNC, adjust as required.

After that, the interface ax0 should exist:

tf@testnode1:~ $ ifconfig ax0
ax0: flags=67<UP,BROADCAST,RUNNING>  mtu 255
        inet 10.0.0.1  netmask 255.0.0.0  broadcast 10.255.255.255
        ax25 M0LTE-1  txqueuelen 10  (AMPR AX.25)
        RX packets 102  bytes 10782 (10.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 153  bytes 30136 (29.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
packet/ip.1724497025.txt.gz · Last modified: 2024/08/24 10:57 by m0lte