John's Vademecum

Try to learn something about everything, and everything about something -Thomas Huxley “Darwin's bulldog” (1824-1895)

User Tools

Site Tools


public:radio:2025:allstar_nodes_built

This is an old revision of the document!


2025 Radio Topics

Allstar : The Nodes

VHF Gateway

Platform Raspberry Pi 2 Model B Rev 1.1
InterfaceCM108 Soundcard - modified
RadioFT-1500M @ 5W
Frequency144.900MHz
Allstar Node 481480
Echolink GM4SLV-L : 886089
Dashboard http://gm4slv.plus.com:42110/

The initial node, described here → gm4slv_allstar_2025 got too cumbersome after adding DMR Bridging, along with handling Echolink.

I decided, since I had a few spare Raspberry Pi boards doing nothing much, to split the DMR Bridging to a separate node.

I removed the DVSwitch bridging from the VHF Gateway node and changed its node ID to 481480 (NNX)

DMR Bridging Node

Platform Raspberry Pi 3 Model B Rev 1.2
Allstar Node 481481
Dashboard http://gm4slv.plus.com:42111/

This one is for running DVSwitch to bridge to (at the moment) TGIF TG2354429 (my so-called ID Talkgroup )

I added the DVSwitch software, in the same way described here gm4slv_allstar_2025 and decided to bridge to TGIF instead of Brandmeister.

I also decided to use the md380_emu emulator for the AMBE transcoding.

MMDVM_Bridge.ini

[General]
Callsign=GM4SLV
Id=235442999
Timeout=180
Duplex=0
 
[Info]
RXFrequency=144900000
TXFrequency=144900000
Power=1
Latitude=60.2885
Longitude=-1.4215
Height=0
Location=GM4SLV Bridge1
Description=MMDVM_Bridge
URL=https://gm4slv.org.uk
 
[Log]
# Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal
DisplayLevel=1
FileLevel=2
FilePath=/var/log/mmdvm
FileRoot=MMDVM_Bridge
 
[DMR Id Lookup]
File=/var/lib/mmdvm/DMRIds.dat
Time=24
 
[NXDN Id Lookup]
File=/var/lib/mmdvm/NXDN.csv
Time=24
 
[Modem]
Port=/dev/null
RSSIMappingFile=/dev/null
Trace=0
Debug=0
 
[D-Star]
Enable=0
Module=B
 
[DMR]
Enable=1
ColorCode=1
EmbeddedLCOnly=1
DumpTAData=0
 
[System Fusion]
Enable=0
 
[P25]
Enable=0
NAC=293
 
[NXDN]
Enable=0
RAN=1
Id=12345
 
[D-Star Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=20010
LocalPort=20011
Debug=0
 
[DMR Network]
Enable=1
Address=tgif.network
Port=62031
;Jitter=360
Jitter=750
Local=62032
Password=XXXXXXXXXXXXXXXXXXXXx
# for DMR+ see https://github.com/DVSwitch/MMDVM_Bridge/blob/master/DOC/DMRplus_startup_options.md
# for XLX the syntax is: Options=XLX:4009
# Options=
Slot1=0
Slot2=1
Debug=0
 
[System Fusion Network]
Enable=0
LocalAddress=0
LocalPort=3200
GatewayAddress=127.0.0.1
GatewayPort=4200
Debug=0
 
[P25 Network]
Enable=0
GatewayAddress=127.0.0.1
GatewayPort=42020
LocalPort=32010
Debug=0
 
[NXDN Network]
Enable=0
#LocalAddress=127.0.0.1
Debug=0
LocalPort=14021
GatewayAddress=127.0.0.1
GatewayPort=14020

==== Analog_Bridge.ini

; Analog_Bridge configuration file.
;   This file should be placed in either /etc or it can be
;   supplied as a path on the Analog_Bridge command line.

; The best way to think of this file is that there are two main sections, the USRP (analog audio) and
; AMBE_AUDIO (compressed audio).  Analog_Bridge will take everything sent to the USRP port and
; encode it for transmission on the AMBE_AUDIO port.  The encoder will use the format defined in ambeMode.
; As you might expect, the reverse direction is defined too.

; Analog_Bridge supports include files. More on this later...
include = dvsm.macro
; include = asl.macro

; General Section describes settings for Analog_Bridge itself.
[GENERAL]
logLevel = 2                            ; Show messages and above 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal

; Metadata management
exportMetadata = true                   ; Export metadata to USRP partner (transcode setups require this)
transferRootDir = /tmp			; Export database files to USRP partner
subscriberFile = /var/lib/dvswitch/subscriber_ids.csv   ; DMR ID to callsign lookup data

; General vocoder setup information
decoderFallBack = true                  ; Allow software AMBE decoding if a hardware decoder is not found
useEmulator = true                     ; Use the MD380 AMBE emulator for AMBE72 (DMR/YSFN/NXDN)
emulatorAddress = 127.0.0.1:2470        ; IP address and port of the md380 server
 
pcmPort = 2222				; UDP port to send to the WebProxy

; Information for xx_Bridge (Where xx is MMDVM, Quantar, HB, IPSC)
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 31103                          ; Transmit TLV frames to partner on this port
rxPort = 31100                          ; Listen for TLV frames from partner on this port
ambeMode = DMR                          ; DMR, DMR_IPSC, DSTAR, NXDN, P25, YSFN, YSFW (encode PCM to this format)
minTxTimeMS = 2500                      ; Analog -> Digital Minimum time in MS for hang delay (0-10000)

; The metadata below is used when ASL is the source since it does not have any concept of digital modes
gatewayDmrId = 2354429                  ; ID to use when transmitting from Analog_Bridge 7 digit ID
repeaterID = 235442999                  ; ID of source repeater 7 digit ID plus 2 digit SSID 
txTg = 2354429                                ; TG to use for all frames sent from Analog_Bridge -> xx_Bridge
txTs = 2                                ; Slot to use for frames sent from Analog_Bridge -> xx_Bridge
colorCode = 1                           ; Color Code to assign DMR frames

; Information for USRP channel driver.  This interface uses PCM to transfer audio information
; There are two typical configurations, ASL and Transcode.  ASL (AllstarLink) is for analog clients connected
; to a digital network.  Transcode is when Analog_Bridge actually points its PCM interfaces back at itself, 
; causing a TLV <-- (pcm <--> pcm) --> TLV type of architecture.
;   When using ASL, this matches the rpt.conf ASL file with a setting like:
;   rxchannel = usrp/127.0.0.1:34001:32001
;   When Transcoding, make two ini files and set txPort equal to the other instance rxPort (crossover).  Launch
;   each instance with its own ini file.
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Analog_Reflector, Allstar/Asterisk or another Analog_Bridge)
txPort = 31001                          ; Transmit USRP frames on this port
rxPort = 34001                          ; Listen for USRP frames on this port
usrpAudio = AUDIO_USE_GAIN                 ; Digital -> Analog (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_USE_AGC)
usrpGain = 5.0                         ; Gain factor when usrpAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
usrpAGC = -20,10,100                    ; Set the agc threshold (db), slope (db) and decay (ms)
tlvAudio = AUDIO_USE_GAIN                  ; Analog -> Digital (AUDIO_UNITY, AUDIO_USE_GAIN, AUDIO_BPF)
tlvGain = 1.0                          ; Gain factor when tlvAudio = AUDIO_USE_GAIN (0.0 to 5.0) (1.0 = AUDIO_UNITY)
 
[MACROS]

; Where the macros are
; xxxx=yyyy
; xxxx is the dial string to match
; yyyy is the command line to execute

; xxxx must be preceded by a *
; xxxx can be any string (alphanumeric)
; yyyy is the command to execute
; yyyy will replace xxxx in the dial string
; arguments follow the macro name with a # delimiter

; For example using macro "5678" above would look like:
; *5678#9876

; Which would invoke:
; echo 9876

; Information for DV3000 hardware decoder
;   There are two configuration modes: IP (AMBEServer) and serial (direct connect hardware)
;   Use top server and port if using AMBEServer
;   Use bottom server/port and serial = true if using the DV3000u (thumbdv)
;   Did you run AMBETest4.py before using this?
[DV3000]
address = 127.0.0.1                   ; IP address of AMBEServer
rxPort = 2460                         ; Port of AMBEServer
; address = /dev/ttyUSB0              ; Device of DV3000U on this machine
; baud = 460800                       ; Baud rate of the dongle (230400 or 460800)
; serial = true                       ; Use serial=true for direct connect or serial=false for AMBEServer

FIXME

Test Node

Platform Raspberry Pi 2 Model B Rev 1.1
Allstar Node 481482
Dashboard http://gm4slv.plus.com:42112/

This one is to use for tests and experiments….

Experiment 1

Friday 6th June 2025

Make a 2nd DMR Bridge to monitor DVSPh TG733 “MilNet”

  • Made a new private node 1398
  • Connect 481482 to internal private 1398
  • Set up DVSwitch MMDVM_Bridge & Analog_Bridge
    • MMDVM set to use Hotspot ID 235442998
    • Options=StartRef=4000;RelinkTime=0;UserLink=0;TS1_1=733;
  • Connected MMDVM_Bridge to DVS_Ph F server - linked to TG733
  • Main VHF Gateway Node 481481 connected to Test Node 481482 in “Monitor” mode.
Experiment 2

Saturday 7th June 2025

Change this DMR bridge to TGIF TG2354435

This is the ID Talkgroup for my 2nd DMR ID

  • MMDVM_Bridge set to connect to TGIF, using my alternative DMR ID, as hotspot 235443598
    • this requires the correct User Security passphrase for 2354435
  • Also confirmed operation with MMDVM_Bridge connecting as normal 235442998 (my “usual” DMR ID with SSID=98)
  • Analog_Bridge set to use TG2354435

FIXME

John Pumford-Green 08/06/25 18:44 BST

Further Information

public/radio/2025/allstar_nodes_built.1749462601.txt.gz · Last modified: by john