6.8 KiB
title | summary | date | lastmod | categories | tags | draft | |||
---|---|---|---|---|---|---|---|---|---|
Packet radio, VARA (FM+HF), Mobilinkd and Digirig on Linux | 2024-02-13T22:05:30+01:00 | 2024-02-24T21:30:29+0000 |
|
|
true |
Out of curiosity I began another "research-session" because it is really time to get that Winlink back on my Linux laptop (I used OpenBSD on this machine for some months now and I haven't got a single chance to get wine onto that) -- I will stay Linux for a while I guess.
Digirig
The Digirig gets controlled with rigctld
-- I use different models for the
HF and the FM rig -- but the rig configuration is the same for both:
"hamlib_rigs": {
"my_rig": {
"address": "127.0.0.1:4532",
"network": "tcp"
}
},
Packet radio
Using AX.25+agwpe within pat in combination with Direwolf -- but this combination felt a bit slow (which might only be my subjective opinion).
"ax25": {
"engine": "linux",
"rig": "",
"beacon": {
"every": 3600,
"message": "Winlink P2P",
"destination": "IDENT"
}
"agwpe": {
"addr": "127.0.0.1:8000",
"radio_port": 0
},
The agwpe section is used by Direwolf:
% direwolf -c /etc/direwolf/direwolf.conf -p
Dire Wolf version 1.7
Includes optional support for: gpsd hamlib cm108-ptt dns-sd
Reading config file /etc/direwolf/direwolf.conf
Audio device for both receive and transmit: plughw:1,0 (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, A+, 44100 sample rate.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
DNS-SD: Avahi: Failed to create Avahi client: Daemon not running
Virtual KISS TNC is available on /dev/pts/8
Created symlink /tmp/kisstnc -> /dev/pts/8
The direwolf.conf
file looks like this (comments removed):
ADEVICE plughw:1,0
CHANNEL 0
MYCALL OE7DRT
MODEM 1200
PTT /dev/ttyUSB0 RTS DTR
AGWPORT 8000
KISSPORT 8001
IGTXLIMIT 6 10
Direwolf will warn you if the input audio level is way off; I adjust them
with the program alsamixer
(F6 to select the USB soundcard,
then F5 to list all devices, disable Auto Gain Control with m
(mute)).
VARA FM
The corresponding configuratoin in the pat config file:
"varafm": {
"addr": "127.0.0.1:8300",
"bandwidth": 0,
"rig": "my_rig",
"ptt_ctrl": true
},
Start rigctld
:
$ rigctld -m 1 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv
I start VARA FM by running a small script called varafm.sh
:
#!/usr/bin/sh
# Start VARA via wine
WINEPREFIX=/home/dominic/.wine-winlink wine "C:\\VARA FM\\VARAFM.exe"
In VARA FM set the USB soundcard, adjust the volume in alsamixer
and on your
radio, set PTT to VOX -- I tried to use COM1 but
that crashed wine several times (that is why we setup rigctl before).
If you need to stop rigctl: you can usually do that with
CTRL + C but this might not work. So either stop the running
pat process by hitting CTRL + C in the "pat terminal" or by
killing rigctld with kill $(pgrep rigctld)
.
This is not tested yet, because VARA crashed when I was out in the field and I cannot reach a gateway at home where I researched/tested the final settings.
VARA HF
Back to the TX-500, the pat configuration looks like:
"varahf": {
"addr": "127.0.0.1:8300",
"bandwidth": 2300,
"rig": "my_rig",
"ptt_ctrl": true
},
I start rigctld like:
$ rigctld -m 2014 -r /dev/ttyUSB0 -d /dev/ttyUSB0 -p /dev/ttyUSB0 \
-P RTS -s 9600 -vvvv
Untested, untested...
Mobilinkd
I will use AX.25+linux in pat with the TNC4 paired via Bluetooth.
First of all, power on the TNC4 and pair it -- I use blueman-manager for this.
Then we need the serial port -- right click on TNC4 Mobilinkd and select Connect with Serial port
That will create a serial port at /dev/rfcomm0
.
In order to use it in pat, we need to use kissattach
on that serial device.
First we need to setup an AX.25 port called wl2k in /etc/ax25/axports
:
# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#
#1 OH2BNS-1 1200 255 2 144.675 MHz (1200 bps)
#2 OH2BNS-9 38400 255 7 TNOS/Linux (38400 bps)
wl2k OE7DRT 1200 255 7 Winlink
This needs also some configuration work in the pat configuration:
"ax25_linux": {
"port": "wl2k"
},
"serial-tnc": {
"path": "/dev/rfcomm0",
"serial_baud": 9600,
"hbaud": 1200,
"type": "Kenwood",
"rig": ""
},
Now we can attach a KISS interface to the serial port:
$ sudo kissattach /dev/rfcomm0 wl2k
AX.25 port wl2k bound to device ax0
Select your PacketRadio Gateway (CALLSIGN-10 usually) and connect using AX.25+linux.
To de-attach the KISS interface we need to kill the process by:
$ sudo kill $(pgrep kissattach)
Some systemd unit-file examples
Put them into $HOME/.config/systemd/user
.
pat
[Unit]
Description="pat winlink"
After=network.target rigctld.service ardopc.service
Wants=rigctld.service ardopc.service
[Service]
Type=simple
ExecStart=/home/dominic/bin/pat --listen "ardop,telnet" http
TimeoutSec=10
[Install]
WantedBy=default.target
rigctld
[Unit]
Description="rigctld for TX-500 using Digirig"
After=network.target
Before=pat.service ardopc.service
[Service]
Type=simple
; -m 2005 for Lab500 TX-500 CAT protocol
; ExecStart=/usr/bin/rigctld -m 2050 -r /dev/ttyUSB0 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv
; -m 2014 for Kenwood TS-2000 CAT protocol
; ExecStart=/usr/bin/rigctld -m 2014 -r /dev/ttyUSB0 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv
ExecStart=/usr/bin/rigctld -m 2014 -r /dev/ttyUSB0 -d /dev/ttyUSB0 -p /dev/ttyUSB0 -P RTS -s 9600 -vvvv
TimeoutSec=10
[Install]
WantedBy=default.target
You can change the used protocol (Kenwood TS-200 or _Lab599 TX-500_l for CAT control within the menu on the TX-500 (last menu setting)).
ardopc
[Unit]
Description="ardopc for TX-500 using Digirig"
After=network.target
Before=pat.service
[Service]
Type=simple
; ExecStart=/home/dominic/bin/ardopc 8515 hw:1,0 hw:1,0 -c /dev/ttyUSB0:9600 -p /dev/ttyUSB0:9600
ExecStart=/home/dominic/bin/ardopc 8515 plughw:1,0 plughw:1,0
TimeoutSec=10
[Install]
WantedBy=default.target