Cautionary MMDVM tale

I’ve been fiddling around with my original JumboSPOT, trying to get it to CW ID, and I did finally figure that out; you have to go into the Expert configurators, choose MMDVMHOST, scroll down to the section called “CW ID”, and change the “Enabled” parameter to 1, save then reboot.  But it did not seem to be working with this particular JumboSPOT (although it was working fine with the other one, which is intended as a mobile hotspot).

So I thought, hmm, the firmware is kinda old (it was “ZUMSpot 1.0.2”) and maybe it just needed an upgrade.

After searching all over hell’s half acre for the instructions to do that, I found somewhere (and I can’t find the link now) a video that explained how to pull down the latest firmware and install it.  Effectively, you log into the SSH terminal, set the session to RW (with “rpi-rw”), and then clone the git repository for MMDVMHost with “git clone https://github.com/juribeparada/MMDVM_HS”.

At that point, you do

cd MMDVM_HS/scripts

and you can “ls” to find out what you’ve got in that directory:

pi-star@pi-star(rw):scripts$ ls
build_fw.sh                install_fw_hsdualhat.sh    install_fw_rpi.sh
install_buildtools.sh      install_fw_hshat-12mhz.sh  install_fw_usb.sh
install_fw_custom.sh       install_fw_hshat.sh        mmdvm_hs_hat_fw.bin
install_fw_duplex_gpio.sh  install_fw_librekit.sh     STM32F10X_Lib
install_fw_duplex.sh       install_fw_nanodv.sh       zumspot_rpi_fw.bin
install_fw_gen_gpio.sh     install_fw_nanohs.sh

Points to make:

  • You MUST ensure that the GPIO20 and GPIO21 pins can connect between the JumboSPOT and the Pi (in this case, a Pi Zero W).  Otherwise you won’t be able to update the firmware no matter what you do.  My first JumboSPOT/Pi Zero W unit did not have this connection, so I had to take the thing apart and add a pin socket to the JumboSPOT and a pin header to the Pi Zero W in this location.  The second JumboSPOT I bought already had this covered, and when I put the second Pi Zero W together I installed a full-length GPIO header, so again, covered.
  • You MUST ensure that you choose the right firmware installer.  Clue:  It’s NOT “install_fw_rpi.sh”.  You can flash it, and it boots, but it never actually initializes the listeners (although Pi-Star it claims it does).  I figured out by checking the working unit — that was running “HS_Hat:1.3.3” — that it had to be the “install_fw_hshat.sh” installer.  Once I reflashed the unit with the correct firmware, it worked fine.

I’ve said it before and I’m going to say it again:  Pi-Star needs formal documentation to explain all of this shit.  I cannot understand how such a complex operating system can be released for use by thousands of hams and the only way to figure out what some of the arcane settings are, and how to get the silly thing running in the first place, aren’t clearly documented in a published manual (which for all of me could be a wiki).  I know that hams don’t read manuals, but I’m in the software business myself, and if you don’t have published manuals, nobody takes you seriously, even if they never read the damn things.

I also understand that Pi-Star is free.  That’s no excuse, or it’s the excuse of a lazy developer who doesn’t document anything except in release notes.  The documentation could be crowd-sourced using a wiki, for crying out loud.

Videos take too long to watch when you read 500 WPM.  Give me text any time.