Releases: wb2osz/direwolf
Version 1.8.1 - November 2025
Version 1.8 - October 2025
New Documentation:
- All APRS users should read Understanding APRS Packets. Be sure to read the section on common mistakes or you might be used as an example of what not to do.
New Features:
-
Added support for libgpiod version 2. This is needed for GPIO PTT on Raspberry Pi OS 13 trixie. You will need to install libgpiod-dev before building.
-
Support for CM108 PTT on Mac.
-
New NCHANNEL feature to map a channel number to an external network TCP KISS TNC. See APRS-LoRa-VHF-APRS-Bridge.pdf for explanation and example.
-
http://www.aprs.org/aprs11/tocalls.txt has been abandoned since the end of 2021. https://github.com/aprsorg/aprs-deviceid is now the authoritative source of truth for the vendor/model encoding.
-
New direwolf icon.
-
New direwolf icon is now embedded in the Windows executable. Note: When building from source, environment variable RC must point to windres location.
-
Enhanced IGate functionality to allow downloading from all CWOP servers concurrently.
Notes:
The Windows binary distribution is in the direwolf-1.8.0- *.zip file below. It was built with the MinGW 12.4.0 compiler.
Version 1.8 -- Beta Test 1 -- October 2025
See discussion here: https://groups.io/g/direwolf/message/11001
Version 1.7 - October 2023
New Documentation:
Additional documentation location to slow down growth of main repository. https://github.com/wb2osz/dire
wolf-doc . These are more oriented toward achieving a goal and
understanding, as opposed to the User Guide which describes the functionality.
-
APRS Digipeaters
-
Internal Packet Routing
-
Radio Interface Guide
-
Successful IGate Operation
-
Understanding APRS Packets
New Features:
-
New ICHANNEL configuration option to map a KISS client application channel to APRS-IS. Packets from APRS
-IS will be presented to client applications as the specified channel. Packets sent, by client application
s, to that channel will go to APRS-IS rather than a radio channel. Details in Internal-Packet-Routing.
pdf. -
New variable speed option for gen_packets. For example, "-v 5,0.1" would generate packets from 5% too s
low to 5% too fast with increments of 0.1. Some implementations might have imprecise timing. Use this to
test how well TNCs tolerate sloppy timing. -
Improved Layer 2 Protocol (IL2P). Com
patible with Nino TNC for 1200 and 9600 bps. Use "-I 1" on command line to enable transmit for first chan
nel. For more general case, add to config file (simplified version, see User Guide for more details):After: "CHANNEL 1" (or other channel)
Add: "IL2PTX 1"
-
Limited support for CM108/CM119 GPIO PTT on Windows.
-
Dire Wolf now advertises itself using DNS Service Discovery. This allows suitable APRS / Packet Radio a
pplications to find a network KISS TNC without knowing the IP address or TCP port. Thanks to Hessu for
providing this. Currently available only for Linux and Mac OSX. [Read all about it here.](https://github
.com/hessu/aprs-specs/blob/master/TCP-KISS-DNS-SD.md) -
The transmit calibration tone (-x) command line option now accepts a radio channel number and/or a singl
e letter mode: a = alternate tones, m = mark tone, s = space tone, p = PTT only no sound. -
The BEACON configuration now recognizes the SOURCE= option. This replaces the AX.25 source address rath
er than using the MYCALL value for the channel. This is useful for sending more than 5 analog telemetry c
hannels. Use two, or more, source addresses with up to 5 analog channels each. -
For more flexibility, the FX.25 transmit property can now be set individually by channel, rather than ha
ving a global setting for all channels. The -X on the command line applies only to channel 0. For other
channels you need to add a new line to the configuration file. You can specify a specific number of parit
y bytes (16, 32, 64) or 1 to choose automatically based on packet size.After: "CHANNEL 1" (or other channel)
Add: "FX25TX 1" (or 16 or 32 or 64)
Bugs Fixed:
-
The t/m packet filter incorrectly included bulletins. It now allows only "messages" to specific station
s. Use of t/m is discouraged. i/180 is the preferred filter for messages to users recently heard locally
. -
Packet filtering now skips over any third party header before classifying packet types.
-
Fixed build for Alpine Linux.
Notes:
The Windows binary distribution now uses gcc (MinGW) version 11.3.0.
The Windows version is built for both 32 and 64 bit operating systems.
Use the 64 bit version if possible; it runs considerably faster.
Version 1.7 -- Development Snapshot A -- March 2021
Version 1.7 -- Development Snapshot A -- March 2021
New Feature:
- CM108/119 GPIO PTT is now available for Windows. Simply specify "PTT cm108" in the channel configuration section.
Notes:
This is a development snapshot that has not gone through the same amount of testing as a normal release. New features may be incomplete. Documentation may be lagging behind new functionality.
The Windows binary distribution is in the direwolf-1.7.0- *.zip files below. The Windows version is built for both 32 and 64 bit operating systems. Use the 64 bit version if possible; it runs considerably faster.
Version 1.6 - October 2020
Version 1.6 -- October 2020
New Build Procedure:
-
Rather than trying to keep a bunch of different platform specific Makefiles in sync, "cmake" is now used for greater portability and easier maintenance.
-
README.md has a quick summary of the process. More details in the User Guide.
New Features:
-
"-X" option enables FX.25 transmission. FX.25 reception is always enabled so you don't need to do anything special. "What is FX.25?" you might ask. It is forward error correction (FEC) added in a way that is completely compatible with an ordinary AX.25 frame. See new document AX25_plus_FEC_equals_FX25.pdf for details.
-
Receive AIS location data from ships. Enable by using "-B AIS" command line option or "MODEM AIS" in the configuration file. AIS NMEA sentences are encapsulated in APRS user-defined data with a "{DA" prefix. This uses 9600 bps so you need to use wide band audio, not what comes out of the speaker. There is also a "-A" option to generate APRS Object Reports.
-
Receive Emergency Alert System (EAS) Specific Area Message Encoding (SAME). Enable by using "-B EAS" command line option or "MODEM EAS" in the configuration file. EAS SAME messages are encapsulated in APRS user-defined data with a "{DE" prefix. This uses low speed AFSK so speaker output is fine.
-
"-t" option now accepts more values to accommodate inconsistent handling of text color control codes by different terminal emulators. The default, 1, should work with most modern terminal types. If the colors are not right, try "-t 9" to see the result of the different choices and pick the best one. If none of them look right, file a bug report and specify: operating system version (e.g. Raspbian Buster), terminal emulator type and version (e.g. LXTerminal 0.3.2). Include a screen capture.
-
"-g" option to force G3RUH mode for lower speeds where a different modem type may be the default.
-
2400 bps compatibility with MFJ-2400. See 2400-4800-PSK-for-APRS-Packet-Radio.pdf for details
-
"atest -h" will display the frame in hexadecimal for closer inspection.
-
Add support for Multi-GNSS NMEA sentences.
Bugs Fixed:
- Proper counting of frames in transmit queue for AGW protocol 'Y' command.
New Documentation:
-
AX.25 + FEC = FX.25
-
AIS Reception
-
AX.25 Throughput: Why is 9600 bps Packet Radio only twice as fast as 1200?
Notes:
The Windows binary distribution (direwolf-1.60- *.zip files below) now uses gcc (MinGW) version 7.4.0. The Windows version is built for both 32 and 64 bit operating systems. Use the 64 bit version if possible; it runs considerably faster.
Version 1.5 - October 2018
Version 1.5 -- October 2018
New Features:
-
PTT using GPIO pin of CM108/CM119 (e.g. DMK URI, RB-USB RIM), Linux only.
-
More efficient error recovery for AX.25 connected mode. Better generation and processing of REJ and SREJ to reduce unnecessary duplicate "I" frames.
-
New configuration option, "V20", for listing stations known to not understand AX.25 v2.2. This will speed up connection by going right to SABM and not trying SABME first and failing.
-
New "NOXID" configuration file option to avoid sending XID command to listed station(s). If other end is a partial v2.2 implementation, which recognizes SABME, but not XID, we would waste a lot of time resending XID many times before giving up. This is less drastic than the "V20" option which doesn't even attempt to use v2.2 with listed station(s).
-
New application "kissutil" for troubleshooting a KISS TNC or interfacing to an application via files.
-
KISS "Set Hardware" command to report transmit queue length.
-
TCP KISS can now handle multiple concurrent applications.
-
Linux can use serial port for KISS in addition to a pseudo terminal.
-
decode_aprs utility can now accept KISS frames and AX.25 frames as series of two digit hexadecimal numbers.
-
Full Duplex operation. (Put "FULLDUP ON" in channel section of configuration file.)
-
Time slots for beaconing.
-
Allow single log file with fixed name rather than starting a new one each day.
Bugs Fixed:
-
Possible crash when CDIGIPEAT did not include the optional alias.
-
PACLEN configuration item no longer restricts length of received frames.
-
Strange failures when trying to use multiple KISS client applications over TCP. Only Linux was affected.
-
Under certain conditions, outgoing connected mode data would get stuck in a queue and not be transmitted. This could happen if client application sends a burst of data larger than the "window" size (MAXFRAME or EMAXFRAME option).
-
Little typographical / spelling errors in messages.
Documentation:
-
New document Bluetooth-KISS-TNC.pdf explaining how to use KISS over Bluetooth.
-
Updates describing cheap SDR frequency inaccuracy and how to compensate for it.
Notes:
Windows binary distribution now uses gcc (MinGW) version 6.3.0.
How to install on Linux:
git clone http://github.com/wb2osz/direwolf
cd direwolf
make
sudo make install
How to install on Windows:
Download direwolf-1.5-win.zip (the file with "win" in its name) and extract the files. Run direwolf.exe in a command window. See User Guide for more details.
How to install on Macintosh OS X
Read the User Guide in the doc directory. It is a lot more complicated than Linux.
If you have any questions, post a message to the Dire Wolf packet TNC discussion group. I don't have a Mac and probably won't be able to help you. I rely on others, in the user community, for the Mac version support.
Version 1.5 -- Beta Test 4 -- September 2018
Fix for a different case of issue 132.
Version 1.5 -- Beta Test 3 -- July 2018
Version 1.5 -- Beta Test 3 -- July 2018
Bugs Fixed:
- Issue 132 - Under certain conditions, outgoing connected mode data would get stuck in a queue and not be transmitted. This could happen if client application sends a burst of data larger than the "window" size (MAXFRAME or EMAXFRAME option).
New Features:
- "NOXID" configuration file option to avoid sending XID command to listed station(s). If other end is a partial v2.2 implementation, which recognizes SABME, but not XID, we would waste a lot of time resending XID many times before giving up. This is less drastic than the "V20" option which doesn't even attempt to use v2.2 with listed station(s).
Notes:
Windows binary distribution now uses gcc (MinGW) version 6.3.0.
How to install on Linux:
git clone http://github.com/wb2osz/direwolf
cd direwolf
git checkout 1.5-beta3
make
sudo make install
How to install on Windows:
Download direwolf-1.5-beta3-win.zip (the file with "win" in its name) and extract the files. Run direwolf.exe in a command window. See User Guide for more details.
How to install on Macintosh OS X
Read the User Guide in the doc directory. It is a lot more complicated than Linux.
If you have any questions, post a message to the Dire Wolf packet TNC discussion group. I don't have a Mac and probably won't be able to help you. I rely on others, in the user community, for the Mac version support.