Skip to main content...

W0CHP.net

W0CHP-PiStar-Dash -- A Custom and Enhanced Pi-Star Dashboard

Main
Dashboard Screenshot

This is my very highly modified and customized fork of MW0MWZ’s Pi-Star software, and I call it “W0CHP-PiStar-Dash”. There are so many large changes, divergences and new features, it merited my own fork/version.

Table of Contents:

Warnings & Caveats

  • Running W0CHP-PiStar-Dash is for the initiated, talented and self-motivated. It is NOT for casual, clueless or lazy users/hams who need hand-holding.
  • This code/project is a moving target, has bugs (like any code does) and can be unstable. It also consumes more system resources due to the myriad improvements.
  • Getting Help/Support:
    • Do NOT ask for support for W0CHP-PiStar-Dash on any official or unofficial Pi-Star support page/forum/medium/etc. This is not Andy’s (MW0MWZ) Pi-Star software!
    • Some really great users, fans and contributors of W0CHP-PiStar-Dash have setup a W0CHP-PiStar-Dash Facebook Group to get community support, etc.
    • XXL493 ; Module E is the W0CHP-PiStar-Dash Chat Module. A direct DMR conference to this module/room is bridged with BrandMeister and TGIF Networks: Simply call TalkGroup 3170603.
  • Issue / Bug Tracker and Pull Requests / Patches:
    • DO NOT ASK FOR SUPPORT. Repo and issue tracker access is for developers/hackers and contributors only!
    • The issue tracker is NOT for:
      1. Support requests
      2. Feature requests
      3. Other bullshit not germane to bugs, issues, etc.

Installing W0CHP-PiStar-Dash

Now that you’ve been adequately informed of the rules, caveats and the risks, keep reading to learn how to install W0CHP-PiStar-Dash.

There are two methods of installation…

  1. Installation on an existing Pi-Star hotspot
  2. Installation via a disk image

Installing W0CHP-PiStar-Dash on an Existing Pi-Star Hotspot

You need to have a Pi-Star hotspot running at least v4.1.6!1

  1. Make a backup of your configuration if you wish – just in case.

  2. Open an SSH session to your Pi-Star instance.

  3. Run this to familiarize yourself with the available options/arguments:2

    curl -Ls https://w0chp.net/WPSD-Install | sudo env NO_SELF_UPDATE=1 bash -s -- -h
    

    You will be presented with…

    [i] W0CHP PiStar-Dash Installer Command Usage:
    
      -h,   --help                  :  Display this help text.
    
    
      -id,  --install-dashboard     :  Install W0CHP dashboard.
    
    
      -idc  --install-dashboard-css :  Install W0CHP dashboard,
                                       WITH custom stylesheet.
    
      -rd,  --restore-dashboard     :  Restore original dashboard.
    
    
      -s,   --status                :  Display current install; original,
                                       or W0CHP installations.
    
  4. When ready to install, run the above command again with the option/argument you wish…e.g:

    curl -Ls https://w0chp.net/WPSD-Install | sudo env NO_SELF_UPDATE=1 bash -s -- -id
    

    (…to install the dashboard without the W0CHP custom CSS)

  5. When the installer completes, refresh your dashboard home page to see the changes.

You must run the aforementioned commands with the exact syntax. Note the spaces and extra -- (dashes), etc. Otherwise, the commands will fail.

Installing W0CHP-PiStar-Dash from a Bullseye-based Disk Image

Yes, you read that correctly; the W0CHP-PiStar-Dash disk image uses “Bullseye” as the core operating system; far newer and better than the legacy “Buster”-based OS that Pi-Star uses.

However, you had better be damn-well familiar working with xz decompression, disk imaging, and setting up Pi-Star from scratch; because I will not cover any of that here; as it is all very well-redundantly-documented all over the ’net.

The Bullseye disk image is ready-to-go; with Pi-Star 4.1.6 and W0CHP-PiStar-Dash installed.

Note that this disk image is for RaspberryPi-based platforms.

You will need an SD card of at least 4GB to install this disk image.

HINTS:

  1. When first booting from the Bullseye-based disk image, go grab a coffee, drink, etc., perhaps even with friends (if you have any), and let the file-system auto-expand and the rest of the system initialize. Be patient.
  2. When installing from the Bullseye-based disk image, it’s a best practice (and better) to run an update before making configuration changes to your hotspot. This ensures that configuration changes you make are the most tested and up-to-date.

Updating W0CHP-PiStar-Dash

Once you install W0CHP-PiStar-Dash, it will automatically be kept up-to-date with any new features/versions/etc. This is made possible via the native, nightly Pi-Star updating process.3

You can also manually invoke the update process via the dashboard admin section (Admin -> Update), or by command line:

sudo pistar-update

Uninstalling W0CHP-PiStar-Dash

Super-simple…

  1. Run:

    sudo WPSD-Installer -rd
    

    …And the original Pi-Star Dashboard will be restored.

Features, Enhancements and Omissions (not an exhaustive list)

Functionality Features

  • Full M17 Protocol Support. (See M17 Notes below…)
  • Full APRSGateway Support: Selectable APRS Data Sharing with specific modes.
  • Full DGId Support.
  • Selectable DMR Roaming Beacon Support: Network or Interval Mode (or disabled).
  • “Live Caller” screen; similar to a “virtual Nextion screen”; displays current caller information in real-time.
  • Current/Last Caller Details on Main Dashboard (name/location, when available).
  • Talkgroup Names display in target fields (Brandmeister DMR, NXDN and P25 support only).
  • YSF/NXDN/P25 link managers gives the ability to change links/rooms on-the-fly, rather than going through the large (and slow) configuration page.
  • “XLX DMR Link Manager” allows fast switching of XLX reflectors and modules, as well as unlinking from modules to “pause” traffic.
  • Searchable drop-downs for massive host lists in configuration/admin pages. E.g. D-Star Refs., YSF Hosts, XLX Hosts, DMR Hosts, etc.
  • BrandMeister Manager revamps galore:
    • Now displays connected actual talk group names.
    • Connected dynamic talk groups now display idle-timeout time (due to no TX).
    • Added ability to mass-drop your static talk groups; and mass re-add the previously linked static talk groups.
    • Added ability to batch add/delete up to 10 static talk groups at a time.
  • TGIF Manager; now displays connected actual talk group names. (NOTE: Since TGIF has moved to a new platform with no API available, this currently does not work until TGIF’s API is made available.)
  • “Instant Mode Manager” added to admin page; allows you to instantly pause or resume selected radio modes. Handy for attending nets, quieting a busy mode, to temporarily eliminate “mode monopolization”, etc.
  • “System Manager” added to admin page; allows you to instantly:
    • Disable / Enable the intrusive and slow Pi-Star Firewall.
    • Disable / Enable Cron, in order to prevent updates and Pi-Star services restarting during middle-of-the-night/early AM operation.
    • Enable / Disable Pi-Star Remote and Pi-Star Watchdog
  • Ability to configure POCSAG hang-time from the config page.

User Interface / Design Features

  • Updated user interface elements galore, styling, wider, bigger, updated fonts, etc.
  • Country-of-origin flags for callsigns.
  • Improved and graphical CSS/color styling configuration page; easily change the look and feel of the dashboard.
  • User-Configurable number of displayed Last Heard dashboard rows (defaults to 40, and 100 is the maximum).
  • User-Configurable font size for most of the pertinent dashboard information.
  • Reorganized and sectioned configuration page for better usability.
  • System process status reorganized into clean grid pattern, with more core service status being displayed.
  • User-Configurable 24 or 12 hour time display across the dashboard.
  • Connected FCS and YSF reflector names and numerical ID both displayed in dashboard left panel.
  • Additional hardware, radio and system information displayed in top header; which can be toggled.
  • Admin page split up into logical sub-sections/sub-pages, in order to present better feedback messages when making changes.
    • Note: Last-Heard and other dynamic tables are hidden in the admin sections by default, allowing users to focus on the tasks-at-hand and their outputs. The Last-Heard data can be toggled in these areas, however.

Features in Official Pi-Star Which are Intentionally Omitted in W0CHP-PiStar-Dash

  • Upgrade notice/nag in header (unnecessary and a hacky implementation). This has been replaced by my own unobtrusive dashboard update notifier; displayed in the upper-right hand side of the top header.
  • “GPS” link in Call Sign column of dashboard (superfluous and unreliable).
  • Selectable Call Sign link to either QRZ.com or RadioID.com (both services suck, and the implementation of this feature is poor and unintuitive. Left the original function linking to QRZ.com).
  • CPU Temp. in header; when CPU is running “cool” or “normal” recommended temps, the cell background is no longer colored green. Only when the CPU is running beyond recommended temps, is the cell colored orange or red.
  • No reboot/shutdown nag screen/warning from admin page (Superfluous; you click it, it will reboot/shutdown without warning.).
  • Yellow DMR Mode cell in left panel when there’s a DMR network password/login issue (poor/inaccurate and taxing implementation, and can confuse power users that utilize my Instant Mode Manager, where the default cell is amber colored for paused modes [color is user-configurable].). Instead, the actual network name is highlighted in red when there’s a login issue (courtesy of F1RMB’s excellent code).

Notes about CSS, and custom CSS you may have previously applied

  1. When using the -id option, the “normal” Pi-Star colors are used, and no CSS is installed. Any custom CSS you may have had, is removed but backed up. See bullet #4 below.

  2. When using the -idc option, the W0CHP CSS is installed, and any of your custom CSS settings before installing the W0CHP dashboard, are backed up in the event you want to restore the official dashboard (see bullet #4). This is done because the CSS in the official Pi-Star is incompatible. You can still manually map/change your CSS back when running W0CHP-PiStar-Dash (see bullet #4 for details).

  3. If you are already running W0CHP-PiStar-Dash, AND you have custom or W0CHP-PiStar-Dash CSS, no CSS changes, no matter which option you run this command with.

  4. When using the -id option, your custom CSS settings are backed up (in the event you want to revert back to the official dashboard – see bullet #6), and the W0CHP dashboard uses the standard Pi-Star colors. This means that if you want your previous custom CSS applied to the W0CHP dashboard, you will need to manually customize your colors; You can reference the color values you had previously used, by viewing the backup file of your custom CSS…

     /etc/.pistar-css.ini.user
    
  5. …the reason for bullets #4 and #1, is because the W0CHP dashboard is vastly different than the official upstream version (completely different CSS mappings). Since this is for my personal use, I haven’t added any logic to suck-in the user CSS values to the new mappings.

  6. If you had customized CSS settings before installing the W0CHP dashboard, they will be restored when using the -rd option.

  7. You can at any time start over and reset to the “normal” Pi-Star colors, by performing a CSS Factory Reset (Configuration -> Expert -> Tools -> CSS Tool).

  8. If you’d like to start over with the custom W0CHP colors/CSS, you can copy/paste the following values into your /etc/pistar-css.ini.

Notes about M17 Protocol Support

M17 protocol support requires updated MMDVM Modem Firmware or MMDVM HotSpot Firmware of at least v1.6.0. Ergo, you will need to download, compile and install the MMDVM modem firmware or the MMDVM hotspot firmware yourself in order to gain full M17 protocol support.

Please note, that if you uninstall W0CHP-PiStar-Dash, you will need to downgrade the MMDVM modem or hotspot firmware back to its original firmware. For MMDVM HS HAT users, you can simply run the following command:

sudo pistar-mmdvmhshatdowngrade

Failure to downgrade the modem firmware when uninstalling W0CHP-PiStar-Dash will result in a non-functional hot spot, since the official current Pi-Star MMDVMHost binary is not compatible with newer MMDVM firmware.

Screenshots

Not all pages shown here. Note, that you can customize the colors to your preferences…

Main Dashboard

BrandMeister Manager

Live Caller Screen

Installation Demo Video

ChangeLog

Displayed below, is a live ChangeLog, pulled from the source code repository upon page load. Displayed are the last 20 changes. For the full change history, you will want to browse the entire commit/change history.

4a2fe4609c - (2 days ago) * Minor: tweak OS info on admin/sysinfo a tad - Chipster (HEAD -> master)
admin/sysinfo.php | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

0c231d04f4 - (2 days ago) * Intermediate: gave the DstarRepeater-only (non MMDVMHost) interface/mode a little love; fixed bug where D-Star link manager was not always being displayed, fixed erroneous config update message, and small UI tweaks and logic specific to dstarrepeater-only mode. Thanks Jason E. for informing me about these bugs and testing with me! - Chipster
admin/config_backup.php | 4 +++-
admin/configure.php | 2 ++
admin/expert/header-menu-disabled.inc | 2 ++
admin/expert/header-menu.inc | 4 +++-
admin/expert/ssh_access.php | 5 +++--
admin/live_modem_log.php | 4 +++-
admin/power.php | 4 +++-
admin/sysinfo.php | 4 +++-
admin/update.php | 4 +++-
config/changelog.php | 2 ++
dstarrepeater/last_heard.php | 6 +++---
dstarrepeater/local_tx.php | 9 ++++-----
index.php | 13 ++++++++-----
13 files changed, 42 insertions(+), 21 deletions(-)

659a9471e6 - (2 days ago) * Minor: tweak TG name display toggle sw. icon - Chipster
css/pistar-css.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

1519bd8af0 - (2 days ago) * Minor: improve log parsing perf. - Chipster
mmdvmhost/functions.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

2fe3b30a3e - (3 days ago) * Minor: fixup NXDN and P25 connection/link status login in side panel - Chipster
mmdvmhost/repeaterinfo.php | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)

26813c8f6f - (5 days ago) * Minor: cleanup version info in subhead - Chipster
admin/config_backup.php | 2 +-
admin/configure.php | 2 +-
admin/expert/header-menu-disabled.inc | 2 +-
admin/expert/header-menu.inc | 2 +-
admin/expert/ssh_access.php | 2 +-
admin/live_modem_log.php | 2 +-
admin/power.php | 2 +-
admin/sysinfo.php | 2 +-
admin/update.php | 2 +-
config/changelog.php | 2 +-
config/version.php | 2 +-
index.php | 2 +-
12 files changed, 12 insertions(+), 12 deletions(-)

e16ee4c57f - (6 days ago) * Minor: fix typo in hw_info - Chipster
dstarrepeater/hw_info.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

061a4e47ca - (6 days ago) * Minor UI tweaks; assign classes/selectors to pre-header - Chipster
admin/config_backup.php | 2 +-
admin/configure.php | 4 ++--
admin/expert/header-menu-disabled.inc | 2 +-
admin/expert/header-menu.inc | 2 +-
admin/expert/ssh_access.php | 4 ++--
admin/live_modem_log.php | 2 +-
admin/power.php | 2 +-
admin/sysinfo.php | 2 +-
admin/update.php | 2 +-
config/changelog.php | 2 +-
css/pistar-css.php | 14 ++++++++++++++
index.php | 4 ++--
12 files changed, 28 insertions(+), 14 deletions(-)

75d1348f74 - (6 days ago) * Minor: Merge pull request "Question mark typo correction in Repeater information and Edit Repeater (Brandmeister Selfcare) link to Brandmeister" (#37) from yo5vlz/W0CHP-PiStar-Dash:master into master - W0CHP
8d6741ea8f - (6 days ago) Question mark typo correction in Repeater information and Edit Repeater (Brandmeister Selfcare) link to Brandmeister - Levente Varga
admin/configure.php | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

47b249caa7 - (8 days ago) * Minor: fixed bug to QRZ link when call had non-alpha chars. - Chipster
mmdvmhost/lh.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

9a3b666b0b - (8 days ago) * Minor: UI; added "Search" placeholder to all searchable dropdowns - Chipster
admin/configure.php | 27 +++++++++++++------------
index.php | 11 +++++-----
js/select2/js/select2-searchInputPlaceholder.js | 23 +++++++++++++++++++++
3 files changed, 43 insertions(+), 18 deletions(-)

1b4a7e9ca9 - (8 days ago) Minor: readme update - Chipster
README.md | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)

e304c312fc - (9 days ago) * Minor: enhance system/platform details a bit in the CPU load hover tool(just the)tip. - Chipster
dstarrepeater/hw_info.php | 5 +++--
index.php | 14 +++++++-------
2 files changed, 10 insertions(+), 9 deletions(-)

334e111f78 - (10 days ago) * Minor: UI improvements to update notifier; network traffic tooltip info. - Chipster
css/pistar-css.php | 6 +++---
dstarrepeater/hw_info.php | 6 ++++--
2 files changed, 7 insertions(+), 5 deletions(-)

1bb475416e - (10 days ago) * Minor: improve handling and display logic for callsigns with various suffix types from differnt digital modes - Chipster
mmdvmhost/lh.php | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)

70f52efd31 - (11 days ago) Minor: clean up sysinfo pane/header; place add"l mem/disk details in tooltip hover class - Chipster
dstarrepeater/hw_info.php | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

5b989bc6da - (11 days ago) * Minor: update live caller table and screen to clean up "target" strings - Chipster
mmdvmhost/live_caller_backend.php | 6 +++++-
mmdvmhost/live_caller_table.php | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)

a5d1782d64 - (12 days ago) * Minor: docs/readme update - Chipster
README.md | 40 +++++++++++++++++++++++++---------------
1 file changed, 25 insertions(+), 15 deletions(-)

4e9c5f0f9b - (12 days ago) * Minor: Log Manager reliability tweak - Chipster
admin/expert/log_manager.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Credits

Of course, most of the credit goes to the venerable and skilled, Andy Taylor, MW0MWZ, for creating the wonderful Pi-Star software in the first place.

Credit also goes to the awesome Daniel Caujolle-Bert, F1RMB, for creating his personal and customized fork of Pi-Star; as his fork was foundational and inspirational to my W0CHP-PiStar-Dash.

The USA callsign lookup fallback function uses a terrific API, callook.info, provided by Josh Dick, W1JDD.

The callsign-to-country flag GeoLookup code was adopted from xlxd… authored by Jean-Luc Deltombe, LX3JL; and Luc Engelmann, LX1IQ. I run an XLX(d) reflector, plus, I was able to adopt some of its code for W0CHP-PiStar-Dash, ergo, I am very grateful. The excellent country flag images are courtesy of Hampus Joakim Borgos.

Credit must also be given to to Kim Heinz Hübel; DG9VH, and Hans-Juergen Barthen; DL5DI, both of whom arguably created the very first MMDVM and ircDDBGatweay dashboards (respectively); of which, spawned the entire Pi-Star concept.

The very cool and welcome MMDVMhost log backup/restore and re-application on reboot code, is courtesy of Mark, KN2TOD.

So much credit goes toward the venerable José Uribe (“Andy”), CA6JAU, for his amazing work and providing the game-changing MMDVM_HS hotspot firmware suite, as well as his MMDVM_CM cross-mode suite.

Lastly, but certainly not least; I owe an enormous amount of gratitude toward a true gentleman, scholar and incredibly talented hacker…Jonathan Naylor, G4KLX; for the suite of MMDVM and related client tools. Pi-Star would have no reason to exist, without Jonathan’s incredible and prolific contributions and gifts to the ham community.


  1. W0CHP-PiStar-Dash was not created for single-core and low-powered hardware; such as the first generation RPi Zero, etc. (armv6l). This software will run very slow on under-powered hardware. Please consider yourself warned. Also, please ignore all of the idiot hams on various support mediums saying, “anything more than a Pi Zero is overkill”. These ignoramuses have no idea what goes on under the hood in order to display meaningful info on the dashboard. Hint: it’s a lot, and it’s very resource-intensive. Ignore them…they are dumb and they have no idea what they are talking about. 

  2. Piping to bash/shells/etc. from an online source is controversial (do a google search about it). However it’s convenient, and one can view & inspect the full & actual source code of the installer prior to piping to bash or installing. 

  3. W0CHP-PiStar-Dash occasionally queries the git repository server in order to determine if updates are available. In the spirit of full-disclosure, I wanted to mention this. This is no different than how the official Pi-Star software functions (but doesn’t make this well-known). Additionally, every W0CHP-PiStar-Dash installation has a unique UUID generated for it; for web/repo-traffic capacity planning/analytics, as well as for troubleshooting purposes. You can find the unique UUID within the /etc/pistar-release file. 

Ver. # f6bfc5f - Document last updated: 11/29/2022
[ Permanent Link ]