A previous posting showed how to set up Winlink through basic internet (Telnet). Internet/Wifi may or may not be available in any emergency, however, so it is important to be able to work Winlink over a VHF/UHF radio – which is the main benefit of WINLINK over e-mail, after all. To get this working you will need a radio, a TNC, and computer with the Pat or Winlink program. For my test I use a Yaesu FT-70 handheld, Mobilinkd TNC3, and Pat on a Linux computer.
This makes a much smaller Winlink setup than most, though a 5 watt radio will be needing a bigger antenna if the Winlink packet gateway repeater is miles away.
The Mobilinkd device needed some setup through the mobile app, which is detailed in its documentation. I had to test getting it working a few times, I found it should always connect to Android’s bluetooth device immediately after turning it off and on. I had to hit the reset button when the green light stuck, once, and once again before I finally got it working.
Firstly, if you have a four-link Yaesu cable plugging in to the Mobilink, you will have to use the Android/ios configurator app to switch it from PTT Simplex (Kenwood and Chinese HTs) to PTT Multiplex (Yaesu, Icom, Alinco and others) as noted in the documentation.
You may get an error upon trying to connect even with it recognized by your computer. As with most usb devices you can use “lsusb” in terminal to list all usb-hub devices, to see that they are recognized. Remember to use a real data Micro-usb cable, not the charge only cables that come with many flashlights and gadgets these days 🙂
The instructions here may help. First install and set AX25Tools:
$ sudo apt-get install ax25-tools
$ sudo nano /etc/ax25/axports
Add your callsign in a line at the end of axports file like so:
wl2k YOURCALLSIGN 9600 255 7 Winlink
Now ax25 works, but if you try Pat you will have the wrong default path. If you try it you would get:
Unable to establish connection to remote: no such file or directory
In this case, the device isn’t /dev/ttyUSB0. On Ubuntu, list serial devices with:
$ ls -lah /dev/serial/by-id
total 0
drwxr-xr-x 2 root root 60 Jan 10 19:47 .
drwxr-xr-x 4 root root 80 Jan 10 19:47 ..
lrwxrwxrwx 1 root root 13 Jan 10 19:47 usb-Mobilinkd_LLC_Mobilinkd_TNC3_v2.1.1_208F33A4464B-if00 -> ../../ttyACM1
Unfortunately this /dev/serial/… path is a link that doesn’t work with “kissattach” command for kiss protocol, use the “ttyACMX” for the assigned path on your system, like so:
$ sudo kissattach /dev/ttyACM1 wl2k
AX.25 port wl2k bound to device ax0
At the terminal enter:
pat configure
and change the quoted path here to the appropriate full path:
"serial-tnc": {
"path": "/dev/ttyACM0",
Running Pat in the browser
To start up Pat locally with the new values, at the terminal, run:
pat http
and open http://localhost:8080/
Connect, receive, or send in the same way you would with internet and “telnet”, but use “ax.25” option like so:
Note that you have to set the frequency manually, which is listed under the list button if you forget what your nearest Winlink packet radio station is. The “freq” setting in this case with this device, does nothing. Click connect to send and receive inbox and outbox.
If you don’t have the local Winlink frequency from your local club website you can make the list shown above more useful by showing the nearest first by distance: Repeat the “pat configure” step in the terminal and enter your local 6 character grid square after locator: “. This is the same 6 character grid square you see in Repeater-START when you browse to your location and see “Map Center (SQUARE)” in the status area.
Important update for Ubuntu 22.04 and other newer Linux setups
If you are on the latest Ubuntu 22.04 you may note some issues:
- The “pat” in the repositories does not have this AX25 support built in for using it with a serial radio connection as shown above. To remedy this, uninstall pat (“sudo apt remove pat” if you prefer the terminal) and install the newest version from here.
- The kissattach command may not allow running the connection twice. For example, going to connect at the top of the screen, will work the first time and then show a “Unable to establish connection to remote: address already in use” the second time you connect. This is a known bug with a fairly simple fix. Simply unplugging and plugging back in will work if you repeat the steps with the device registered on the computer again. Pat-window is an easier way to run the above steps, check it out on Github!
Troubleshooting
- If you note the Mobilinkd TNC3 just shows a green light, and doesn’t work after trying this with USB, you may need to unplug it and let it discharge. It may work after hitting the reset switch with a paper clip but it may just need to be left for a few days to discharge before it starts up properly again.
- Make sure you have the device recognized as a USB – not a charging- only cable. Linux “lsusb” command should show one more entry when you have the device attached.
- If it still does not work, you may need to debug transmitting and settings with the Android/ios app. You may have to change the Mobilinkd internal setting using the app, depending on what type of radio you have.