Skip to content

TerryClaiborne/alltune2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ AllTune2

One Dashboard. All Your Networks.

βœ… Optimized for Debian 12 & 13 on 64-bit ARM (Raspberry Pi 4, 5)

AllTune2 is a modern control panel for AllStarLink 3 + DVSwitch.

It gives you one place to work with:

  • BrandMeister
  • TGIF
  • YSF
  • AllStarLink
  • EchoLink
  • Local Monitor
  • Transceiver
  • Favorites
  • Live status and activity

Simple. Clean. Powerful.

✨ WHAT ALLTUNE2 CAN DO

AllTune2 is meant to be a one-screen radio control center.

With it, you can:

  • connect to BrandMeister talkgroups
  • connect to TGIF talkgroups
  • connect to YSF reflectors / rooms
  • connect to AllStarLink nodes
  • connect to EchoLink nodes
  • use Local Monitor
  • use Transceiver
  • save and use Favorites
  • use manual entry
  • watch live status and activity
  • use audio alerts if enabled

Some local functions can also be used alongside BM, TGIF, or YSF operation depending on your setup and workflow.

Live keyed activity highlighting

AllTune2 now shows live keyed/activity highlighting for linked AllStarLink / EchoLink node rows.

What it does:

  • highlights the active linked node row when live activity is detected
  • uses a softer amber accent so the active row stands out without overpowering the dashboard
  • keeps the existing connection logic unchanged

Notes:

  • this is a visual/status enhancement
  • it does not change TGIF, BrandMeister, YSF, AllStarLink, or EchoLink connect/disconnect behavior
  • active row highlighting depends on live activity/status data being available from the node

⚠️ BEFORE YOU INSTALL

You MUST already have:

  • Working AllStarLink 3 (ASL3)
  • Working DVSwitch
  • Analog_Bridge running
  • MMDVM_Bridge running

If your node is not already working, fix that first.

AllTune2 sits on top of a working base system.
It is not meant to repair a broken base install.

πŸ“₯ INSTALL (FIRST TIME)

Use these commands only for a brand-new install:

cd /var/www/html
git clone https://github.com/TerryClaiborne/alltune2.git
cd alltune2
sudo ./setup_alltune2.sh

What the setup script does

The setup script helps by:

  • setting permissions
  • building the TGIF / HBLink backend
  • installing requirements
  • creating config files if missing
  • preserving existing config files
  • refreshing helper files

The setup script is mainly for install/setup/system-level refresh work.
It is not required for every code-only GitHub update.

πŸ” UPDATE / REINSTALL / REBOOT

There are now two different update paths.

A) NORMAL CODE-ONLY UPDATE

Use this when the GitHub update only changes app code, helper scripts, Python files, PHP files, CSS/JS, or README content.

cd /var/www/html/alltune2
git pull origin main

In many cases, that is enough.

B) UPDATE THAT NEEDS SETUP

Use this when the update includes install/setup changes such as:

  • setup_alltune2.sh changes
  • new sudoers requirements
  • new permissions requirements
  • new service / system integration changes
  • new config template handling
cd /var/www/html/alltune2
git pull origin main
sudo ./setup_alltune2.sh

C) REBOOT WHEN NEEDED

Some updates change a runtime process that may already be running in memory.

Examples:

  • HBLink bridge.py changes
  • logging behavior changes
  • long-running helper/runtime behavior

For those updates, rebooting once after the update is recommended so the old running process is fully cleared and the new code starts clean.

Important

Do not assume every update needs setup_alltune2.sh.

For normal code-only updates, git pull may be enough.

Run setup_alltune2.sh when the update includes install, permissions, sudoers, service, or other system-level setup changes.

If the update changes a long-running TGIF / HBLink runtime process, a reboot once after updating is recommended.

✏️ FILES YOU MUST EDIT

1. Main Config

/var/www/html/alltune2/config.ini

Example:

MYNODE=12345
DVSWITCH_NODE=1999
BM_SelfcarePassword=your_password
TGIF_HotspotSecurityKey=your_key

What these mean

MYNODE
Your AllStar node number.

Example:

MYNODE=67040

DVSWITCH_NODE
Your DVSwitch node number.

Most systems use 1999 or 1998.

Example:

DVSWITCH_NODE=1999

BM_SelfcarePassword
Your BrandMeister SelfCare password.

TGIF_HotspotSecurityKey
Your TGIF Hotspot Security Key.

This is NOT your TGIF website login password.

2. TGIF Config

/var/www/html/alltune2/tgif-hblink/hblink.cfg

Look in the [REPEATER-1] section.

Example:

PASSPHRASE: your_tgif_key
CALLSIGN: YOURCALL
RADIO_ID: 330000812
OPTIONS: StartRef=19750;RelinkTime=60

What these mean

PASSPHRASE
Your TGIF Hotspot Security Key.

This is NOT your TGIF login password.

CALLSIGN
Your ham callsign.

Example:

CALLSIGN: KC3KMV

RADIO_ID
Your DMR / BrandMeister Hotspot ID + 1

This part is very important.

Real example:

Your hotspot ID: 330000811
Use:             330000812

Another example:

Your hotspot ID: 3101234
Use:             3101235

Do NOT use your original hotspot ID unchanged.

OPTIONS
Optional startup TGIF talkgroup.

Example:

StartRef=19750;RelinkTime=60

If you want TGIF to start on a certain talkgroup, that is where you set it.

3. Review This File

/var/www/html/alltune2/tgif-hblink/MMDVM_Bridge.hblink.ini

Example:

Callsign=YOURCALL
Id=330000812

What these mean

Callsign
Your ham callsign.

Example:

Callsign=KC3KMV

Id
Your DMR / BrandMeister Hotspot ID + 1

Real example:

Your hotspot ID: 330000811
Use:             330000812

Do NOT use your original hotspot ID unchanged.

Optional values

Most users can leave these as 0:

RXFrequency=0
TXFrequency=0

These only matter if you run a repeater.

If you do not run a repeater, leaving them at 0 is fine and has no effect on normal operation.

🚫 DO NOT EDIT THESE UNLESS YOU ALREADY KNOW WHY

These files must already be working correctly on your system:

  • /opt/MMDVM_Bridge/DVSwitch.ini
  • /opt/MMDVM_Bridge/MMDVM_Bridge.ini
  • /opt/Analog_Bridge/Analog_Bridge.ini

If those files are broken, AllTune2 will not work correctly.

🌐 OPEN ALLTUNE2 IN YOUR BROWSER

Once AllTune2 is installed and configured, open it in your web browser.

Example:

http://192.168.1.120/alltune2/public/

The full path also works:

http://192.168.1.120/alltune2/public/index.php

Replace 192.168.1.120 with the IP address or hostname of your own node.

The shorter /public/ address is usually easier and works fine.

πŸ–₯️ HOW TO USE ALLTUNE2

Once AllTune2 is installed and configured, open it in your browser and use the control center.

Basic idea:

  • choose the network or mode
  • enter a target or choose a Favorite
  • press Connect
  • watch the status / activity area
  • press Disconnect when done

πŸ”΅ BRANDMEISTER

Use BrandMeister when you want to connect to a BM talkgroup.

Typical BM workflow

  • choose BrandMeister
  • enter the talkgroup number
  • press Connect
  • wait for the status to show the connection
  • use Disconnect when you want to leave

BM talkgroup changes

BrandMeister is usually one of the faster paths.

If you want to change from one BM talkgroup to another:

  • enter the new talkgroup
  • press Connect again

🟒 TGIF

Use TGIF when you want to connect to a TGIF talkgroup.

Typical TGIF workflow

  • choose TGIF
  • enter the talkgroup number
  • press Connect
  • wait for the TGIF path to come up
  • watch status / activity for confirmation
  • use Disconnect when finished

Important TGIF note

TGIF may take a little longer to connect than BrandMeister.

That is normal.

You can also stay connected to BM, TGIF, or YSF and add AllStarLink nodes or EchoLink nodes using Transceive or Local Monitor, depending on your setup and workflow.

🟑 YSF

Use YSF when you want to connect to a YSF room or reflector.

Typical YSF workflow

  • choose YSF
  • enter the YSF target you want
  • press Connect
  • watch the status area
  • use Disconnect when done

πŸ”΄ ALLSTARLINK

Use AllStarLink when you want to work with AllStar nodes directly.

Typical AllStarLink workflow

  • choose AllStarLink
  • enter the node number you want
  • press Connect
  • watch the live status / activity
  • disconnect when finished

AllStarLink mode is useful for:

  • direct node linking
  • node monitoring
  • local AllStar activity

🟣 ECHOLINK

Use EchoLink when you want to connect to an EchoLink node.

Typical EchoLink workflow

  • choose EchoLink
  • enter the EchoLink node number
  • press Connect
  • watch status for confirmation
  • disconnect when done

🎧 LOCAL MONITOR

Local Monitor is there for local monitoring use.

That means it can be used when you want to:

  • listen locally
  • monitor what is happening on the node
  • work in a more local / direct way

πŸŽ™οΈ TRANSCEIVER

Transceiver mode is there for direct radio-side operation.

In simple terms:

  • Local Monitor is for local listening / monitoring
  • Transceiver is for direct local radio operation

These are local functions, not just network destination fields.

⭐ FAVORITES

Favorites help save time.

Use Favorites when you have:

  • a BM talkgroup you use often
  • a TGIF talkgroup you use often
  • a YSF room you use often
  • an AllStarLink node you use often
  • an EchoLink target you use often

Typical Favorites workflow

  • choose a Favorite
  • let it load the target / mode
  • press Connect

πŸ“ MANUAL ENTRY

Manual entry is there when you want to type something directly instead of using a saved Favorite.

That is useful when:

  • you are testing
  • you are trying a one-time target
  • you do not want to save it yet

πŸ“Š STATUS AND ACTIVITY

The status and activity areas help you see:

  • what mode you are in
  • whether you are connected
  • which target is active
  • local / node activity
  • changes as they happen

πŸ”Š AUDIO ALERTS

Audio alerts can help you notice:

  • connects
  • disconnects
  • activity changes

If you use them, they can make monitoring easier.

πŸ”§ TROUBLESHOOTING BASICS

If audio stops

Try:

sudo systemctl restart analog_bridge

If you updated from GitHub

First decide what kind of update it was.

For a normal code-only update:

cd /var/www/html/alltune2
git pull origin main

For an update that includes install/setup/system-level changes:

cd /var/www/html/alltune2
git pull origin main
sudo ./setup_alltune2.sh

If the update changed a long-running TGIF / HBLink process, reboot once after updating so the new runtime fully takes effect.

If something still looks wrong

Check these first:

  • /var/www/html/alltune2/config.ini
  • /var/www/html/alltune2/tgif-hblink/hblink.cfg
  • /var/www/html/alltune2/tgif-hblink/MMDVM_Bridge.hblink.ini

Do not guess values.

🧠 SIMPLE RULES

Edit these:

  • /var/www/html/alltune2/config.ini
  • /var/www/html/alltune2/tgif-hblink/hblink.cfg

Review this:

  • /var/www/html/alltune2/tgif-hblink/MMDVM_Bridge.hblink.ini

Leave these alone unless you already know why:

  • /opt/MMDVM_Bridge/DVSwitch.ini
  • /opt/MMDVM_Bridge/MMDVM_Bridge.ini
  • /opt/Analog_Bridge/Analog_Bridge.ini

And remember:

  • do not guess values
  • do not assume every update needs setup_alltune2.sh
  • reboot once after updates that change long-running TGIF / HBLink runtime behavior

βœ… DONE

Install β†’ Configure β†’ Open in browser β†’ Connect β†’ Enjoy


⚠️ IMPORTANT UPDATE

Current release notes may include both code-only updates and setup-level updates.

For this release series, important recent changes include:

  • TGIF / HBLink connect speed improvement
  • HBLink runtime retune improvement
  • HBLink log file growth disabled

For these HBLink runtime/logging updates:

cd /var/www/html/alltune2
git pull origin main

Then reboot once so the old running HBLink bridge process is cleared and the new runtime starts clean.

Only run:

sudo ./setup_alltune2.sh

when the release specifically says setup/system-level changes are included.