Direwolf includes a complete AX.25 implementation, which it uses internally for various sorts of beaconing, etc. Is it possible to use the Direwolf ax.25 stack to connect to another node without using the Linux kernel ax.25 support?

I've found the kernel ax.25 stack to be a bit flaky. Being able to establish connections through a userspace application would be great.


1 Answer 1


Sort of, yes, if you have userspace programs that speak AGWPE or KISS rather than trying to create their own kernel ax25 sockets.

KISS is basically just an encapsulation for raw AX.25 packets, so a KISS client isn't using any of direwolf's own protocol support, it's just using it as a modem. But, an app that speaks KISS presumably has its own protocol support good enough to do whatever it does.

AGWPE is a higher-level protocol that's connection-oriented (although there's a K frame that supports raw packets in a similar way to KISS). Clients can establish connections to other callsigns (either direct or via digis), send and receive data on those connections, accept incoming connections, and the other stuff you would expect from a sockets layer.

Direwolf since version 1.4 has a reasonably complete AGWPE server implementation that runs on top of its own AX.25 protocol support.

  • $\begingroup$ PAT (Winlink for Linux, sort of), required the kernel AX.25 support but I'm not sure it still does. Direwolf runs fine without it. I've used it for APRS, but also from applications on Windows to Direwolf on Linux over a TCP/IP connection. $\endgroup$
    – Deepstop
    Commented Jan 21 at 3:57
  • 1
    $\begingroup$ @Deepstop pat got an AGWPE driver about a year ago, so it doesn't need the kernel stack (which also enables it to do ax25 on non-Linux systems). $\endgroup$ Commented Jan 21 at 4:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .