
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.
Leave a Reply