Running Direwolf as a Service with Digirig on RaspPi

Background

I have a Raspberry Pi 4 with an LCD running Direwolf to act as an APRS-IS IGate.  I want to run it as a service, but I also want the packets to be displayed on the local screen.  Some people have used tmux or screen to load the Direwolf process into another terminal that you can view on demand as needed.  These methods didn’t work for me as the service would stop after exactly 5 seconds.

This is my /etc/systemd/system/direwolf.service file.

[Unit]
Description=Direwolf
Wants=network-online.target
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/bin/direwolf -c /etc/direwolf.conf
ExecReload=/bin/kill -KILL $MAINPID
KillMode=process
SyslogIdentifier=Direwolf
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=default.target

Save the file then run the following commands:

sudo systemctl daemon-reload

sudo systemctl enable direwolf.service

sudo systemctl start direwolf.service

To check the service status:

sudo systemctl status direwolf.service

To stop the service:

sudo systemctl stop direwolf.service

Echo Packets to the LCD automatically

Edit your ~/.profile and add the following line at the end of the file and save.

/usr/bin/kissutil

Now when you reboot, assuming your user automatically logs in on boot, this will load the KISS utility and you’ll see the packets on-screen.  This does not include any IG>RF packets.  I haven’t figured out how to show those yet.

I use a GeekPi case with LCD.  The RPi 4 is connected to a Digirig that uses a Yaesu FT-1500M for TX/RX.  There is a Digirig cable for Yaesu radios for Digirig v1.6 and later.

 

 

 

 

 

 

 

 

Be the first to comment

Leave a Reply