Newer YSFGateway Breaks DMR2YSF in WPSD

Update Oct. 31, 2024: There is a bug with the YSFGateway Chip is using where it shows a 90% packet loss with every YSF station through DMR2YSF. A fallback to this version of YSFGateway gets things back working normally.

July 10, 2024: It’s funny that it connects up fine to my default YSF connection, but if I try to change it via the YSF Link Manager in WPSD or by transmitting on the talk group, YSFGateway crashes. Eventually the timer process restarts it, but what good is it if you can’t change your connection. To get this back working, I compiled an older version that doesn’t crash. You can clone Jonathan Naylor’s YSFClients repo from github, change to the version below, compile and copy into the bin folder. If WPSD replaces it and it doesn’t work, you can copy this compiled version over again without having to recompile.

git clone https://github.com/g4klx/YSFClients
cd YSFClients/YSFGateway
git checkout f7f94b3ca1aa145fd12ff839f738b84db6a34cf0
make clean
make
sudo systemctl stop ysfgateway.service
sudo cp YSFGateway /usr/local/bin/YSFGateway
sudo systemctl restart ysfgateway.service

Consequently, this issue exists on both the Bullseye and Bookworm versions of WPSD. It may not be an issue on Pi-Star as Andy used to use older and well tested versions of these binaries. Consequently, after fixing my other hotspots and restarting mine I think it ran an update and pulled in the faulty binary from Chip’s git repo and I had to copy over my compiled version again. So for now I copied my compiled version of DMRGateway to /usr/local/bin/DMRGateway.new and use the following bash script to replace Chip’s version. I named my script yg, and you have to make it executable with “chmod +x yg”. Then if from the directory where the script is, execute with “./yg”. The preceeding ./ is for the shell to know to use the local one and not use the path variable.

#!/bin/bash
sudo systemctl stop ysfgateway.service
sleep 1
sudo cp /usr/local/bin/YSFGateway.new /usr/local/bin/YSFGateway
sudo systemctl restart ysfgateway.service
echo Substituted compiled version of YSFGateway from WPSD default

Also, during the night WPSD will run a dashboard update and might replace YSFGateway, so in the morning you could run the script to replace it.