Date   

localhost gateway can't connect to reflector -but others can?

mike@...
 

Hey all, 

I had a P25-DMR bridge running and decided to write a startup script that would fire everything off at boot. Now, the P25Gateway does not connect to the P25Reflector, both running on the same pi, but 'external' repeaters and hotspots are fine. Although I haven't changed any config files from when things were working. 

As always, thanks in advance for any pointers here.

Mike N6MIK


Re: Cannot get P25Reflector installed

Steve N4IRS
 

Create the log directory pointed to in P25Reflector.ini and retest.

Steve N4IRS

On 1/17/19 10:23 PM, Skyler Fennell wrote:
I am attempting to get P25Reflector working on my Debian Linux VPS Machine. I have the DVSwitch repository installed on the box.

When I try to install the reflector through apt-get, I cannot run the file and I get a libsdc dependency error
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./P25Gateway)
I have tried to fix the GLIBCXX error by upgrading all packages but I cannot get it to work and it shows the latest version as 3.4.20.

When I try to install the reflector from the source code, it will not even start up and claims it cannot open the log file. The directory does exist.
root@stn3764:/opt/P25Clients/P25Reflector# P25Gateway: unable to open the log file


I am running Debian on Kernel 3.16.0-4-amd64 and cannot update the Kernel, which seems to be a recommendation to fix the GLIBXX error. Lat time I updated the kernel, I broke asterisk, which I am also running on the server. 

Let me know what the next is step I can to try to get P25Reflector working on my machine.

Thank You,

Skyler



Cannot get P25Reflector installed

Skyler Fennell
 

I am attempting to get P25Reflector working on my Debian Linux VPS Machine. I have the DVSwitch repository installed on the box.

When I try to install the reflector through apt-get, I cannot run the file and I get a libsdc dependency error
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./P25Gateway)
I have tried to fix the GLIBCXX error by upgrading all packages but I cannot get it to work and it shows the latest version as 3.4.20.

When I try to install the reflector from the source code, it will not even start up and claims it cannot open the log file. The directory does exist.
root@stn3764:/opt/P25Clients/P25Reflector# P25Gateway: unable to open the log file


I am running Debian on Kernel 3.16.0-4-amd64 and cannot update the Kernel, which seems to be a recommendation to fix the GLIBXX error. Lat time I updated the kernel, I broke asterisk, which I am also running on the server. 

Let me know what the next is step I can to try to get P25Reflector working on my machine.

Thank You,

Skyler


Re: AllStarLink/ASL-Install

Bret Muller
 

ive recived the same error message 


Re: Multiple private nodes connected to different talkgroups

 

root@KV4S-PI:/home/pi# ps aux | grep md380
root       860  0.0  0.0   1888     4 ?        Ss   15:55   0:00 /opt/md380-emu_31010/md380-emu -S 2471
root       862  0.0  0.0   1888     4 ?        Ss   15:55   0:00 /opt/md380-emu/md380-emu -S 2470
root      1313  0.0  0.0   4376   584 pts/0    R+   16:18   0:00 grep md380


On Thu, Jan 17, 2019 at 4:14 PM Russell, KV4S via Groups.Io <russelljthomas=gmail.com@groups.io> wrote:
Well still no luck. It appears on the hotspot id for node2 it's showing my static talkgroup i want to use but also showing an autostatic for the one from the other node. it's like something is still pointing to the 1st version however the audio is not going out over it.

I'm not sure what I did wrong?

updated settings:

Analog_Bridge:
[General]
emulatorAddress = 127.0.0.1:2470 ; emulatorAddress = 127.0.0.1:2471 

md380-emu.service
[Service]
WorkingDirectory=/opt/md380-emu ; WorkingDirectory=/opt/md380-emu_31010
ExecStart=/opt/md380-emu/md380-emu -S 2470 ; ExecStart=/opt/md380-emu_31010/md380-emu -S 2471

On Thu, Jan 17, 2019 at 11:07 AM Steve N4IRS <szingman@...> wrote:
OK,
It was hard to tell from your message what was not working. If you are doing a second DMR bridge you will need a second instance of MMDVM_Bridge, Analog_Bridge and possibly md380-emu. You will need to use different port numbers throughout.

Steve

On 1/17/2019 12:03 PM, Russell, KV4S wrote:
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?





Re: Multiple private nodes connected to different talkgroups

 

Well still no luck. It appears on the hotspot id for node2 it's showing my static talkgroup i want to use but also showing an autostatic for the one from the other node. it's like something is still pointing to the 1st version however the audio is not going out over it.

I'm not sure what I did wrong?

updated settings:

Analog_Bridge:
[General]
emulatorAddress = 127.0.0.1:2470 ; emulatorAddress = 127.0.0.1:2471 

md380-emu.service
[Service]
WorkingDirectory=/opt/md380-emu ; WorkingDirectory=/opt/md380-emu_31010
ExecStart=/opt/md380-emu/md380-emu -S 2470 ; ExecStart=/opt/md380-emu_31010/md380-emu -S 2471

On Thu, Jan 17, 2019 at 11:07 AM Steve N4IRS <szingman@...> wrote:
OK,
It was hard to tell from your message what was not working. If you are doing a second DMR bridge you will need a second instance of MMDVM_Bridge, Analog_Bridge and possibly md380-emu. You will need to use different port numbers throughout.

Steve

On 1/17/2019 12:03 PM, Russell, KV4S wrote:
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?





Re: Multiple private nodes connected to different talkgroups

Steve N4IRS
 

OK,
It was hard to tell from your message what was not working. If you are doing a second DMR bridge you will need a second instance of MMDVM_Bridge, Analog_Bridge and possibly md380-emu. You will need to use different port numbers throughout.

Steve

On 1/17/2019 12:03 PM, Russell, KV4S wrote:
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?





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?




Re: Multiple private nodes connected to different talkgroups

JJ Cummings
 

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?




Re: Multiple private nodes connected to different talkgroups

JJ Cummings
 

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?




Re: Multiple private nodes connected to different talkgroups

Steve N4IRS
 

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?




Re: Multiple private nodes connected to different talkgroups

 

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?



Re: ASL to XLX in DSTAR mode ? MMDVM_Bridge transmitting DMR-ID instead of callsign

Santu OTTAVI (TK1BI)
 


Le 16/01/2019 à 13:18, Steve KC1AWV a écrit :
Like Steve N4IRS says, make sure that the subscriberFile in Analog_Bridge.ini points to a valid DMR ID file. Here's what I use:

Here was my mistake : MMDVM_Bridge was pointing to a valid dmd-id file, but Analog_Bridge was not. Doing so, the right callsign is now displayed in the outgoing D-Star frames.

Anyway, XLX still seems to ignore those frames. It just displays :
Jan 16 20:48:52 xlx xlxd: DCS packet (100) from 10.44.0.3
while it should display something like that :
Jan 16 20:40:20 xlx xlxd: Opening stream on module K for client TK1BI   B with sid 41964 
I'll have to investigate on the ircddbgateway and XLX side...

73 de TK1BI


Re: Bridging a P25Reflector and a YSFReflector?

Steve N4IRS
 

Loop (TX to RX, RX to TX) the YSF and P25 ports in DVSwitch.ini
[P25]
Address = 127.0.0.1
TXPort = 34100
RXPort = 34103

[YSF]
Address = 127.0.0.1
TXPort = 34103
RXPort = 34100

Enable YSF and P25 in MMDVM_Bridge.ini
Setup Networking for both modes in MMDVM_Bridge.ini
[DMR]
Enable=1

[P25]
Enable=1

[System Fusion Network]
Enable=1
GatewayAddress=ysfreflector.dvswitch.org
GatewayPort=42166

[P25 Network]
Enable=1
GatewayAddress=127.0.0.1
GatewayPort=42020
LocalPort=32010

YSF points directly at the YSF reflector address and port
P25 requires P25Gateway. Set the Startup= to point at the P25 TG you want. If the P25Reflector you want is not in the P25Hosts.txt file. add it to the private host file.

 Steve N4IRS


On 1/16/2019 2:04 PM, Mike, KI0IK wrote:
I've been working on bridging my P25Reflector and my YSFReflector together using MMDVM_Bridge for several days. I haven't been successful.  I'm familiar with Linux and have an instance of MMDVM_Bridge up and running.  I'm struggling with coming up with the right settings in the DVSwitch.ini and the MMDVM_Bridge.ini.  I must be missing something conceptually.  Using the DVSwitch test reflectors as an example, which stanzas would I change and what would the settings be?

p25reflector.dvswitch.org    Port = 43166  TG = 3166
ysfreflector.dvswitch.org     Port = 42166

Thanks
Mike


Re: Bridging a P25Reflector and a YSFReflector?

Mike, KI0IK
 

I've been working on bridging my P25Reflector and my YSFReflector together using MMDVM_Bridge for several days. I haven't been successful.  I'm familiar with Linux and have an instance of MMDVM_Bridge up and running.  I'm struggling with coming up with the right settings in the DVSwitch.ini and the MMDVM_Bridge.ini.  I must be missing something conceptually.  Using the DVSwitch test reflectors as an example, which stanzas would I change and what would the settings be?

p25reflector.dvswitch.org    Port = 43166  TG = 3166
ysfreflector.dvswitch.org     Port = 42166

Thanks
Mike


Re: Decoder error

Jeff Lehman, N8ACL
 

I'm sorry I lied. My fat fingers on my phone. The error is "Emulator timed out on encode!" in the Analog_Bridge.log. This causes the ASL node to just loop on  a key and unkey cycle every 2-10 seconds and won't receive DMR after that.

  Jeff

On Tue, Jan 15, 2019 at 10:56 PM Jeff Lehman, KC8QCH via Groups.Io <kc8qch=gmail.com@groups.io> wrote:
Hi guys,

Got a stumper for me. So I have had dmr working fine for a while now.  We decided to move the bridge from Brandmeister to TGIF tonight. I made the transfer and then rebooted the server. All of a sudden I am getting an “emulator timed out on decode” error from analog_bridge. Not sure why. 

I have been playing with ysf and p25 recently but I turned those off and I still get the error. Move the bridge back to bm for testing. Still get the error. Anyone have experience with that one?

Jeff



--
Jeff Lehman, KC8QCH
E-mail: kc8qch@...
Hamshack Hotline: 4218

Webmaster
Hamilton County ARPSC
http://www.hamcoarpsc.org
E-mail: hamcoarpsc@...
Phone: 513-452-6480

Multimode System Administrator
World Wide Amateur Radio Guild
http://www.theguildglobal.org
E-Mail: kc8qch@...


Re: ASL to XLX in DSTAR mode ? MMDVM_Bridge transmitting DMR-ID instead of callsign

Santu OTTAVI (TK1BI)
 

Le 16/01/2019 à 13:18, Steve KC1AWV a écrit :
Like Steve N4IRS says, make sure that the subscriberFile in Analog_Bridge.ini points to a valid DMR ID file. Here's what I use:
Thank you both. I missed that. I'll have a look this evening...


Re: ASL to XLX in DSTAR mode ? MMDVM_Bridge transmitting DMR-ID instead of callsign

Steve KC1AWV
 

Like Steve N4IRS says, make sure that the subscriberFile in Analog_Bridge.ini points to a valid DMR ID file. Here's what I use:

; Metadata management
subscriberFile = /var/lib/mmdvm/DMRIds.dat      ; DMR ID to callsign lookup data
exportMetadata = true                           ; Export metadata to USRP partner (transcode setups require this)

That solved the issue I was having.

Steve KC1AWV

On Wed, Jan 16, 2019 at 7:07 AM Steve N4IRS <szingman@...> wrote:
Check the logs for Analog_bridge and MMDVM_bridge and make sure they are pointing at a user or subscriber file and that they are resolving a DMRID to a callsign.

On 1/16/19 6:29 AM, Santu OTTAVI (TK1BI) wrote:
Hi all,

Does anybody use the following setup :

Asterisk Hub <-> chan_USRP <-> Analog_Bridge <-> MMDVM_Bridge <-> ircddbgatewayd <-> XLX
And does anybody have any idea about MMDVM_Bridge transmitting a DMR-ID instead of a callsign in D-Star mode (more details in my previous message) ?

Thank you in advance. 73 de TK1BI



Le 15/01/2019 à 10:56, Santu OTTAVI (TK1BI) a écrit :
Problem :
It seems MMDVM_Bridge is sending a D-Star connection frame with a DMR-ID instead of a D-Star callsign, which makes XLX ignore it.





--
Steve Miller
KC1AWV


Re: ASL to XLX in DSTAR mode ? MMDVM_Bridge transmitting DMR-ID instead of callsign

Steve N4IRS
 

Check the logs for Analog_bridge and MMDVM_bridge and make sure they are pointing at a user or subscriber file and that they are resolving a DMRID to a callsign.

On 1/16/19 6:29 AM, Santu OTTAVI (TK1BI) wrote:
Hi all,

Does anybody use the following setup :

Asterisk Hub <-> chan_USRP <-> Analog_Bridge <-> MMDVM_Bridge <-> ircddbgatewayd <-> XLX
And does anybody have any idea about MMDVM_Bridge transmitting a DMR-ID instead of a callsign in D-Star mode (more details in my previous message) ?

Thank you in advance. 73 de TK1BI



Le 15/01/2019 à 10:56, Santu OTTAVI (TK1BI) a écrit :
Problem :
It seems MMDVM_Bridge is sending a D-Star connection frame with a DMR-ID instead of a D-Star callsign, which makes XLX ignore it.




Re: ASL to XLX in DSTAR mode ? MMDVM_Bridge transmitting DMR-ID instead of callsign

Santu OTTAVI (TK1BI)
 

Hi all,

Does anybody use the following setup :

Asterisk Hub <-> chan_USRP <-> Analog_Bridge <-> MMDVM_Bridge <-> ircddbgatewayd <-> XLX
And does anybody have any idea about MMDVM_Bridge transmitting a DMR-ID instead of a callsign in D-Star mode (more details in my previous message) ?

Thank you in advance. 73 de TK1BI



Le 15/01/2019 à 10:56, Santu OTTAVI (TK1BI) a écrit :
Problem :
It seems MMDVM_Bridge is sending a D-Star connection frame with a DMR-ID instead of a D-Star callsign, which makes XLX ignore it.


7201 - 7220 of 10078