Use AGW for packet radio applications
When creating packet radio applications, there are several options on how to get the packets “out there”, and get them back. That is, how to interface with the modem.
Sure, you can write your own modem, and have the interface to the outside world be plain audio and PTT (push to talk, i.e. trigger transmit). But now you’re writing a modem, not an application. You should probably split the two, and have an interface between them.
KISS
You can use KISS, but it’s very limited. You can only send individual packets, so it’s only really good for sending unconnected (think UDP) packets like APRS. It’s not good for querying metadata, such as port information and outstanding transmit queue.
Think of KISS like a lower layer that applications shouldn’t think about. Like ethernet. Sure, as a good engineer you should know about KISS, but it’s not what your application should be interfacing with.
Linux kernel implementation
On Linux you can use AF_AX25 sockets, and program exactly like you
do for regular internet/IP programs. SOCK_DGRAM for UI frames
(UDP-like), and SOCK_STREAM for connected mode (TCP-like).
But the Linux kernel implementation is way too buggy. SOCK_STREAM
works kinda OK, but does Continue reading







