AX25D.CONF(5)
β¨ NAME β¨
ax25d.conf β the config file for ax25d, bestie π
(this is the Linux Programmer's Manual btw, we're fancy here)
π DESCRIPTION π
Okay so ax25d.conf is literally the mastermind behind how ax25d behaves. Its whole job is to say: which ports do we listen on, which apps are available, and who's even allowed to use them π. And here's the cute part β the same config file serves all three of AX.25, NET/ROM and Rose, and the two halves of the file look super similar (iykyk).
The general layout for an entry for a given port goes like this:
interface control
callsign entry 1
.
.
callsign entry n
The interface control line decides which port and which callsigns apply to all the callsign entry lines after it, right up until the next interface control shows up. There are four variants of this line, and yes we're numbering them:
[AX.25 Port Name][Callsign VIA AX.25 Port Name]<NET/ROM Port Name>{Callsign VIA Rose Port Name}
Version 1 lets the following callsign entry lines listen on the AX.25 port named by AX.25 Port Name, using that AX.25 port's default callsign.
Version 2 lets the following callsign entry lines listen on the AX.25 port named by AX.25 Port Name, but using the specified callsign instead of the port's default one. If you throw a * in for the AX.25 Port Name, then those callsign entries become valid on all the operating AX.25 ports, using the callsign you specified π₯. Oh and VIA can be shortened to just V (slay, abbreviation). If the callsign has an asterisk appended to it, the system listens on the port with that callsign β but as a pseudo-digipeater instead of the normal destination callsign π.
Version 3 lets the following callsign entry lines listen on the NET/ROM port named by NET/ROM Port Name, using that NET/ROM port's default callsign.
Version 4 lets the following callsign entry lines listen on the Rose port using the specified Rose Port Name, using the specified callsign as the service access point (SAP). You can put a * as the callsign to match any incoming Call Requests with any SAP π«.
π¦ the callsign entry lines
These have a similar layout for AX.25, NET/ROM and Rose. Here's the vibe:
peer window t1 t2 t3 idle n2 mode uid exec args...
β οΈ Every value has to be filled in for every entry, even when it isn't used β like window for NET/ROM, where you just stick a * in. No blanks, no skipping, periodt.
The meanings of each field, coming right up. Heads up: all timings apart from the idle value are in seconds, and the idle value is in minutes β±οΈ.
peerβ specifies the callsign of the remote end of the connection that should get the following parameters and executable set up for them. (The syntax of the peer argument gets its own whole explanation below, don't worry π«Ά)windowβ sets the value of the window size. If you put*here, the default for the port comes from theparametersentry (see below), or if there's no such entry, the kernel default is used. This field is used by AX.25, but not by NET/ROM or Rose.t1β sets the value of the T1 timer. A*means: take the port default from theparametersentry (see below), or failing that, the kernel default. Used by both AX.25 and NET/ROM, but not by Rose.t2β sets the value of the T2 timer. Same*deal:parametersentry default (see below), else the kernel default. Used by both AX.25 and NET/ROM, but not by Rose.t3β sets the value of the T3 timer. Same*deal again:parametersentry (see below), else kernel default. Used by AX.25, but not by NET/ROM or Rose.idleβ sets the value of the idle timer. You already know the drill:*β port default from theparametersentry (see below), else the kernel default.n2β sets the value of the N2 counter.*βparametersentry default (see below), else kernel default. Used by both AX.25 and NET/ROM, but not by Rose.modeβ a set of flags controlling the various properties of the incoming connection. The flags are single letters, upper or lower case both fine, and there must be no spaces between them π. If you don't want any flags, you have to enter0,-or*instead. The valid mode flag letters are:Dβ do not allow connections that have passed via any digipeaters. AX.25 only.Lβ do not allow this station to connect, they are Locked out π.Nβ check that the NET/ROM neighbour is allowed, currently unused.Qβ do not make an entry into the log file for this connection.Vβ validate the callsign of the incoming connection, currently unused.
uidβ the userid that the following command should run under when it executes.execβ the executable that should be executed when an incoming connection matches the criteria of both the interface control and the callsign entry.args...β the optional arguments passed to the executable. All arguments are passed literally, apart from these special ones:%dβ the name of the port that the connection is on.%Uβ the username (callsign) of the remote station in upper case, without the SSID.%uβ the username (callsign) of the remote station in lower case, without the SSID.%Sβ the username (callsign) of the remote station in upper case, with the SSID.%sβ the username (callsign) of the remote station in lower case, with the SSID.%Pβ the nodename of the remote station in upper case, without the SSID. Only valid under NET/ROM and Rose; under AX.25 a%is substituted instead.%pβ the nodename of the remote station in lower case, without the SSID. Only valid under NET/ROM and Rose; under AX.25 a%is substituted instead.%Rβ the nodename of the remote station in upper case, with the SSID. Only valid under NET/ROM and Rose; under AX.25 a%is substituted instead.%rβ the nodename of the remote station in lower case, with the SSID. Only valid under NET/ROM and Rose; under AX.25 a%is substituted instead.%%β a%.
π§ the peer argument
This one depends on whether you're running AX.25, NET/ROM or Rose. There are five formats:
defaultparameterscallsigncallsign@node@node
- Format 1 (
default) β used by AX.25, NET/ROM and Rose to say that all callsigns on a given port should be matched. Thedefaultline is usually the last of the callsign entry lines, so that the more specific entries actually get a chance to match first β¨. - Format 2 (
parameters) β this one is not a callsign entry used by any incoming connections, bestie, it's a whole different creature. It's a way to specify default values for parameters like Window, T1, T2, T3, Idle and N2. Used by AX.25, NET/ROM and Rose. - Format 3 (
callsign) β used by AX.25, NET/ROM and Rose to specify the callsign of the remote station to match the callsign entry line. If no SSID is given, the callsign matches anything with the same callsign and any SSID. Give an SSID and the callsign has to match exactly. With NET/ROM and Rose, this entry does not say which node the originating callsign comes from. - Format 4 (
callsign@node) β used by NET/ROM and Rose to specify both the callsign of the remote station and the remote node to match the callsign entry line. No SSID in the callsign part? Then it matches the same callsign with any SSID. Give an SSID and it matches exactly π«. - Format 5 (
@node) β used by NET/ROM and Rose to specify only the address of the remote node to match the callsign entry line. Which means: all remote users at that node match this entry π«Ά.
π comments + the extAX25 era
Comments get embedded in the config file by putting a # in the first column.
Okay so here's a fun one: ax25d can now honour AX.25 TCP/IP mode-VC connections in a special way π₯. So there's a new port specific option, parameters_extAX25, with the following options, separated by spaces:
parameters_extAX25
VC-debug
VC-reject-login|VC-wait-login|VC-login-ok
VC-disc-on-linkfailure-msg, VC-send-failure-msg, VC-log-connections
Recommended settings in ax25d.conf β take your pick:
parameters_extAX25 VC-wait-login VC-disc-on-linkfailure-msg VC-log-connections
or
parameters_extAX25 VC-reject-login VC-send-failure-msg VC-log-connections
π FILES π
/etc/ax25/ax25d.conf
β SEE ALSO β
ax25(4), ax25wrapper(8), netrom(4), rose(4), axports(5), nrports(5), rsports(5), ax25d(8).
πΈ okay that's the whole page, you ate that π this cutie was brought to you by Linux, dated 25 May 2015 β go configure something iconic, mwah π
π¦ where this page comes from
- alpine 3.24: ax25-tools-doc 1.1.0-r0 Β· GPL-2.0-or-later
- debian bookworm: ax25-tools 0.0.10-rc5+git20190411+3595f87-6
- debian trixie: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3 Β· GPL-2.0-only
- ubuntu jammy: ax25-tools 0.0.10-rc5+git20190411+3595f87-5
- ubuntu noble: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-1build2 Β· GPL-2.0-only
- ubuntu questing: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3
- ubuntu resolute: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3build1 Β· GPL-2.0-only
- ubuntu stonking: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms