Direwolf laat zich niet via cron starten

Uitgangspunten:

  • Raspberry Pi voorzien van Buster
  • rtl_fm is geïnstalleerd en functioneert
  • SDR-dongle is gekalibreerd
  • direwolf is geïnstalleerd en geconfigureerd
  • rtl_fm en direwolf zijn vanaf de command line te starten en functioneren foutloos

Vanaf dit punt bleek dat de combinatie rtl_fm + direwolf niet gestart kan worden via een cron-job zoals beschreven in de documentatie van direwolf.

De oplossing hiervoor is een aanpassing in het script ‘dw-start.sh’. Maak voor het aanpassen een backup van het script met cp dw-start.sh dw-start.backup.

Wijzig dan dw-start.sh door de twee onderstaande regels aan te passen:

DWCMD="bash -c 'rtl_fm -f 144.8M - | direwolf -c sdr.conf -r 24000 -D 1 -'"

wordt gewijzigd in:

dwcmd() { bash -c 'rtl_fm -f 144.8M - | direwolf -c sdr.conf -r 24000 -D 1 -'; }

En vervolgens:

$SCREEN -d -m -S direwolf $DWCMD >> $LOGFILE

wordt gewijzigd in:

$SCREEN -d -m -S direwolf $(dwcmd) >> $LOGFILE

Daarna kan het script dw-start.sh toegevoegd worden aan cron:

crontab -e
* * * * * /home/pi/dw-start.sh > /dev/null 2>&1

Deze aanpassing is eerder door KX3F op GitHub gepost.