Here is how I managed to get my Kenwood TH-D72A radio working with Pat on Linux using the built-in TNC and the AX.25 mode

Installing Pat

First of all, download and install the latest Pat package from the GitHub project page.

dpkg -i pat_x.y.z_amd64.deb

Then, follow the installation instructions for the AX.25 mode and install the necessary packages:

apt install ax25-tools ax25-apps

along with the systemd script that comes with Pat:

/usr/share/pat/ax25/install-systemd-ax25-unit.bash

Configuration

Once the packages are installed, it's time to configure everything correctly:

  1. Plug the radio onto the computer using a mini-USB cable.
  2. Power cycle the radio.
  3. Enable TNC in packet12 mode (band A*).
  4. Tune band A to VECTOR channel 420 (or 421 if you can't reach VA7EOC on simplex).
  5. Put the following in /etc/ax25/axports (replacing CALLSIGN with your own callsign):

     wl2k    CALLSIGN    9600    128    4    Winlink
    
  6. Set HBAUD to 1200 in /etc/default/ax25 and make sure that the DEV variable is set to the correct /dev/TTYUSBx device (check the output of dmesg after turning on the radio).

  7. Download and compile the tmd710_tncsetup script mentioned in a comment in /etc/default/ax25:

     gcc -o tmd710_tncsetup tmd710_tncsetup.c
     sudo cp tmd710_tncsetup /usr/local/bin
    

    Note: on a Debian bullseye or later system, all you need to do is install the tmd710-tncsetup package:

     apt install tmd710-tncsetup
    
  8. Add the tmd710_tncsetup script in /etc/default/ax25 and use these command line parameters (-B 0 specifies band A, use -B 1 for band B):

     /usr/local/bin/tmd710_tncsetup -B 0 -S $DEV -b $HBAUD -s
    

    Note: the path is /usr/bin/tmd710_tncsetup if using the official Debian package.

  9. Start ax25 driver:

     systemctl start ax25.service
    

As the AX25 unit starts up and initializes the TNC using tmd710_tncsetup, you should see STA and CON indicators flash briefly in the top-right corner of the screen.

Connecting to a winlink gateway

To monitor what is being received and transmitted:

axlisten -cart

Then create aliases like these in ~/.wl2k/config.json:

{
  "connect_aliases": {
    "ax25-VA7EOC": "ax25://wl2k/VA7EOC-10",
    "ax25-VE7LAN": "ax25://wl2k/VE7LAN-10"
  },
}

and use them to connect to your preferred Winlink gateways by starting pat using the following:

pat http

and then opening the interface in a webbrowser: http://localhost:8080/

Troubleshooting

If it doesn't look like ax25 can talk to the radio (i.e. the TX light doesn't turn ON), then it's possible that the tmd710_tncsetup script isn't being run at all, in which case the TNC isn't initialized correctly.

On the other hand, if you can see the radio transmitting but are not seeing any incoming packets in axlisten then double check that the speed is set correctly:

  • HBAUD in /etc/default/ax25 should be set to 1200
  • line speed in /etc/ax25/axports should be set to 9600
  • SERIAL_SPEED in tmd710_tncsetup should be set to 9600
  • radio displays packet12 in the top-left corner, not packet96

If you can establish a connection, but it's very unreliable, make sure that you have enabled software flow control (the -s option in tmd710_tncsetup).

If you can't connect to VA7EOC-10 on UHF, you could also try the VHF BCFM repeater on Mt Seymour, VE7LAN (VECTOR channel 65).