This document describes the TARPN packet radio network design as of October 24, 2017.
This design is subject to change because the contributor base is growing and we're all learning.
TARPN is a description of nodes, of a network, and of a design philosophy.
TARPN is not a club.
There are no dues.
We wanted to build the largest Amateur Radio packet network we could. To do that we tried to come up with an optimum of several factors:
I would not have gotten involved with the project until the system looked like it could be done with a modicum of all of these factors.
- minimum cost
- minimum complexity
- maximum involvement, knowledge-transfer, participation, and growth per member
- maximum operator freedom and transparency
- support-ability -- needs to be something any ham can get started in.
- The TARPN is based on G8BPQ nodes running on a Raspberry PI computer with outboard TNCs or TNC emulators.
All participating stations are a part of the network.
There are no transient users.
Each and every radio used for packet to access the network is a full-time-up radio dedicated to talking to a single particular neighbor node.
All links between node sites are point to point, from one node to one other node.
Because there are no competing stations on the frequency of the point to point link, the timers controlling the TNC's access to the frequency are set for maximum performance.
At a single node, all transmitters are asynchronously transmitting, sometimes at the same time, multiplying the bandwidth in and out of each node.
See this Youtube video showing three demonstration nodes, each with two links.
The network can be considered to be a daisy chain of nodes where each node to node connection approximates a wire between the node sites.
A TARPN node can be simultaneously operating on all of its links at the same time.
Messages could be inbound on 3 links, for instance, at once, and the node can asynchronously switch from receive to transmit or transmit to receive on each link independently.
Ideally, and by design, all messages transmitted by a node are received by the neighbor.
There is no expectation, by design, that any messages are lost at all.
The system makes very good use of the limited data capacity available in our low technology radios and modems.
A TARPN network is completely decentralized.
The individual nodes have complete control over their transmit and receive timing, with cooperation from each link neighbor.
A fragment of the network is fully operational within the confines of that fragment.
The G8BPQ node software takes care of monitoring the links to the neighbors, and of keeping a list of nearby neighbors.
Users connect to a command-line prompt at a node, and then tell the node to connect to one of the known neighbors.
Once the user's connection has reached the desired node, they can connect to the owner of the node, or to a resources or application that is part of that node.
The user can also inspect the network connections and network link performance, uptime, counters and statistics.
There is no automated end-to-end routing capability enabling web-browser-like access to resources.
This has advantages in that participants learn the network and have intimate knowledge of the working and non-working equipment along a route.
TARPN node features
The packet station consists of a Raspberry PI running Debian Linux and with one or more TNCs.
The Raspberry PI boots from a slow solid state SD card.
It is totally silent and runs very cool.
The PI supports Ethernet, HDMI output, and has a built in hub providing two or four external USB sockets.
A keyboard and mouse could be attached.
A USB hub could be attached.
WiFi is included if the Raspberry PI 3 is used, else there are many WiFi adapters supported for the older Raspberry PIs.
The software load provided by the TARPN install scripts (see Builders section on this web site) include these features:
- A TARPN node can be operated via SSH links from a PC workstation on the local LAN. This can be via WiFi or Ethernet.
- VNC from any workstation.
- TARPN-HOME provides GUI access to the chat network, BBS mail send and receive, and diagnostic pages.
The web application enables connection from any LAN connected browser for in-home access to the network.
Laptop, cellphone, tablet, or locally on the Raspberry PI can share the connection and all will be updated with the same information.
TARPN-HOME permits moving from device to device with continuous conversation.
- Minicom terminal emulator for taking incoming calls -- with Ring sound effect
- Audio support via the Raspberry PI sound output including a ring sound when Minicom takes a connect, ring when BBS mail arrives, and an optional periodic sound if any link is off-line
- G8BPQ node software called piLinBpq.
The node software permits a network operator to analyze their own station to identify configured links and to test the performance of the links.
In addition, a list of all other participant stations within four hops and the best-route from this node to the distant node are available.
The operator can step to neighbor nodes and do the same analysis at each other location.
- Local applications can connect to the G8BPQ node and then out into the network or to other local applications.
- Supplied scripting and utilities provides a shell terminal for connecting out from local PCs or the Raspberry PI to the network with up to 14 separate outbound sessions and 1 inbound session.
- G8BPQ BBS service permits directly entering and reading messages which may be delivered to or from other network BBS stations.
Messages can be 10s of Kilobytes in length and can include UUencoded attachments.
- Tools for scanning I2C bus and configuring the I2C based TNC-PI TNCs
- piTermBpq, a Raspberry PI specific varient of the BPQtermTCP program -- runs in the Raspberry PI GUI -- can also accept connections from the Linux or MSWindows versions
of the BPQtermTCP program.
Up to 14 connections can be made by the operator using separate instances of the terminal program.
- Support for serial port TNCs in KISS mode using USB to serial adapters
- Support for TNC-PI daughter card (shield card) TNC
- Up to 6 TNC-PI, and a combination of USB-serial or other USB TNCs for a total of 12.
This is expandable up to 31 total ports with some script changes
TNCs and Radios -- Making Links
After installing the OS, utilities, applications and the TARPN scripts on the Raspberry PI, you are ready to start hooking up radios.
Each TNC-PI may be wired to a single radio which can establish a link to some other TARPN node.
When establishing frequencies and bands you must make sure that one of your radios in transmit will not block the reception of a packet by another of your radios.
A suggested TARPN node site would have 3 radios, one each on 51, 145, and 440Mhz.
You can acquire an antenna like the Comet GP-15, and three commercial radios, like the Vertex FTL-1011, Kenwood TK760H, and Kenwood TK805D, three TNC-PI daughter cards, and a Diamond MX-2000 Triplexer.
With 100' of LMR400 coax cable and several connectors you can build an entire three port node for about $700, not including cabinetry, antenna mounts, lightning protection, power supplies and batteries.
Using the 3 port TARPN node described above you can now make links to neighbor nodes and begin building a network.
Your 51Mhz Vertex can talk 20 miles through forest to another same kind of radio.
440Mhz radios have much shorter range.
If you are lucky enough to have a tall structure or view-home to work from, you can get much longer range out of 440Mhz.