Re: Multiple private nodes connected to different talkgroups


 

Steve, I was meaning the 2nd bridge was not working not 2nd private node connects fine, didn't seem to be hearing or transmitting from analog to dmr.

The more I'm looking at it and after reading JJs comments i believe i do need the 2nd copy of md380 on a different port for the other node because i'm trying to tie it to a differnt talk group.

Brandmiester self care seems to support this to because I noticed the 2nd "hotspot" was static on the one i wanted by dynamic on the one from the other private node.

I'll work on this and report results.

On Thu, Jan 17, 2019 at 10:31 AM JJ Cummings <cummingsj@...> wrote:
example and ps output:

$ diff --side-by-side /lib/systemd/system/md380-emu-nxdn.service /lib/systemd/system/md380-emu.service
[Unit] [Unit]
Description=MD-380 Emulator Service Description=MD-380 Emulator Service
# Description=Place this file in /lib/systemd/system # Description=Place this file in /lib/systemd/system
# Description=N4IRS 04/20/2018 # Description=N4IRS 04/20/2018

# The device name should point to the # The device name should point to the
# port the mmdvm is plugged into. # port the mmdvm is plugged into.
# For USB ports (Arduino Due) # For USB ports (Arduino Due)
# BindTo=dev-ttyACM0.device # BindTo=dev-ttyACM0.device
# #
# To make the network-online.target available # To make the network-online.target available
# systemctl enable systemd-networkd-wait-online.service # systemctl enable systemd-networkd-wait-online.service

After=network-online.target syslog.target netcheck.service After=network-online.target syslog.target netcheck.service
Wants=network-online.target Wants=network-online.target

[Service] [Service]
Type=simple Type=simple
Restart=always Restart=always
RestartSec=3 RestartSec=3
StandardOutput=null StandardOutput=null
WorkingDirectory=/opt/md380-emu WorkingDirectory=/opt/md380-emu
ExecStart=/opt/md380-emu/md380-emu -S 2475       | ExecStart=/opt/md380-emu/md380-emu -S 2470
ExecReload=/bin/kill -HUP $MAINPID ExecReload=/bin/kill -HUP $MAINPID
KillMode=process KillMode=process

[Install] [Install]

WantedBy=multi-user.target WantedBy=multi-user.target


$ ps aux | grep md380
root       634  0.3  0.0   1888     4 ?        Ss   Jan08  43:20 /opt/md380-emu/md380-emu -S 2470
root       635  0.3  0.0   1888     4 ?        Ss   Jan08  38:33 /opt/md380-emu/md380-emu -S 2475
 

On Thu, Jan 17, 2019 at 9:24 AM JJ Cummings via Groups.Io <cummingsj=gmail.com@groups.io> wrote:
If you are transcoding two different TGs then yes, you need two instances of md380emu.  You will need to make a new systemctl file for the second one and use a different port which will be defined in your second analog_bridge instance also.

On Thu, Jan 17, 2019 at 9:19 AM Steve N4IRS <szingman@...> wrote:
Not sure what you mean by you can't get the 2nd node to work. Not working in asterisk? are you running 2 copies of Analog_Bridge? different .ini files? different USRP ports?

Steve

On 1/17/2019 11:15 AM, Russell, KV4S wrote:
I can't seem to get the 2nd private node to work.

do you need another copy of md380 running too?

comparison:

3101: ; 31010

RPT.conf:
[1999] ; 1998
rxchannel = USRP/127.0.0.1:34001:32001 ; rxchannel = USRP/127.0.0.1:39001:38001



Analog_Bridge:
[AMBE_AUDIO]
server = 127.0.0.1         ; server = 127.0.0.1
fromDMRPort = 31100             ; fromDMRPort = 36100
toDMRPort = 31103               ; toDMRPort = 36103
ambeMode = DMR                  ; ambeMode = DMR
minTxTimeMS = 2000              ; minTxTimeMS = 2000
gatewayDmrId = 3115511          ; gatewayDmrId = 3115511
repeaterID = 311551109          ; repeaterID = 311551108
txTg = 3101                     ; txTg = 31010
txTs = 2                        ; txTs = 2  
colorCode = 1  ; colorCode = 1

[USRP]
server = 127.0.0.1              ; server = 127.0.0.1
toASLPort = 32001               ; toASLPort = 39001 
fromASLPort = 34001             ; fromASLPort = 38001   
aslAudio = AUDIO_USE_GAIN       ; aslAudio = AUDIO_USE_GAIN
agcGain = 5.0                   ; agcGain = 5.0
dmrAudio = AUDIO_USE_GAIN       ; dmrAudio = AUDIO_USE_GAIN  
dmrGain = 0.17 ; dmrGain = 0.17

DVSwitch.ini
[DMR]
Address = 127.0.0.1             ; Address = 127.0.0.1 
TXPort = 31100                  ; TXPort = 36100 
RXPort = 31103                  ; RXPort = 36103 
Slot = 2                        ; Slot = 2 

MMDVM
[General]
Callsign=KV4S
Id=311551109 ; Id=311551108
Timeout=180
Duplex=0
ModeHang=0
RFModeHang=0
NetModeHang=0
Display=None
Daemon=0

[Info]
RXFrequency=435000000
TXFrequency=435000000
Power=1
Latitude=33.335999
Longitude=-86.613998
Height=0
Location=Chelsea, AL
Description=MMDVM_Bridge

[DMR]
Enable=1

[DMR Network]
Enable=1
Port=62031
Jitter=750
Local=62032
Password=passw0rd
Slot1=1
Slot2=1
ModeHang=0
Debug=0


analog_bridge.service ; analog_bridge_31010.service
[Service]
WorkingDirectory=/opt/Analog_Bridge ; WorkingDirectory=/opt/Analog_Bridge_31010
Environment=AnalogBridgeLogDir=/var/log/dvswitch ; Environment=AnalogBridgeLogDir=/var/log/dvswitch/Analog_Bridge_31010
ExecStart=/opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini ; ExecStart=/opt/Analog_Bridge_31010/Analog_Bridge /opt/Analog_Bridge_31010/Analog_Bridge.ini


mmdvm_bridge.service
[Service]
WorkingDirectory=/opt/MMDVM_Bridge ; WorkingDirectory=/opt/MMDVM_Bridge_31010
ExecStart=/opt/MMDVM_Bridge/MMDVM_Bridge /opt/MMDVM_Bridge/MMDVM_Bridge.ini ; ExecStart=/opt/MMDVM_Bridge_31010/MMDVM_Bridge /opt/MMDVM_Bridge_31010/MMDVM_Bridge.ini


root@KV4S-PI:/home/pi# systemctl status analog_bridge
● analog_bridge.service - Analog_Bridge Service
   Loaded: loaded (/lib/systemd/system/analog_bridge.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-01-17 09:46:58 CST; 25min ago
 Main PID: 878 (Analog_Bridge)
   CGroup: /system.slice/analog_bridge.service
           └─878 /opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini

Jan 17 09:46:58 KV4S-PI systemd[1]: Started Analog_Bridge Service.
root@KV4S-PI:/home/pi# systemctl status analog_bridge_31010
● analog_bridge_31010.service - Analog_Bridge Service
   Loaded: loaded (/lib/systemd/system/analog_bridge_31010.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-01-17 09:46:58 CST; 25min ago
 Main PID: 877 (Analog_Bridge)
   CGroup: /system.slice/analog_bridge_31010.service
           └─877 /opt/Analog_Bridge_31010/Analog_Bridge /opt/Analog_Bridge_31010/Analog_Bridge.ini

Jan 17 09:46:58 KV4S-PI systemd[1]: Started Analog_Bridge Service.
root@KV4S-PI:/home/pi#

On Wed, Nov 14, 2018 at 2:54 PM Russell, KV4S <russelljthomas@...> wrote:
Perfect, I think that will give me plenty of homework.... I'll give it a try after the holidays! 

Thanks so much for all your help and support! 

Appreciate all you do for this hobby!

On Wed, Nov 14, 2018, 2:02 PM Steve N4IRS <szingman@... wrote:
systemctl enable analog_bridge enables the systemd unit analog_bridge.service in /lib/systemd/system. It is a test file and can be copied / edited.
It's job is the setup the environment for the program and start / stop the program
I have bolded the places you will need to change.
 
root@stn2600:~# cat /lib/systemd/system/analog_bridge.service
[Unit]
Description=Analog_Bridge for AMBE Service
# Description=Place this file in /lib/systemd/system
# Description=N4IRS 04/20/2018

# The device name should point to the
# port the mmdvm is plugged into.
# For USB ports (Arduino Due)
# BindTo=dev-ttyACM0.device
#
# To make the network-online.target available
# systemctl enable systemd-networkd-wait-online.service

After=network-online.target syslog.target netcheck.service
Wants=network-online.target

[Service]
Type=simple
StandardOutput=null
WorkingDirectory=/opt/Analog_Bridge
Environment=AnalogBridgeLogDir=/var/log/dvswitch/Analog_Bridge
# Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Restart=always
RestartSec=3
ExecStart=/opt/Analog_Bridge/Analog_Bridge /opt/Analog_Bridge/Analog_Bridge.ini
ExecReload=/bin/kill -2 $MAINPID
KillMode=process

[Install]
WantedBy=multi-user.target

Simply copy analog_bridge.service to blabla.service in the same directory and edit to taste.
You can then:
systemctl status blabla
systemctl enable blabla
systemctl start blabla
systemctl stop blabla

The private node stanza [1999] for rpt.conf is at the top of the document https://docs.google.com/document/d/1eN50Csr29eAprBu7eKA0Bfa2XUcsXw5iktY1Ey-Qjkg/edit

73, Steve N4IRS
 
On 11/14/2018 2:45 PM, Russell, KV4S wrote:
very much so, thanks Steve.

Next question, what will these statements look like? 
systemctl enable analog_bridge
systemctl start analog_bridge
because if you copy contents the program has the same name? how does the service know which is which or maybe on linux it doesn't matter?
:/opt/Analog_Bridge$ dir 
Analog_Bridge Analog_Bridge.ini

Can you point me in the right direction for setting up a private node? do I just copy my main node stanza and make it a number like 1999, 1998 ect? Seems like there was one there but i think i overwrote it.

On Wed, Nov 14, 2018 at 10:39 AM Steve N4IRS <szingman@...> wrote:
Russell,
As per usual there is more then one way to do this. He is a simple one:
Create 4 subdirectories:
mkdir MMDVM_Bridge_TG_1234
mkdir  MMDVM_Bridge_TG_9876
mkdir Analog_Bridge_TG_1234
mkdir Analog_Bridge_TG_9876

Copy the contents of /opt/MMDVM_Bridge into the new MMDVM_Bridge directories.
Copy the contents of /opt/Analog_Bridge into the new Analog_Bridge directories.
Setup MMDVM_Bridge_TG_1234 to connect to TG 1234 on BM as normal
Setup Analog_Bridge_TG_1234 to connect to TG 1234 as normal and point it at Private node 1234

The assumption is you used the default port numbers Check your work.
Now come the change, You can not reuse the port numbers you chose for TG 1234 so:
In the MMDVM_Bridge_TG_9876 directory edit DVSwitch.ini to change the port numbers in the [DMR] stanza
Make it easy to see the change
[DMR]
Address = 127.0.0.1             ; Address to send AMBE TLV frames to (export)
TXPort = 36100                     ; Port to send AMBE TLV frames to (export)
RXPort = 36103                     ; Port to listen on (import)
Slot = 2                                   ; Export slot

In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [AMBE_AUDIO] stanza
Match the ports use in DVSwitch.ini
[AMBE_AUDIO]
address = 127.0.0.1                     ; IP address of xx_Bridge
txPort = 36103                          ; Transmit TLV frames to partner on this port
rxPort = 36100                          ; Listen for TLV frames from partner on this port

As with MMDVM_Bridge <-> Analog_Bridge where you can not reuse the port numbers, It's the same for Analog_Bridge <-> ASL.
In the Analog_Bridge_TG_9876 directory edit Analog_Bridge.ini to change the port numbers in the [USRP] stanza
[USRP]
address = 127.0.0.1                     ; IP address of USRP partner (Allstar/Asterisk or another Analog_Bridge)
txPort = 38001                          ; Transmit USRP frames on this port
rxPort = 39001                          ; Listen for USRP frames on this port

Match the above port numbers for private node 9876 in rpt.conf

Does that help?

73, Steve N4IRS

On 11/14/2018 11:18 AM, Russell, KV4S wrote:
I don't have a lot of experience with private nodes but I've been working on a personal hub that is working fine with DVSwitch.

What I envision is having multiple instances of the DVSwitch (Analog/MMDVM/DVSwitch) with each instance using a different talk group. I would dedicate a private node to the different talk groups then use the main hub (public) to connect to the private nodes on the fly using  Allmon to link up the different private nodes. I would need to move the existing TG from the public hub to a private so by default nothing is linked unless I tell it to in Allmon.

I also do know how to setup multiple instances of DVSwich.

Any guidance on this?



Join main@DVSwitch.groups.io to automatically receive all group messages.