Repository navigation
Releases
AXLink v0.2.0-alpha.3
Prerelease, not yet on the air. The test plan: BENCH.md.
A security update since v0.2.0-alpha.2; how AXLink works does not change.
golang.org/x/net0.53.0 → 0.55.0: fixes a denial of service in its HTML parser.
golang.org/x/sys0.43.0 → 0.45.0 comes along.- Docs: serial port access is the group
dialouton Fedora, Debian, Ubuntu and Raspberry Pi OS,
uucpon Arch. Transmitting needs an amateur radio licence; AXLink comes as is, without warranty.
Packages as before: Linux (amd64, arm64, armv6), Windows (amd64, arm64, with wintun.dll),
macOS (arm64, amd64), SHA256SUMS. Start: QUICKSTART.md.
The programs are not signed. Use your own callsign; every operator is responsible for what is
allowed on their frequency.
AXLink v0.2.0-alpha.2
Prerelease for the first test with radios. Tested in the lab and in CI, not yet on the
air. The test plan: BENCH.md.
What is new since v0.2.0-alpha.1:
- Every station relays by default (settings "Relay",
-relay=falseturns it off). A relay
passes a beacon or CQ message on only while a station it hears directly may not have it yet,
after a random wait in which copies from other relays count too: no relay storm where everyone
hears everyone, no useless repeats at the end of a line. - Packet monitor ("Monitor" / "Mithören" in the web interface): every frame heard and sent,
those for other stations too, as with an open squelch, with a short description. -pcap FILEwrites every frame into a file that Wireshark opens (link type AX.25, decoded
down to the IP packets);-debugwrites every frame into the log.
Lab: two stations pass all checks; three stations in a line (B in the middle) found each other
over B in all eleven runs. Stations that do not hear each other still collide at the relay at
times (one HTTP download of eleven failed); see TODO.
Packages as in alpha.1: Linux (amd64, arm64, armv6), Windows (amd64, arm64, with wintun.dll),
macOS (arm64, amd64), SHA256SUMS. Start: QUICKSTART.md.
The programs are not signed. Use your own callsign; every operator is responsible for what is
allowed on their frequency.
AXLink v0.2.0-alpha.1
Prerelease. Tested in the lab (simulated radio channel, real kernel IP stacks) and in CI,
where the network adapter passes a ping test on Linux, Windows and macOS. Not yet on the air
with a real radio. Try it on the bench first.
AXLink turns a KISS radio into a network adapter: ordinary programs (ping, browsers, SSH, small
web servers) talk over AX.25 UI frames at 1200 baud. Tuned to the Quansheng UV-K1 / UV-K5 V3 with
the F4HWN firmware and its KISS TNC app, or our AXLink TNC
with ACKMODE; any KISS TNC works.
Start here: QUICKSTART.md
(Linux, Windows, macOS).
What is in it
- Network adapter on Linux, Windows (Wintun) and macOS (utun); IPv4 over AX.25 UI/PID 0xCC.
- Stations find each other by short beacons, no routes to configure.
- Web interface in English and German on
127.0.0.1:7373: live monitor, stations heard with
locator and distance, settings that are stored. - Chat as APRS messages straight over the radio, no IP: messages to a station (acknowledged,
repeated, kept in a mailbox until the station is heard again) and a CQ room. Radios with the
APRS messenger firmware speak the same format. - Mesh: a station switched to "Relay" repeats frames; beacons and CQ travel over up to two
relays, and stations learn the way to each other. - Internet gateway: a station shares its internet connection as an HTTP proxy (HTTPS through
CONNECT); clients choose it in the web interface. - Firewall on by default, refusals answered at once; port forwarding of a service of the
own network; a welcome page per station.
Lab numbers (model of the F4HWN KISS app, not a radio): ping about 2.1 s round trip, a small
HTTP file in 9 s, a chat message acknowledged in 3-5 s; over a relay ping about 5 s and HTTP
about a minute.
Packages
| File | For |
|---|---|
axlinkd-0.2.0-alpha.1-linux-amd64.tar.gz |
Linux PCs |
axlinkd-0.2.0-alpha.1-linux-arm64.tar.gz |
64-bit Raspberry Pi OS and other ARM64 Linux |
axlinkd-0.2.0-alpha.1-linux-armv6.tar.gz |
every Raspberry Pi, 32-bit (Pi Zero W too) |
axlinkd-0.2.0-alpha.1-windows-amd64.zip |
Windows 10/11 PCs; contains wintun.dll 0.14.1 and its licence |
axlinkd-0.2.0-alpha.1-windows-arm64.zip |
Windows on ARM; contains wintun.dll 0.14.1 and its licence |
axlinkd-0.2.0-alpha.1-macos-arm64.tar.gz |
Macs with Apple silicon |
axlinkd-0.2.0-alpha.1-macos-amd64.tar.gz |
Intel Macs |
SHA256SUMS |
checksums of all files |
The programs are not signed: Windows SmartScreen warns, macOS needs
xattr -d com.apple.quarantine axlinkd once.
Known limits
- No test with radios yet; the numbers above come from a model.
- Stations that do not hear each other collide at a relay (hidden stations); TCP and the chat
repeat what is lost, at the cost of time. - 1200 bit/s is shared by all stations on the frequency: a few kilobytes take tens of seconds,
an HTTPS set-up a minute or two. - Windows treats the adapter as a public network and blocks incoming connections in its own
firewall unless a rule allows them.
Use your own callsign; placeholders are refused. Every operator is responsible for what is
allowed on their frequency. Licence: GPL-3.0-or-later with an additional permission for Wintun;
protocol specifications CC BY 4.0. Changes: CHANGELOG.md.
AXLink v0.1.0-alpha.1 – simulator prerelease
The first experimental AXLink simulator state (Codex phase): ordinary UDP and HTTP applications
communicate over two separate Linux TUN/pdn-net/pdn stacks and an AFSK1200 audio simulator. The
IP packets appear as AX.25 UI/PID 0xCC on both sides. With the channel paused the requests time
out; after it resumes they work again with fresh test IDs.
- Pinned Packet.NET/pdn-net sources and SDK 10.0.107.
- 13,295 Packet.NET tests passed, 48 skipped; 40 pdn-net baseline tests passed.
- The receive destination filter defect reproduced; 49 tests pass with the local patch.
- Eleven Python tests for audit guardrails, UDP retries and negative controls of the traces.
- Raw frames, routes, counters and test reports in the evidence package.
Start: bash scripts/setup-host.sh, then python3 scripts/test-two-nodes.py.
A simulator prerelease without bundled upstream binaries or container images. Hardware, Windows,
discovery, chat and mesh are not covered. The documents of this tag are in German.
Note (2026-11-02): this tag is the Codex-phase state with pdn/pdn-net as a runtime chain.
Afterwards the core was rebuilt in Go; see
HISTORY,
REVIEW and
DECISIONS.