Large Back-End Changes to W0CHP-PiStar-Dash
Since the birth of W0CHP-PiStar-Dash
in
~2019, the “back-end” had historically used (and stuck with) the official
Pi-Star
binaries (the
core third-party programs found in /usr/local/bin
)
compiled by the Pi-Star author Andy, MW0MWZ
. This was deliberate…
Firstly, I really didn’t want to compile all of the upstream binary sources by-hand. And secondly, they were perfectly stable enough for daily usage and didn’t merit any changes.
However, as of 1/26/2022, that has since changed.
If you’re running W0CHP-PiStar-Dash
, you may have noticed that the binaries
in /usr/local/bin
are now sourced and replaced by/with my own
custom-compiled binaries.
This is also deliberate, and is now a core part of W0CHP-PiStar-Dash
going forward…
Rationale
There are new (and fully open-source!) modes/protocols being developed for
digital ham radio, namely, M17. And I wanted to use
these new modes and protocols on my W0CHP-PiStar-Dash
hotspots, but could
not due to the old age of Pi-Star’s binaries (and lack of required binaries).
Additionally, Jon, G4KLX
(the author of pretty much EVERY software that makes
hotspots actually work) and his contributors were fast-improving upon
MMDVMHost
and its myriad companion client and gateway programs. A recent and
very cool improvement to these programs are the system-wide implementation of
RemoteCommands
, which allows client and gateway programs to be both queried
for status, as well as change reflectors/TGs/links, etc.
I really wanted to leverage these features/modes/improvements because they are so incredibly welcome. So I got to work…
New Binaries from the Upstream Code
I mentioned earlier, that I didn’t want to hand-compile these programs/binaries (and there are a lot of them). So the first thing I did, was develop a custom build and C/I system, with built-in tests and QA checks for stable functionality. I was able to complete that system in my (minimal) spare time within a few days.
Now that I had an automated build/CI/deployment/test system working, it was time to perform some real-world testing on my test hotspots. These hotspots have been using my binaries for a few months now, and my production/daily use hotspots are also using my new binaries since they have proven stable and provide the new features missing from the official Pi-Star distribution.
Around Christmas of 2021, I deemed the new binaries/programs stable enough to
integrate natively in W0CHP-PiStar-Dash
.
Slip-streaming the New Binaries/Programs Into Existing Instances
Part of my regression tests described earlier, involved developing a mechanism that would automatically switch to my binaries vs. the official Pi-Star binaries. This is not an easy task for a host of reasons:
-
I wanted it to be fully-automated as part of the daily (auto) and manual updating facilities in Pi-Star
-
It needed to introduce the new config statements/files/variables etc. for the new modes/features, etc. which are not part of the current Pi-Star distribution.
-
It needed to work flawlessly with zero user interaction.
-
It needed to be “uninstallable” as part of the native
W0CHP-PiStar-Dash
restoration facility.
Once I had all of that developed, tested and validated, I updated the
W0CHP-PiStar-Dash
code, to swap to my own custom binary/program
repository.
Overall, the whole process took a few months; simply to ensure stability and perfect automation for deployments.
May the Source Be With You (™)
Unlike Pi-Star itself, and the myriad other forks like mine out there; I
provide the actual upstream and modified source
code for the
W0CHP-PiStar-Dash
binaries and programs. In fact, based on principle alone and
the wonderful spirit of F/OSS, this was a requisite. I do not believe anything
should be closed-off. It also aligns with the open and experimental spirit of
ham radio.
Conclusion
I hope you are enjoying my program, and I hope you’re also enjoying the new features. Switching to my own binaries turned out to be inevitable after all, since I wanted to play with all the new modes and leverage the new features that continuously lag in the official Pi-Star distribution1.
I’d like to invite you to submit problem reports, pull requests, etc. for the
respective areas of W0CHP-PiStar-Dash
, if you encounter any issues:
https://repo.w0chp.net/WPSD-Dev/
Also, I, and a few other users are available for issue reports and help on
XLX493
; Module E
. It’s always nice
to hear from the W0CHP-PiStar-Dash
users out there; and they are always
expressing their gratitude, which is awesome!
Ciao! W0CHP
-
By no means is this a knock on Pi-Star or its author Andy. In fact, Andy is one of the most talented and nicest chaps in the ham radio and software communities. But he’s a busy guy, and unfortunately, there aren’t many of us (talented) ham radio hackers out there (read: hard to find good help). Ergo, features may lag in his software as a result (one-man shows are HARD). But that’s where I come in; I scratch my own personal itches and share them with you. ↲