From Fedora Project Wiki

Setting up Pat (Open Source Winlink client written in GO)


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:

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

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

Configuring pat

$ pat configure

See 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


$ rigctld -m <rig> -r </dev/ttyDEV> -s <rate>
$ ardopc 8515 <alsadev> <alsadev> -p /dev/<PTTdevice>