Pi-Star notes

By Toshen, KEØFHS (CC BY-SA)

a) Pi-Star: sites

b) Pi-Star: forums & groups

c) Pi-Star: articles

d) Pi-Star: presentations

e) Pi-Star: videos

f) Pi-Star: hardware & software

g) Pi-Star: tools

1) SSH Access to Pi-Star

You can use SSH to access Pi-Star directly from the Pi-Star Expert Editor:

  1. Enter Expert Editor: pi-star.local/admin/expert.
  2. Click SSH Access and log in.
    To use the full screen version of the SSH Access client, click the "fullscreen SSH client" link at the bottom of the window and log in.

Alternatively, use a standalone SSH app. Using a standalone SSH app is recommended for running Pi-Star updates and upgrades:

Some SSH commands that can be run:

See also:

2) Port forwarding

Port forwarding is becoming less necessary for hotspots, but may be needed for QuadNet Smart Group and some X-Reflectors (XRF).


3) Radio/modem types supported

4) Entering read-write mode

By default, Pi-Star is in read-only mode. To toggle:

  1. Log into Pi-Star via SSH.
  2. To enable read-write mode:
  3. To re-enable read-only mode:

5) Running commands as the root user

To run commands as the root user:

  1. Log into Pi-Star via SSH.
  2. Run a single command as the root user:
    sudo [cmd]
    for example:
    sudo pistar-update

To switch user (su) to the root user:

  1. Log into Pi-Star via SSH.
  2. Switch to the root user:
    sudo su
    – or –
    To switch to the root user and to the root folder:
    sudo su -

There's a good answer about sudo su and related commands on AskUbuntu.com⩘ .

6) Expanding the root partition

Pi-Star runs in read-only mode and takes up very little space on the microSD card. If used for a hotspot, 4 GB is more than enough space. If used for a repeater or you want to put other apps on the card, 8 GB is probably better, and you should expand the available space.

In Raspbian, the command to expand the root partition to fill the SD card is sudo raspi-config, but that doesn't work for Pi-Star because of the read-only file system; instead, run the Pi-Star expand command:

  1. Log into Pi-Star via SSH.
  2. Optionally, look at the pre-expansion disk space used by the file system in human-readable format (pay attention to the /dev/root numbers):
    df -h
  3. Expand the root partition:
    sudo pistar-expand
    (Note: "pistar" with no hyphen)
  4. Reboot Pi-Star.
  5. Optionally, look at the post-expansion numbers.

As an example, when I ran Pi-Star expand command on the root partition on my 16 GB microSD card to test it out, I ended up with 1.28 GB used (9%) and 13.37 GB free.

7) Manually adding or overriding repeaters and reflectors

Pi-Star updates the lists of reflectors and repeaters stored in the hosts files (/usr/local/etc) nightly, but there may be times when you want to use one that isn't listed or override an incorrect entry. In this case, you can add it manually to the override hosts file in the /root directory. (Note: Report the incorrect entry in the Pi-Star Users Support Group⩘  so that it can be corrected in the files generated by the update server.)

  1. Log into Pi-Star via SSH.
  2. Enable read-write mode:
  3. Switch user to root user:
    sudo su
  4. Change directory to /root:
    cd /root
  5. Edit the appropriate hosts file, for example:
    nano DExtra_Hosts.txt
    Note: The filename, including capitalization, must be exact.
    Also available: DCS_Hosts.txt, DMR_Hosts.txt, DPlus_Hosts.txt, and P25Hosts.txt. To change XLX default rooms, see below: Method for overriding default XLX rooms,
  6. Make your changes, write out the changes (^O), and exit (^X).
  7. Exit superuser mode:
  8. Re-enable read-only mode:

Here's an example of the file for adding a DPlus entry.

# #
# DPlus_Hosts.txt - Overrides #
# #
# #
# Add your over-ride lines below, #
# following the example #
# please make sure that lines are tab #
# delimited and NOT space delimited. #
# #
# Adding a capital L to the end of the #
# line will force the entry in this #
# file to override any duplicates #
# in the Pi-Star host files.#
# #
# #
# Reflector IP/Hostname Lock #
#REF000 L
XRF005 L

7a) Method for overriding default XLX rooms

XLX reflectors are set up with default rooms (A, B, C, etc.). There's a method for overriding these default rooms in Pi-Star. Per Andy Taylor in the Pi-Star Users Support Group:

  1. Log into Pi-Star via SSH.
  2. Switch user to root user:
    sudo su
  3. Change directory to /usr/local/etc:
    cd /usr/local/etc
  4. Look up parameters for the XLX master you want to override, for example, if it's XLX313, the parameters are:
  5. 313;;4001
  6. Change directory to /root:
    cd /root
  7. Enable read-write mode:
  8. Create or edit the override XLXHosts file:
    nano XLXHosts.txt
    Note: The filename, including capitalization, must be exact.
  9. Add lines for only the XLX masters you want to modify, for example, if you want to modify XLX313 to use room B (4002) instead of A (4001):
    Note: Punctuation must be exact (use semicolons between parameters).
  10. Exit the nano editor and save your changes.
  11. Exit root user:
  12. Enable read-only mode:
  13. Run an update:
    sudo pistar-update

8) Performing firmware updates via Pi-Star

It's possible to update the firmware of several hotspot boards via Pi-Star.

PDF version of this note:  3-Pi-Star_firmware_update.pdf⩘ 

These instructions are for hotspots. For updating firmware on MMDVM repeaters, see the Pi-Star Wiki article: Headless MMDVM Firmware Building⩘ .

8a) Updating MMDVM_HS Hat, ZUMspot, etc.

When you first enter one of the following commands, you'll see a message showing the current version of firmware that is installed on your hotspot, for example:
MMDVM_HS_Hat-v1.3.3 20180224 ADF7021 FW by CA6JAU GitID #d90263f
Press any key to write the hs_hat firmware to this modem or Ctrl-C to quit…

If you press any key to continue, the next thing you'll see is a message about the new version of firmware that is being installed, for example:
Flashing your hs_hat modem to the latest version
--2018-05-23 08:41:20-- http://github.com/juribeparada/MMDVM_HS/releases/download/v1.3.6/ install_fw_hshat.sh

For the ZUMspot and MMDVM_HS Hat firmware, you can find release notes on the Github page: juribeparada/MMDVM_HS⩘ .

Digital mode configuration settings - D-STAROnce the firmware update is complete, you can see the new version in the Radio Info module on the Pi-Star Dashboard or Admin pages.

  1. Log into Pi-Star via SSH.
  2. Run a Pi-Star Update:
    sudo pistar-update
  3. Run one of the following commands:
    Note: It isn't necessary to first put Pi-Star into read-write mode (rpi-rw); the script takes care of that.
    • ZUMspot board connected to GPIO:
      sudo pistar-zumspotflash rpi
    • ZUMspot duplex board connected to GPIO:
      sudo pistar-zumspotflash rpi_duplex
    • ZUMspot USB key:
      sudo pistar-zumspotflash usb
    • USB-connected Libre Modem:
      sudo pistar-zumspotflash libre
    • MMDVM_HS_Hat board connected to GPIO:
      sudo pistar-mmdvmhshatflash hs_hat
    • MMDVM_HS_Hat board with 12.288 MHz TCXO1 connected to GPIO:
      sudo pistar-mmdvmhshatflash hs_hat-12mhz
    • MMDVM_HS_DUAL_Hat board connected to GPIO:
      sudo pistar-mmdvmhshatflash hs_dual_hat
    • Nano Hat board connected to GPIO:
      sudo pistar-nanohsflash nano_hs
    • BD7KLE/BG3MDO devices:
      sudo pistar-mdoflash
  4. A prompt will tell you to press any key to begin.
  5. When the update is finished, another prompt will tell you to press any key to reboot Pi-Star. Be patient, this step takes a bit of time during which it doesn't look like anything is happening.

[1] TCXO = Temperature Compensated Crystal Oscillator

8b) Updating DVMEGA mounted on an RPi

Note: This method originally was introduced by Tony Corbett, G0WFV, on his Radio Geek blog: HOW-TO Update DVMega firmware without a programmer or an Arduino⩘ . Subsequently, Andy Taylor adapted Tony's method for using with Pi-Star. What follows is a summary of Andy's adaption. For full details, including all the messages you'll see in Pi-Star while going through these steps, see Andy's post in the Pi-Star Wiki: Flash your DV-Mega from Pi-Star⩘ .

This process works in Pi-Star's default Read-Only mode.

  1. For updating the DVMEGA firmware using a Raspberry Pi 3, solder a jumper wire between the ATMEGA328 reset pin and GPIO header Pin 7.
    - - - - - - - - - - - - - - -
    Important! This jumper configuration is for use only when using the Raspberry Pi for updating the firmware. When using the BlueStack board, there is a different configuration and method (see Updating DVMEGA firmware using a BlueStack board⩘ ).
    - - - - - - - - - - - - - - -
    Important! Soldering a DVMEGA and updating its firmware are at your own risk. The only thing that is guaranteed is that if you wreck your DVMEGA doing this, then you own a wrecked DVMEGA.
    - - - - - - - - - - - - - - -
    Note: You can leave the soldered jumper wire in place after updating the firmware, making subsequent updates much easier.
    Illustration of DVMEGA-DUAL board showing where to connect the jumper wire for firmware update using the RPi
    Photo DVMEGA board showing the jumper wire in place
    Illustration of DVMEGA-DUAL board showing where to connect the jumper wire for firmware update using the RPi
  2. SSH into your Pi-Star.
  3. Change directory to tmp:
    pi-star@pi-star(ro):~$ cd /tmp
  4. Download the imaging tools:
    pi-star@pi-star(ro):tmp$ wget --tries=3 http://www.pistar.uk/downloads/dvmega-flash-tools.zip
  5. Download the DVMega firmware update file:
    To find the latest firmware version, visit the DVMEGA Downloads⩘  page and look in the section for BlueDV-MMDVMhost, Raspberry Pi based.
    pi-star@pi-star(ro):tmp$ wget --tries=3 http://www.dvmega.auria.nl/images/DVMEGA_RH_V###_UNO.zip
    where ### is the firmware update version.
    - - - - - - - - - - - - - - -
    Note 1: I added --tries=3 after I ran into a problem with the DVMEGA site being unavailable the first time I tried this. The retries kept happening and each one took a long time, so this step seemed to be in an unending loop. I ended up rebooting the device to break the looping. Turns out the default for wget⩘  (web get) is 20 retries, which seems excessively high to me for this operation.
  6. Unzip both imaging tools and firmware files to the dvmega directory:
    pi-star@pi-star(ro):tmp$ unzip -d dvmega dvmega-flash-tools.zip
    pi-star@pi-star(ro):tmp$ unzip -j -d dvmega DVMEGA_RH_V319_UNO.zip
    where ### is the firmware update version.
    Note: The -d switch causes the files to be extracted into the dvmega folder. The -j switch extracts files into the current folder without the folder structure in zip file being recreated.
  7. Change directory to dvmega:
    pi-star@pi-star(ro):tmp$ cd dvmega/
  8. Run the script:
    pi-star@pi-star(ro):dvmega$ sudo ./flash_gpio.sh
  9. When the script is finished, you'll see:
    strace: |autoreset: Broken pipe
    Once flashing has been completed, you should reboot your Pi-Star
  10. Reboot Pi-Star:
    pi-star@pi-star(ro):dvmega$ sudo reboot
    (or you can exit the SSH session and reboot from the Pi-Star dashboard).

9) Fine tuning for high BER

If you're experiencing high (greater than 1%) Bit Error Rate (BER) with your radio, you can try reducing it by adjusting the RX Offset:

  1. Set up Pi-Star with the MMDVMHost Configuration Mode you want to use. Be sure to apply changes.
  2. The best way to work on this is to have Pi-Star open in two browsers:
    1. Set up the first to view the Expert Editor, where you'll do the adjustments
      1. Enter Expert Editor: pi-star.local/admin/expert.
      2. Click MMDVMHost.
      3. Scroll down to the Modem section and find the RXOffset setting.
    2. Set up the second to view the dashboard so you can view the resulting BER readings.
  3. The easiest thing to do is to make calls lasting a couple seconds to a Parrot talkgroup or reflector.
  4. In the Expert Editor, adjust the RXOffset setting, make a parrot call, and observe the readings.
    1. Begin with +/-100 offsets, and see how that affects the BER.
    2. Once you find the lowest BER with the +/-100-step offsets, repeat the process with +/-50-step offsets, and finally +/-10-step offsets until you find the lowest BER.
    3. You're aiming for a BER of less than 1%.
  5. Repeat this process in each MMDVMHost Configuration Mode in which you're experiencing high BER, until you achieve the optimal BER in each one.

10) Manually adding WiFi settings to RPi

After burning the Pi-Star image to microSD card, you can manually add the WiFi settings you want used so that they'll auto-install on first boot up:

  1. Create a wpa_supplicant.conf file. I used NotePad++⩘  for this. The file should contain:
    • ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

      Note: JP is the default country code because it has the broadest selection of channels.
  2. Optionally, you can add additional WiFi connections in the same way:
    1. The first WiFi connection should have an ID of 0 and a priority of 100:
      • id_str="0"
    2. For each additional WiFi connection, increment the ID by one and decrement the priority by one, for example, for the second WiFi connection:
      • id_str="1"
  3. After flashing the Pi-Star image to the microSD card, eject it, and then reinsert it. Cancel the Windows message about formatting the card.
  4. Copy the wpa_supplicant.conf file into the root folder of the microSD card, and then eject it again.
  5. Insert the microSD card into the RPi. Upon boot-up, the file is moved to:
    and becomes the installed wireless network settings.
  6. If necessary, you can subsequently change the wireless network settings (add, edit, or delete) via Wireless Configuration⩘  in Pi-Star's Configuration view, or via WiFi Config in Pi-Star's Expert Editor.

11) Connecting a Pi-Star hotspot via cell phone

You also can connect a Pi-Star hotspot to a cell phone, wirelessly or via USB tethering. This makes it possible to easily create a mobile hotspot.

Important! Make sure your battery pack or power supply provides enough amperage to your hotspot; otherwise, it may not work or may work erratically. This is always the case with hotspots, but since connecting a hotspot to a cell phone is often done to make the hotspot mobile, and a battery pack is often used in that case, it's worth emphasizing this.
- - - - - - - - - - - - - - -
Note: I had to turn off the VPN service that was running on my Android phone before I was able to connect to the Pi-Star dashboard via the phone's hotspot connection, whether the connection was via WiFi or USB tethering.

11a) Connecting via WiFi

  1. If you haven't already, set up your phone's hotspot with a name and password. Important! Don't use special characters in your phone's WiFi Hotspot network name (SSID). They can prevent connection.
  2. Add your phone's hotspot name and password to Pi-Star.
  3. Turn on your phone's portable hotspot.
  4. Turn on your Pi-Star hotspot and give it time to connect wirelessly to your phone's hotspot.
  5. In your phone's browser, open the Pi-Star dashboard. On some phones you may be able to use http://pi-star/ or http://pi-star.local/ to connect, but on many phones, like my Android phone, you must use the connected hotspot's IP address.
    - - - - - - - - - - - - - - -
    Note 1: Some Android phones show a list of connected devices on the hotspot settings page, and you can tap a listed device to see its IP address (thanks to Mike, KD2IFF, for this hint), but my phone doesn't have this feature, so I use the IP Tools: WiFi Scanner⩘  Android app's LAN Scanner tool to find the IP address that my RPi uses to connect to my Android hotspot, and then use that IP address in my Android browser to connect to the Pi-Star dashboard. (I chose IP Tools: WiFi Analyzer because it doesn't install excessive personal data permissions, which is important to me.)
    - - - - - - - - - - - - - - -
    Note 2: If your RPi is connected to a monitor and keyboard, you can also run ifconfig. In the returned results, look for the IP address for USB 0.

11b) Connecting via USB tethering

Note: John, K1WIZ, posted in the Pi-Star Users Support Group introducing the idea of using USB tethering with a hotspot running Pi-Star: "This allows your hotspot to use the USB connection (instead of WiFi) so that your battery stays charged and isn't drained. Also, using USB is far superior to using WiFi to tether to a phone with a data plan—WiFi is half duplex, whereas the 'Ethernet over USB' is full duplex."

  1. Plug your Pi-Star hotspot into your phone via USB, and then turn on the Pi-Star hotspot.
  2. Different models of phones will behave differently. On my Android phone, I get a notification that the phone is being powered via USB. Once I see that, message, the USB tethering option is enabled in Settings ⟩ Network & Internet ⟩ Hotspot & tethering, and I can turn it on.
  3. In your phone's browser, open the Pi-Star dashboard. On some phones you may be able to use http://pi-star/ or http://pi-star.local/ to connect, but on many phones, like my Android phone, you must use the connected hotspot's IP address. See the note above about IP Tools: Network Utilities.

Note: Thanks to Carty, KA2Y, for sharing his experiences setting up USB tethering with me, which helped me improve these notes.

12) Re-syncing system time and changing date format

Forcing RPi system time re-sync

The RPi uses Network Time Protocol (NTP) to synchronize its clock to UTC. In some cases, the time may get out of sync. In that case, you can simply restart the RPi and the NTP daemon should re-synchronize to UTC. If necessary, you can force a manual re-synchronization via Pi-Star:

  1. Log into Pi-Star via SSH.
  2. sudo systemctl stop ntp.service
    sudo ntpdate pool.ntp.org
    sudo systemctl start ntp.service

Changing the date format

There may be times when you want to change the way a date is displayed, for example, if you're using a Nextion screen. This can't be done via Pi-Star Configuration; instead, you must configure the system Locales setting.

  1. Log into Pi-Star via SSH.
  2. Enable read-write mode:
  3. Open the locales configuration utility
    sudo dpkg-reconfigure locales
  4. When the Configuring locales window opens an introductory message is displayed. (If your screen is small, proceed to the next screen by pressing Enter to select Ok.)
  5. A list of locales is displayed. Use the arrow keys to navigate to the locale(s) you want generated for the system. Press the Space Bar to select or deselect a locale.
    Note: For both of my installation of Pi-Star, two locales were enabled by default were en_GB.UTF-8 and en_US.UTF-8.
  6. Once you have selected the locale(s) you want generated for the system, press Tab to select Ok (or Tab again to select Cancel), and then press Enter.
  7. A message about default system locales is displayed. (If your screen is small, to proceed to the next screen by pressing Enter to select Ok.)
  8. A list of your selected locales is displayed. Use the arrow keys to highlight the locale you want to use as the default system locale, press Tab to select Ok (or Tab again to select Cancel), and then press Enter.
  9. You'll be returned to the SSH command line. Wait for the system locales to be generated.
  10. When the process is complete, reboot Pi-Star:
    sudo reboot
    Note: I tested this a lot of times in various ways. If I used Pi-Star's built-in SSH Access client, it all worked fine. If I used an external SSH client, after rebooting, when I returned to the Pi-Star dashboard in my browser, MMDVMHost would stop running, and I needed to power off the hotspot and then restart it to get things working properly, including the new locale.

13) DMRGateway notes

Setting up and using DRMGateway is significantly more complex than simply setting up a single DMR Master for one of the systems: BrandMeister, DMRPlus (a.k.a., DMR+), and XLX.

Auto-connecting to DMR talkgroups

Per Andy Taylor in the Pi-Star Users Support Group: "DMR Talkgroups - those are controlled by the master (rather than the client). On DMR+, you need to use the options line; on BrandMeister, you need to sign up for self-care and set them using their nifty app [ed note: the app is named: My hotspots]." For related info, see the following note: Pi-Star's BrandMeister Manager module.

A DMR+ example per Andy Taylor in an answer in the Pi-Star Users Support Group – If you don't want to auto-connect to a talkgroup (when Pi-Star is set up as a hotspot):

And another example – To set up a DMR+ auto-connect, for example, to 4409:

DMR reflectors, talkgroups 6, 8, and 9

On the DMR network, DMR reflectors⩘  enable DMR repeaters to be dynamically connected, similar to how reflectors work on D-STAR. When DMRGateway is enabled, XLX reflector traffic uses talkgroup 6, DMR+ reflector traffic uses talkgroup 8, and BrandMeister uses talkgroup 9.

DMR reflector XLX950

XLX950⩘  is a Multi-protocol Gateway developer platform hosted by DVC, and provides a bridge between DMR and D-STAR. XLX950 talkgroups 4001 - 4026 are bridged to XRF950 modules A - Z:

See also the notes:

As usual, Craig, W1MSG, has a good video about all of this: DMRGateway⩘ .

14) D-STAR routing

The QuadNet2 USA IRC Network⩘  team is doing some good work on D-STAR routing, and Pi-Star works well with QuadNet. An excerpt from the QuadNet Mission Statement:

We are an open ircDDB routing network that doesn't require registration. We contend that valid Amateur Radio license is enough to operate on the QuadNet2 USA IRC Network. We do not require a special club or repeater call sign for use on the network. As long as the call sign is valid and being legally used, we fully support your use of dongles, hotspots and repeaters (both homebrew and ICOM) on the QuadNet network. The purpose of QuadNet is to support ROUTING. Routing is an alternate method of connecting to other D-Star users.

An excerpt from the QuadNet Routing FAQ⩘ :

Routing is a powerful method to connect to individuals, repeaters or groups on a D-STAR network. Routing is a connectionless protocol that does not require a Hosts.txt file to to connect. The QuadNet network server does all the heavy lifting for you. You just have to program your radio with the routes you want to use. If there is an individual, repeater or STARnet Group on the QuadNet network, you should be able to route there just by knowing the call sign, or in the case of Group Routing, a "subscribe call."

There are three kinds of routing:

  1. Call Sign Routing is used to make a person to person connection.…
  2. Zone Routing or sometimes called Repeater Routing will route you radio directly to a repeater on the network. It's just like linking to a repeater, but it's easier to do.…
  3. Group Routing means routing to a STARnet Digital Group. A STARnet Group is kind of like a reflector, but it is actually more like a repeater without the RF transceiver. A STARnet Group can have many individual users "subscribed" to it. Anyone subscribed to a STARnet Group will hear all traffic on the Group.

15) Watchdogs, Remote RF commands, and Keepers

What do these services do, anyway?

Pi-Star Admin console with Watchdog, Remote, and Keeper circled

Per Andy Taylor in the Pi-Star Users Support Group:

PiStar-Watchdog – This does what most watchdogs do, it watches; specifically, it watches the services that relate to radio functions and keeps them running. If you stop say MMDVMHost, the watchdog will see that, and will restart it again within 5 mins. This is less handy than it used to be. I could migrate this functionality to SystemD, but the PiStar-Watchdog has been around for a while, it's an old and trusted friend :)

PiStar-Remote – In the old days, before MMDVMHost was born, ircDDBGateway (D-Star) had the ability to listen for commands via RF; you could command your system to reboot, shutdown, etc., from your radio. Then came MMDVMHost – this feature was missing, and so a need became apparent. PiStar-Remote is my answer to that need. It's far from perfect, but gives you some basic remote control ability via RF, including RF kill switch.

PiStar-Keeper – This service has a VERY specific use… In the UK there is a special class of repeater license that requires the keeper to be present. This service uses bluetooth to watch for the keeper's cell phone, and disables the services when the keeper moves too far away. Like I said, REALLY specific!

Remote Control RF commands

You can access these settings via the Expert Editor's PiStar-Remote tab.

Make sure:

Note: The hostfiles command triggers a request for a host file update.

# Pi-Star Remote config file
# This config file is designed for the Pi-Star Keeper remote control
# The remote control system is designed to give repeater keepers an
# RF KillSwitch for their repeaters.

# Should PiStar-Remote be Enabled? (true|false)

# Keepers Information

# UR fields

# TG commands [Ed note: Use private calls]

# ROOM commands

# P25 Talkgroups are limited to 1->65535

16) Pi-Star's BrandMeister Manager module

If you choose to use BrandMeister, you can register for an account on the BrandMeister Network⩘ , which gives you access to a variety of "SelfCare" information and settings, including access to settings specific to your hotspot via the "My hotspots" menu.

BrandMeister My hotspots menu

If you use that feature, you can turn on Pi-Star's BrandMeister Manager module in order to access some of the key hotspot settings from Pi-Star's Admin view, including: drop calls and dynamic talkgroups, link/unlink reflectors, and add/remove static talkgroups.

BrandMeister Manager

To enable the BrandMeister Manager module, see the instructions on the Pi-Star Wiki: PI-Star integration with BrandMeister API⩘ .

Note: BrandMeister views hotspots as having only one time slot: TSØ. So for hotspots, the BrandMeister Manager time slot options are ignored, and when you make changes, you'll see the status update message refer to "TSØ."

BrandMeister Manager status update message

If Pi-Star is configured for a repeater, the time slot options are used.

17) Adding a custom NXDN reflector to Pi-Star

NXDNGateway was added in Pi-Star v3.4.12.

To add a custom NXDN reflector to Pi-Star, for example, 31672 using port 41500:

  1. Watch the Pi-Star NXDN Upgrades video by Craig, W1MSG.
  2. Refer to the Pi-Star Wiki article: Adding custom firewall rules to Pi-Star.

For reference, here are the steps:

  1. Log into Pi-Star via SSH.
  2. Put Pi-Star into read-write mode:
    pi-star@pi-star(ro):~$ rpi-rw
  3. Add an NXDNHosts.txt (note capitalization) override file to the root folder:
    pi-star@pi-star(rw):~$ sudo nano root/NXDNHosts.txt
  4. Add the following tab-separated entry to NXDNHosts.txt:
    # Ref URL Port
    31672 pi-nxdn.trianglenc.net 41500
    Write out the changes and exit:
    Note: This info, which won't be overwritten by an update, will be appended to the main NXDNHosts.txt file that is stored in the /usr/local/etc folder whenever an update is run.
  5. Create custom firewall rules in the ipv4.fw file:
    pi-star@pi-star(rw):~$ sudo nano root/ipv4.fw
    Add the following two lines to the ipv4.fw file:
    iptables -A OUTPUT -p udp --dport 41500 -j ACCEPT
    iptables -t mangle -A POSTROUTING -p udp --dport 41500 -j DSCP --set-dscp 46
    Write out the changes and exit:
  6. Update the firewall to add your changes:
    pi-star@pi-star(rw):~$ sudo pistar-firewall
  7. Put Pi-Star back into read-only mode:
    pi-star@pi-star(rw):~$ rpi-ro
  8. Run an update:
    pi-star@pi-star(ro):~$ sudo pistar-update
  9. Exit SSH mode:

18) CSS Tool (color party!)

The Expert Editor CSS Tool let's you play around with the color scheme.
(June 2018: This is a beta feature. Not all UI colors can be changed, and it doesn't yet apply to mobile view.)

I feel like a blue color scheme today!

Note: In this example, I changed Background Banners to the web color royalblue (hex value 4169E1) and the Tables HeadDrop to dark gray (hex value 303030).

The default values:

Note: You can click the Factory Reset button "if you took it all too far and now it makes you feel sick." This resets only the CSS Tool options back to their original settings.

19) RSSI Expert Editor

Per Andy Taylor in the Pi-Star User Forum⩘ : "RSSI values depend on the radio—the stock values are there for MMDVM_HS units that support RSSI; if you use anything else, you may well need to tune it."

# This file maps the raw RSSI values to dBm values
# to send to the DMR network.
# A number of data points should be entered and
# the software will use those to work out the in-between values.
# The format of the file is [tab separated]:
# Raw RSSI Value    dBm Value
# RSSI Default Values for MMDVM_HS:
# 43    -43
# 53    -53
# 63    -63
# 73    -73
# 83    -83
# 93    -93
# 99    -99
# 105    -105
# 111    -111
# 117    -117
# 123    -123
# 129    -129
# 135    -135
# 141    -141

20) Prevent sending APRS info via BrandMeister

Thanks to KH6HZ for this hint posted in the Pi-Star User Forum⩘ : A sysop of a repeater or a hotspot can prevent APRS reporting by adding the tag NOGATE or NOAPRS to the Priority Message field in the BrandMeister dashboard. For a hotspot, you can find that field in the My hotspots settings.

NOAPRS command in BrandMeister Priority Message field

≪ Pi-Star