Friday, August 24, 2018

MMDVM Firmware, why update? How to update!

Have you heard "ham radio" people talk about updating the firmware of the MMDVM boards and wonder, should you?

The general opinion is "Always move up to the latest level", which is fine for early adopters that really know what they are doing or pretend to at the very least.

help with mmdvm pistar upgrade

An experienced voice will say "Stick with the version that is working and only move up if there is a feature you really need or want".

That is the best advice we can give, stick with what it working and ALWAYS read the firmware build notes as to what it delivers before applying it. 

Good news! The MMDVM firmware is open source! 

Unlike many radios, you can read about all aspects of the code at:  https://github.com/juribeparada/MMDVM_HS/

Where can you see the latest notes on MMDVM Firmware?
https://github.com/juribeparada/MMDVM_HS/releases

Here is the build log to see what each version delivers:


v1.4.12

  • Frequency restrictions to avoid satellite interference. Please avoid the following ranges: 145.8-146.0 MHz and 435-438 MHz, otherwise, the firmware will not start. Please see: http://www.arrl.org/news/digital-mobile-radio-hotspots-may-be-interfering-with-satellite-uplinks-amsat-reports
  • Fix RSSI bug in duplex mode
  • P25 RX logic rewrite
  • Enable debug messages for simplex boards
  • Add new Interrupt Counter Test Mode (requires MMDVMCal >= 20181104). Useful for board diagnostics (TCXO, ADF7021 connections, etc).
  • Makefile option for USB firmware without bootloader (only custom compilation)
  • Minor bug fixes

v1.4.8

  • Fix for bug with the new Raspberry Pi 3 B+, when using an MMDVM_HS with USB

v1.4.7
v1.4.6
  • Fix D-Star reliability with low RSSI signals (transmission lost recovery)
  • Fix for missing POCSAG start tone and incomplete messages
  • Receiver gain options (only custom firmware builds)
  • Additional NanoDV boards support
v1.4.3
  • RAM memory optimization
  • Fix small bugs
v1.4.1
  • Add support for POCSAG
  • Fix LEDs bug and minor bugs (thanks Flo DF2ET)
v1.3.7
  • Reducing YSF, P25 and NXDN buffer sizes to fix RAM limit bug in duplex mode
  • Add binary firmware support for generic MMDVM_HS boards with serial interface
 v1.3.6  (Very stable, most boards shipped with this)
  • More space for ring buffers
  • Pseudo random fill instead of 1.2 kHz fill for DMR DMO
 v1.3.3
  • Support for MMDVMCal
  • Deviation adjustment for each mode in MMDVM.ini
  • Default RSSI support for MMDVM_HS_Hat
  • Support for MMDVM_HS_DUAL_HAT board
  • Support for Nano DV board
  • Optimizing program size
IMPORTANT NOTE: Please set all TXLevel parameters to 50 % in MMDVM.ini in order to use default deviation levels.

What MMDVM boards are we talking about?

You need to know which board you own!

Look it up on google and match the image with what you have.  Do not just assume saying "Version 1.0" is the same for everyone.

Also, you will need to know what TCXO also known as a "crystal" is on your board. (14.xxxx or 12.xxxx MHz)

Once you know that you can flash your board from the PiStar command line ( "http://{address of your PiStar}:2222 login" with pi-star as the user name, if you did not change the password the default is raspberry )
  • ZUMspot RPi board
    sudo pistar-zumspotflash rpi
  • ZUMSpot duplex board conected to GPIO
    sudo pistar-zumspotflash rpi_duplex
  • ZUMspot USB dongle
    sudo pistar-zumspotflash usb
  • ZUMspot Libre Kit or generic MMDVM_HS board with USB
    sudo pistar-zumspotflash libre
  • MMDVM_HS_Hat board (14.7456MHz TCXO)
    sudo pistar-mmdvmhshatflash hs_hat
  • HS_DUAL_HAT board (14.7456MHz TCXO)
    sudo pistar-mmdvmhshatflash hs_dual_hat
  • MMDVM_HS_Hat board (12.288MHz TCXO)
    sudo pistar-mmdvmhshatflash hs_hat-12mhz
  • HS_DUAL_HAT board (12.288MHz TCXO)
    sudo pistar-mmdvmhshatflash hs_dual_hat-12mhz
  • Nano hotSPOT board
    sudo pistar-nanohsflash nano_hs
  • NanoDV NPi board
    sudo pistar-nanodvflash pi
  • NanoDV USB board
    sudo pistar-nanodvflash usb

An example: Updating a Chinese JumboSPOT"

So this is the board I (Joe N1JTA) bought from eBay awhile back:













I then soldered on the pins to enable FW update (Please see my past article "MMDVM JumboSPOT board: Mods you may need"

Also you can see the TCXO at X1 which under magnification shows it the 14.7456MHz TCXO. Thus this board is the "MMDVM_HS_Hat board (14.7456MHz TCXO)"

Before doing anything backup your PiStar settings via: http://pi-star.local/admin/config_backup.php

It's actually quite painless, that is if you don't mind the good old command line! First login in to your PiStar HotSpot's terminal: http://pi-star.local:2222 aka http://{your pistar ip address}:2222

Recall that the Default User name: pi-star and Default Password: raspberry that is if you have not changed it ( I recommend changing the password )

Login then run:
sudo pistar-mmdvmhshatflash hs_hat
Yes it's that easy! The command will find the latest build of hs_hat download it and apply it to your JumboSPOT.

Please note you MUST have connected the Firmware pins of your JumboSPOT to your Raspberry Pi for the flash utility to work. That is the above command will fail if your board does not have it's FW pins connected ( please see MMDVM JumboSPOT Mod you should know )

Advanced: Build FW from source, the easy way!

The normal WARNING! you are responsible for your hardware! Don't do this if you are afraid of messing up your critical infrastructure. Well if you mess up you can always flash with the commands above to recover.

https://www.df2et.de/mmdvm_hs_builder/

Please note that this site only will build the generic hs_hat for single and dual time slots. Now you can use this handy web page to chose what features you want to turn on or off!

A must have for me is "Constant Service LED once repeater is running" so once Pi-Star comes online the modem will NOT blink it's green LED. If you work near your hotspot that dang blinking light can be annoying.

Once you chose all the features you want in your FW then click "Submit" when done it will open a download. You can save a copy on your PC if you like. Under the download section it will provide you a link to the bin file. Thus at the Pi-Star command line you can do the following:

pi-star@dual-mmdvm(ro):~$ rpi-rw
pi-star@dual-mmdvm(rw):~$ wget http://www.df2et.de/mmdvm_hs_builder/5b7a1697910c8/MMDVM_HS/bin/mmdvm_f1.bin

You should see a message about ‘mmdvm_f1.bin’ saved

pi-star@dual-mmdvm(rw):~$ sudo pistar-mmdvmhshatflash-custom
mmdvm_f1.bin


Make sure pi-star is in write mode. Not only will the download fail but the fw flash will also fail.

What did you think?

Constructive comments are always welcome. Thanks! 

1 comment:

  1. Brilliant! This recovered my "bricked" MMDVM after a failed firmware update:-)

    ReplyDelete

We really do not want to moderate comments, so lets keep it easy to use until it becomes an issue.