Setting up Pat (Open Source Winlink client written in GO)
Introduction
Unless you want to run Winlink Express under WINE, you really have two options. For VHF/UHF operation, you can use direwolf. For HF operation Winmor has been removed from Winlink so your only option is ARDOP. Currently neither pat nor ardop are in the Fedora repositories so the easiest solution is to download the prebuilt binaries.
User setup
Whichever user will be used for Winlink, be it a regular user or one dedicated to Winlink, will need proper permissions / groups to access devices.
$ sudo usermod -a -G dialout,tty <user>
Installing Dependencies
First let's install all the required packages:
$ sudo dnf install libax25 ax25-tools direwolf kernel-modules-extra pavucontrol
Installing pat for VHF/UHF Operation
The github project page for pat provides pre-built binaries:
https://github.com/la5nta/pat/releases
Download the appropriate one for your arch, i386 or amd64 then extract and copy the binary into /usr/local/bin.
Installing ARDOP for HF Operation
https://www.cantab.net/users/john.wiseman/Downloads/Beta/
There are two links, one for ARDOPC and one for ARDOPC_64, download the appropriate one and save to /usr/local/bin.
Configuring AX.25
Edit /etc/ax25/axports and add the following at the bottom:
#portname callsign speed paclen window description wl2k <callsign> 0 128 2 Pat Winlink
The speed is set to 0 because we're using a soundcard based modem instead of a hardware TNC.
Configuring direwolf for VHF/UHF Operation
Copy the direwolf.conf file from /usr/share/doc/direwolf/examples to the home directory of the user that will run direwolf. Most of the settings are self explanatory such as setting up your callsign. The most important part, other than your callsign, is how you will key the PTT of your radio. Setting this up PTT is out of scope for this howto but the direwolf documentation is quite nice.
Configuring ARDOP
https://github.com/la5nta/pat/wiki/ARDOP
Configuring pat
$ pat configure
See https://github.com/la5nta/pat/wiki/The-command-line-interface for more details.
Running manually and testing
For Packet/VHF/UHF
$ sudo modprobe ax25 $ direwolf -p
Take note of the ptt assigned, we'll need below:
$ kissattach <tty from direwolf> wl2k $ sudo kissparms -p wl2k -t 300 -l 50 -s 100 -r 25 -f n $ pat
At this point pat should be running a http server on http://localhost:8080
For HF/ARDOP
$ rigctld -m <rig> -r </dev/ttyDEV> -s <rate> $ ardopc 8515 <alsadev> <alsadev> -p /dev/<PTTdevice>
References
[0] https://github.com/la5nta/pat/wiki/AX25-Linux
[1] https://github.com/la5nta/pat/wiki/Rig-control