direwolf/README.md

244 lines
11 KiB
Markdown
Raw Normal View History

2021-04-11 00:45:13 +00:00
2015-08-04 11:56:48 +00:00
# Dire Wolf #
### Decoded Information from Radio Emissions for Windows Or Linux Fans ###
2020-01-15 11:54:56 +00:00
In the early days of Amateur Packet Radio, it was necessary to use an expensive "Terminal Node Controller" (TNC) with specialized hardware. Those days are gone. You can now get better results at lower cost by connecting your radio to the "soundcard" interface of a computer and using software to decode the signals.
2018-02-07 03:33:17 +00:00
2020-10-24 23:44:21 +00:00
Why waste $200 and settle for mediocre receive performance from a 1980's technology TNC using an old modem chip? Dire Wolf decodes over 1000 error-free frames from Track 2 of the [WA8LMF TNC Test CD](https://github.com/wb2osz/direwolf/tree/dev/doc/WA8LMF-TNC-Test-CD-Results.pdf), leaving all the hardware TNCs, and first generation "soundcard" modems, behind in the dust.
2018-02-07 03:33:17 +00:00
![](tnc-test-cd-results.png)
2023-03-05 15:04:31 +00:00
Dire Wolf includes [FX.25](https://en.wikipedia.org/wiki/FX.25_Forward_Error_Correction) which adds Forward Error Correction (FEC) in a way that is completely compatible with existing systems. If both ends are capable of FX.25, your information will continue to get through under conditions where regular AX.25 is completely useless. This was originally developed for satellites and is now seeing widespread use on HF.
2020-01-06 01:08:22 +00:00
![](fx25.png)
2023-03-05 15:04:31 +00:00
Version 1.7 adds [IL2P](https://en.wikipedia.org/wiki/Improved_Layer_2_Protocol), a different method of FEC with less overhead but it is not compatible with AX.25.
2021-10-22 21:29:20 +00:00
### Dire Wolf is a modern software replacement for the old 1980's style TNC built with special hardware. ###
2018-02-07 03:33:17 +00:00
Without any additional software, it can perform as:
- APRS GPS Tracker
- Digipeater
- Internet Gateway (IGate)
- [APRStt](http://www.aprs.org/aprstt.html) gateway
2020-10-24 23:44:21 +00:00
It can also be used as a virtual TNC for other applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://www.ui-view.net/),[UISS](http://users.belgacom.net/hamradio/uiss.htm), [Linux AX25](http://www.linux-ax25.org/wiki/Main_Page), [SARTrack](http://www.sartrack.co.nz/index.html), [Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K)](http://www.winlink.org/RMSExpress), [BPQ32](http://www.cantab.net/users/john.wiseman/Documents/BPQ32.html), [Outpost PM](http://www.outpostpm.org/), [Ham Radio of Things](https://github.com/wb2osz/hrot), [Packet Compressed Sensing Imaging (PCSI)](https://maqifrnswa.github.io/PCSI/), and many others.
2015-08-04 11:56:48 +00:00
2017-04-26 22:11:24 +00:00
## Features & Benefits ##
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
![](direwolf-block-diagram.png)
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
### Dire Wolf includes: ###
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
- **Beaconing, Tracker, Telemetry Toolkit.**
2017-10-14 15:35:27 +00:00
Send periodic beacons to provide information to others. For tracking the location is provided by a GPS receiver.
Build your own telemetry applications with the toolkit.
2015-08-04 11:56:48 +00:00
2018-10-08 14:15:21 +00:00
2017-10-14 15:35:27 +00:00
- **APRStt Gateway.**
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
Very few hams have portable equipment for APRS but nearly everyone has a handheld radio that can send DTMF tones. APRStt allows a user, equipped with only DTMF (commonly known as Touch Tone) generation capability, to enter information into the global APRS data network. Responses can be sent by Morse Code or synthesized speech.
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
- **Digipeaters for APRS and traditional Packet Radio.**
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
Extend the range of other stations by re-transmitting their signals. Unmatched flexibility for cross band repeating and filtering to limit what is retransmitted.
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
- **Internet Gateway (IGate).**
2017-10-14 15:35:27 +00:00
IGate stations allow communication between disjoint radio networks by allowing some content to flow between them over the Internet.
2015-08-04 11:56:48 +00:00
2020-10-24 23:44:21 +00:00
- **Ham Radio of Things (HRoT).**
2020-01-06 01:08:22 +00:00
There have been occasional mentions of merging Ham Radio with the Internet of Things but only ad hoc incompatible narrowly focused applications. Here is a proposal for a standardized more flexible method so different systems can communicate with each other.
[Ham Radio of Things - IoT over Ham Radio](https://github.com/wb2osz/hrot)
2015-08-04 11:56:48 +00:00
2017-10-14 15:35:27 +00:00
- **AX.25 v2.2 Link Layer.**
Traditional connected mode packet radio where the TNC automatically retries transmissions and delivers data in the right order.
- **KISS Interface (TCP/IP, serial port, Bluetooth) & AGW network Interface (TCP/IP).**
2020-10-24 23:44:21 +00:00
Dire Wolf can be used as a virtual TNC for applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://www.ui-view.net/),[UISS](http://users.belgacom.net/hamradio/uiss.htm), [Linux AX25](http://www.linux-ax25.org/wiki/Main_Page), [SARTrack](http://www.sartrack.co.nz/index.html), [Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K)](http://www.winlink.org/RMSExpress), [BPQ32](http://www.cantab.net/users/john.wiseman/Documents/BPQ32.html), [Outpost PM](http://www.outpostpm.org/), [Ham Radio of Things](https://github.com/wb2osz/hrot), [Packet Compressed Sensing Imaging (PCSI)](https://maqifrnswa.github.io/PCSI/), and many others.
2017-10-14 15:35:27 +00:00
### Radio Interfaces: ###
2020-01-15 11:54:56 +00:00
- **Uses computer's "soundcard" and digital signal processing.**
2017-10-14 15:35:27 +00:00
2018-02-12 00:51:43 +00:00
Lower cost and better performance than specialized hardware.
2020-01-06 01:08:22 +00:00
Compatible interfaces include [DRAWS](http://nwdigitalradio.com/draws/), [UDRC](https://nw-digital-radio.groups.io/g/udrc/wiki/UDRC%E2%84%A2-and-Direwolf-Packet-Modem), [SignaLink USB](http://www.tigertronics.com/slusbmain.htm), [DMK URI](http://www.dmkeng.com/URI_Order_Page.htm), [RB-USB RIM](http://www.repeater-builder.com/products/usb-rim-lite.html), [RA-35](http://www.masterscommunications.com/products/radio-adapter/ra35.html), [DINAH](https://hamprojects.info/dinah/), [SHARI](https://hamprojects.info/shari/), and many others.
2018-02-12 00:51:43 +00:00
2017-10-14 15:35:27 +00:00
2022-11-25 22:59:36 +00:00
- **Modems:**
300 bps AFSK for HF
1200 bps AFSK most common for VHF/UHF
2400 & 4800 bps PSK
9600 bps GMSK/G3RUH
AIS reception
EAS SAME reception
2017-10-14 15:35:27 +00:00
2020-01-15 11:54:56 +00:00
- **DTMF ("Touch Tone") Decoding and Encoding.**
2017-10-14 15:35:27 +00:00
2020-10-24 23:44:21 +00:00
- **Speech Synthesizer interface & Morse code generator.**
2017-10-14 15:35:27 +00:00
Transmit human understandable messages.
- **Compatible with Software Defined Radios such as gqrx, rtl_fm, and SDR#.**
- **Concurrent operation with up to 3 soundcards and 6 radios.**
### Portable & Open Source: ###
- **Runs on Windows, Linux (PC/laptop, Raspberry Pi, etc.), Mac OSX.**
2015-08-04 11:56:48 +00:00
2017-04-26 22:11:24 +00:00
## Documentation ##
2023-03-05 15:04:31 +00:00
2017-04-26 22:11:24 +00:00
[Stable Version](https://github.com/wb2osz/direwolf/tree/master/doc)
2023-03-05 15:04:31 +00:00
[Latest Development Version ("dev" branch)](https://github.com/wb2osz/direwolf/tree/dev/doc)
[Additional Topics](https://github.com/wb2osz/direwolf-doc)
2017-04-26 22:11:24 +00:00
2023-03-05 15:04:31 +00:00
[Power Point presentations](https://github.com/wb2osz/direwolf-presentation) -- Why not give a talk at a local club meeting?
2023-03-05 15:04:31 +00:00
Youtube has many interesting and helpful videos. Searching for [direwolf tnc](https://www.youtube.com/results?search_query=direwolf+tnc) or [direwolf aprs](https://www.youtube.com/results?search_query=direwolf+aprs) will produce the most relevant results.
2017-04-26 22:11:24 +00:00
2015-08-04 11:56:48 +00:00
## Installation ##
### Windows ###
2017-01-28 20:28:11 +00:00
Go to the [**releases** page](https://github.com/wb2osz/direwolf/releases). Download a zip file with "win" in its name, unzip it, and run direwolf.exe from a command window.
2015-08-04 11:56:48 +00:00
2020-10-24 23:44:21 +00:00
You can also build it yourself from source. For more details see the **User Guide** in the [**doc** directory](https://github.com/wb2osz/direwolf/tree/master/doc).
2015-08-04 11:56:48 +00:00
2015-08-04 11:56:48 +00:00
2017-04-26 22:11:24 +00:00
### Linux - Using git clone (recommended) ###
2019-11-23 16:30:27 +00:00
***Note that this has changed for version 1.6. There are now a couple extra steps.***
2020-07-25 14:02:41 +00:00
First you will need to install some software development packages using different commands depending on your flavor of Linux.
In most cases, the first few will already be there and the package installer will tell you that installation is not necessary.
2019-11-23 16:30:27 +00:00
2020-07-25 14:02:41 +00:00
On Debian / Ubuntu / Raspbian / Raspberry Pi OS:
2020-07-25 14:02:41 +00:00
sudo apt-get install git
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
2019-11-23 16:30:27 +00:00
sudo apt-get install cmake
sudo apt-get install libasound2-dev
2019-11-23 16:30:27 +00:00
sudo apt-get install libudev-dev
sudo apt-get install libavahi-client-dev
2020-07-25 14:02:41 +00:00
Or on Red Hat / Fedora / CentOS:
sudo yum install git
sudo yum install gcc
sudo yum install gcc-c++
sudo yum install make
2020-07-25 14:02:41 +00:00
sudo yum install alsa-lib-devel
sudo yum install libudev-devel
sudo yum install avahi-devel
2019-11-24 01:06:57 +00:00
CentOS 6 & 7 currently have cmake 2.8 but we need 3.1 or later.
2020-07-25 14:02:41 +00:00
First you need to enable the EPEL repository. Add a symlink if you don't already have the older version and want to type cmake rather than cmake3.
2019-11-24 01:06:57 +00:00
2020-07-25 14:02:41 +00:00
sudo yum install epel-release
2019-11-24 01:06:57 +00:00
sudo rpm -e cmake
sudo yum install cmake3
sudo ln -s /usr/bin/cmake3 /usr/bin/cmake
Then on any flavor of Linux:
2017-04-26 22:11:24 +00:00
cd ~
git clone https://www.github.com/wb2osz/direwolf
cd direwolf
2020-04-04 01:09:23 +00:00
git checkout dev
2019-11-23 16:30:27 +00:00
mkdir build && cd build
cmake ..
2020-01-15 11:54:56 +00:00
make -j4
2015-08-04 11:56:48 +00:00
sudo make install
make install-conf
2020-05-22 02:21:33 +00:00
This gives you the latest development version. Leave out the "git checkout dev" to get the most recent stable release.
2017-04-26 22:11:24 +00:00
2017-01-28 20:28:11 +00:00
For more details see the **User Guide** in the [**doc** directory](https://github.com/wb2osz/direwolf/tree/master/doc). Special considerations for the Raspberry Pi are found in **Raspberry-Pi-APRS.pdf**
2017-04-26 22:11:24 +00:00
### Linux - Using apt-get (Debian flavor operating systems) ###
2020-05-22 02:21:33 +00:00
Results will vary depending on your hardware platform and operating system version because it depends on various volunteers who perform the packaging. Expect the version to lag significantly behind development.
2017-04-26 22:11:24 +00:00
sudo apt-get update
2019-11-23 16:30:27 +00:00
apt-cache showpkg direwolf
2017-04-26 22:11:24 +00:00
sudo apt-get install direwolf
### Linux - Using yum (Red Hat flavor operating systems) ###
2020-05-22 02:21:33 +00:00
Results will vary depending on your hardware platform and operating system version because it depends on various volunteers who perform the packaging. Expect the version to lag significantly behind development.
2017-04-26 22:11:24 +00:00
sudo yum check-update
2019-11-23 16:30:27 +00:00
sudo yum list direwolf
2017-04-26 22:11:24 +00:00
sudo yum install direwolf
### Macintosh OS X
2018-10-08 13:49:18 +00:00
Read the **User Guide** in the [**doc** directory](https://github.com/wb2osz/direwolf/tree/master/doc). It is more complicated than Linux.
2018-10-08 13:49:18 +00:00
If you have problems, post them to the [Dire Wolf packet TNC](https://groups.io/g/direwolf) discussion group.
2018-10-08 13:49:18 +00:00
There are also two package definitions maintained by volunteers. Note that these versions can lag behind development, as a new package definition must be released for each version.
2018-10-08 13:49:18 +00:00
#### MacPorts
2021-04-11 00:45:13 +00:00
sudo port install direwolf
2018-10-08 13:49:18 +00:00
#### Homebrew
brew install direwolf
You can also pull from the latest master branch. If the build configuration has changed, this may not work until the [formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/d/direwolf.rb) is updated
brew install --HEAD direwolf
2018-10-08 13:49:18 +00:00
2015-08-04 11:56:48 +00:00
## Join the conversation ##
2017-01-28 20:28:11 +00:00
Here are some good places to ask questions and share your experience:
2015-08-04 11:56:48 +00:00
2019-10-17 01:49:40 +00:00
- [Dire Wolf Software TNC](https://groups.io/g/direwolf)
2015-08-04 11:56:48 +00:00
2018-02-12 00:51:43 +00:00
- [Raspberry Pi 4 Ham Radio](https://groups.io/g/RaspberryPi-4-HamRadio)
2015-08-04 11:56:48 +00:00
2018-02-12 00:51:43 +00:00
- [linuxham](https://groups.io/g/linuxham)
2015-08-04 11:56:48 +00:00
- [TAPR aprssig](http://www.tapr.org/pipermail/aprssig/)
The github "issues" section is for reporting software defects and enhancement requests. It is NOT a place to ask questions or have general discussions. Please use one of the locations above.