Install Direwolf RaspberryPi – No Desktop

INSTALL DIREWOLF
RASPBERRY PI 64BIT LITE OS BOOKWORM

UPDATE & UPGRADE RPI

sudo apt-get update && sudo apt-get upgrade -y

 

INSTALL NECESSARY SOFTWARE & LIBRARIES

sudo apt-get install nano tmux git gcc g++ make cmake libasound2-dev libudev-dev libgps-dev libhamlib-dev libavahi-client-dev
libavahi-core-dev -y

 

CLONE & INSTALL LATEST STABLE VERSION OF DIREWOLF

cd ~
sudo git clone https://www.github.com/wb2osz/direwolf
cd direwolf
(sudo git checkout dev) Pulls latest development version – not recommended
sudo mkdir build && cd build
sudo cmake ..
sudo make -j4
sudo make install
sudo make install-conf

 

CHECK FOR SOUNDCARD PLAYBACK DEVICE (0,1,2,3 etc) for “ADEVICE plughw:x.0 in direwolf.conf later on”

aplay -l

 

CHECK FOR SOUNDCARD RECORDING DEVICE (0,1,2,3 etc)

arecord -l

 

ADJUST OUTPUT VOLUME

alsamixer

 

STORE VOLUME SETTINGS

sudo alsactl store

 

CHECK FOR (USB) SERIAL DEVICE (to use in direwolf.conf later on)

dmesg | grep ttyUSB (list usb serial devices)

dmesg | grep ttyAMA (list onboard serial devices)

 

CONFIGURATON DIREWOLF

sudo cp direwolf.conf ~ && cd ~
sudo nano direwolf.conf

(change at least the following parameters, x = Soundcard device ID)

ADEVICE plughw:x.0
MYCALL N0CALL
MODEM xxxx (300,1200 baud)
PTT ( for example: PTT /dev/ttyUSBx RTS or PTT /dev/ttyAMAx or PTT GPIO pin)

 

TEST DIREWOLF (ctrl-c to exit)

direwolf

 

CREATE SYSTEM SERVICE (change home path! ‘pi‘ to yours!)

sudo nano /etc/systemd/system/direwolf.service

(copy content)

[Unit]
Description=Direwolf
After=network.target

[Service]
Type=forking
#Modify the end of the line below to fit your own needs i.e path to your configuration file
ExecStart=/usr/bin/tmux new-session -d -s direwolf ‘/usr/local/bin/direwolf -c /home/pi/direwolf.conf’
Restart=always

[Install]
WantedBy=default.target

 

ENABLE SERVICE

sudo systemctl enable direwolf.service

 

START/STOP/RESTART/STATUS OF SERVICE

sudo systemctl start direwolf (starts service)
sudo systemctl stop direwolf (stops service)
sudo systemctl restart direwolf (restarts service)
sudo systemctl status direwolf (show status of service)