extmodem, an AX25 Open Source Soundcard Modem

Help us sharing this project:

About

This is a modem for AFSK AX25 packet (1200 bps APRS compatible). It is under development and is currently capable to both send and receive packets. The main feature of this program is that it is currently running three different demodulators in parallel, increasing the quality of reception. The first modem is Thomas Sailer's multimon, the other two are described by Sivan Toledo in this QEX article.

Demodulator Quality

Since the core of the extmodem runs the same algorithm as javAX25, the number of demodulated packets should be better than soundmodem. However, since I'm lacking a propper performance test, this is just an opinion. You can read the javAX25 QEX article here.

AGWPE emulation

This program supports a preliminary version of the AGWPE protocol, effectively emulating its behaviour. It opens a TCP socket on port 8000, the AGWPE default.

KISS over TCP (aprx support)

extmodem opens by default a TCP socket on port 6666, enabling the use of aprx. To configure you should use the kiss-over-tcp feature of aprx:

<interface> tcp-device 127.0.0.1 6666 KISS callsign LU0EXT-1 tx-ok true </interface>

Virtual COMx port Emulation on Windows

VERY UNTESTED FEATURE, comments are most welcome

As shown above, extmodem opens by default a TCP socket on port 6666 that understand KISS protocol. If your packet program does not support AGWPE interface nor a TCP KISS interface you may use the com0com serial port COM emulator in conjunction with extmodem to enable the use of extmodem from a virtual serial COMx port.

Usage

You need to download com0com driver from here. This is an unsigned driver. If you are using Windows 7 you may need a signed driver, available here.

com2tcp is available here.

Once com0com and com2tcp installed, you need to run com2tcp.exe:

com2tcp \\.\CNCB0 127.0.0.1 6666

Help/Support

You can contact the project author at the extradio Google Group (English or Spanish is OK).

Using the software

Windows

I'm providing Windows binaries here: http://sourceforge.net/projects/extradio/files/extmodem/. Windows XP and Vista users may need the VC++2010 runtime, available here.

Linux

For Linux users, you can follow the instructions on the README file included in the source code distribution, available in the Git repository.

Downloads

Runtimes, drivers, etc

Source Code

The source code is available in a Github repository: extmodem

Alternatives

UZ7HO modem, not open source.

multimon, multimode (lots of!), rx only, just displays the packets on the screen.

soundmodem, multimode multiplatform (Windows, Linux) rx and tx AX25 packet radio.

javAX25, Java implementation described in this QEX article.

AGWPE, Windows only, may not work correctly on Vista+.

Licensing

The license is: GNU GPL v2+:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

You can read the full license here.

APRS is a registered trademark of APRS Software and Bob Bruninga, WB4APR.

Author

Alejandro Santos (LU4EXT) is the author of extmodem, borrowing code from Thomas Sailer's multimon and Sivan Toledo's javAX25.