Date   

Re: 1 Way Audio (XLX DMR to ASL)

Michael KD5DFB
 

Figured it out.

uname -a
Linux mmdvm 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux
cd /tmp
wget https://github.com/DVSwitch/MMDVM_Bridge/raw/master/bin/MMDVM_Bridge.amd64
cp /tmp/MMDVM_Bridge.amd64 /opt/MMDVM_Bridge2/MMDVM_Bridge
MMDVM_Bridge version 20191105_V1.4.1 git #9dae1ac

I will test audio this afternoon when I have all my portable radios :-)


Re: 1 Way Audio (XLX DMR to ASL)

Michael KD5DFB
 

Steve,

Thank you for the quick response!

I am not 100% sure which one to use. Here is my lscpu

use MMDVM_Bridge.i386??

root@mmdvm:/opt/HBlink# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 61
Model name:            Virtual CPU a7769a6388d5
Stepping:              2
CPU MHz:               2394.438
BogoMIPS:              4788.87
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
L3 cache:              16384K
NUMA node0 CPU(s):     0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single kaiser fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat


Re: 1 Way Audio (XLX DMR to ASL)

Steve N4IRS
 

Michael,
I think your one way audio issue may be solved by using the most current MMDVM_Bridge in github at <https://github.com/DVSwitch/MMDVM_Bridge/tree/master/bin>

On 12/24/19 11:57 AM, Michael KD5DFB wrote:
I am trying to bridge from our c-bridge to my xlx reflector and I am experiencing the same 1 way audio.

cbridge<>IPSC_Bridge<>HB_Bridge<>MMDVM-Bridge<>XLX

The audio works from XLX to DMR but NOT the other way.

I tried the following and thought it would be an easier setup but I keep getting the following error. I am looking for the most efficient way

cbridge<>IPSC_Bridge<>HB_Bridge<>XLX

root@mmdvm:/opt/HBlink# python HB_Bridge.py
load config file config.file
DEBUG 2019-12-24 10:48:20,863 Logging system started, anything from here on gets logged
INFO 2019-12-24 10:48:20,864 ID ALIAS MAPPER: 'peer_ids.json' is current, not downloaded
INFO 2019-12-24 10:48:20,864 ID ALIAS MAPPER: 'subscriber_ids.json' is current, not downloaded
INFO 2019-12-24 10:48:21,315 HBlink 'HB_Bridge.py' (c) 2017 Mike Zingman N4IRR, N0MJS - SYSTEM STARTING...
INFO 2019-12-24 10:48:21,315 Version 20170620
DEBUG 2019-12-24 10:48:21,317 (MASTER-1) Master maintenance loop started
DEBUG 2019-12-24 10:48:21,317 MASTER instance created: MASTER-1, <__main__.HB_BRIDGE instance at 0x7f96dc141cf8>
ERROR 2019-12-24 10:48:21,318 Uncaught exception
Traceback (most recent call last):
  File "HB_Bridge.py", line 243, in <module>
    systems[system] = HB_BRIDGE(system, CONFIG, logger)
  File "HB_Bridge.py", line 101, in __init__
    self.hb_ambe = AMBE_HB(self, _name, _config, _logger, self._ambeRxPort)
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/ambe_bridge.py", line 381, in __init__
    AMBE_BASE.__init__(self, _parent, _name, _config, _logger, _port)
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/ambe_bridge.py", line 187, in __init__
    self.udp_port = reactor.listenUDP(self._ambeRxPort, UDP_IMPORT(self.import_datagramReceived))
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 369, in listenUDP
    p.startListening()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/udp.py", line 178, in startListening
    self._bindSocket()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/udp.py", line 198, in _bindSocket
    raise error.CannotListenError(self.interface, self.port, le)
CannotListenError: Couldn't listen on any:36100: [Errno 98] Address already in use.
root@mmdvm:/opt/HBlink#

I can just run python hblink.py and it works fine. I don't understand why I am getting the CannotListenError: Couldn't listen on any:36100: [Errno 98] Address already in use.

No other process is using port 36100

Also, what option do I need to put in under OPTIONS: to connect to module A?

hblink.cfg
[XLX 827]
MODE: CLIENT
ENABLED: True
LOOSE: True
EXPORT_AMBE: False
IP:
PORT: 50006
MASTER_IP: xlx.kd5dfb.net   
MASTER_PORT: 62030
PASSPHRASE: passw0rd
CALLSIGN: KD5DFB
RADIO_ID: 3148242
RX_FREQ: 222340000
TX_FREQ: 223940000
TX_POWER: 25
COLORCODE: 1
SLOTS: 3
LATITUDE: 41.7333
LONGITUDE: -50.3999
HEIGHT: 75
LOCATION: Iceberg, USA
DESCRIPTION: HBlink repeater
URL: https://groups.io/g/DVSwitch
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS: 4001


Re: 1 Way Audio (XLX DMR to ASL)

Michael KD5DFB
 

I am trying to bridge from our c-bridge to my xlx reflector and I am experiencing the same 1 way audio.

cbridge<>IPSC_Bridge<>HB_Bridge<>MMDVM-Bridge<>XLX

The audio works from XLX to DMR but NOT the other way.

I tried the following and thought it would be an easier setup but I keep getting the following error. I am looking for the most efficient way

cbridge<>IPSC_Bridge<>HB_Bridge<>XLX

root@mmdvm:/opt/HBlink# python HB_Bridge.py
load config file config.file
DEBUG 2019-12-24 10:48:20,863 Logging system started, anything from here on gets logged
INFO 2019-12-24 10:48:20,864 ID ALIAS MAPPER: 'peer_ids.json' is current, not downloaded
INFO 2019-12-24 10:48:20,864 ID ALIAS MAPPER: 'subscriber_ids.json' is current, not downloaded
INFO 2019-12-24 10:48:21,315 HBlink 'HB_Bridge.py' (c) 2017 Mike Zingman N4IRR, N0MJS - SYSTEM STARTING...
INFO 2019-12-24 10:48:21,315 Version 20170620
DEBUG 2019-12-24 10:48:21,317 (MASTER-1) Master maintenance loop started
DEBUG 2019-12-24 10:48:21,317 MASTER instance created: MASTER-1, <__main__.HB_BRIDGE instance at 0x7f96dc141cf8>
ERROR 2019-12-24 10:48:21,318 Uncaught exception
Traceback (most recent call last):
  File "HB_Bridge.py", line 243, in <module>
    systems[system] = HB_BRIDGE(system, CONFIG, logger)
  File "HB_Bridge.py", line 101, in __init__
    self.hb_ambe = AMBE_HB(self, _name, _config, _logger, self._ambeRxPort)
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/ambe_bridge.py", line 381, in __init__
    AMBE_BASE.__init__(self, _parent, _name, _config, _logger, _port)
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/ambe_bridge.py", line 187, in __init__
    self.udp_port = reactor.listenUDP(self._ambeRxPort, UDP_IMPORT(self.import_datagramReceived))
  File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 369, in listenUDP
    p.startListening()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/udp.py", line 178, in startListening
    self._bindSocket()
  File "/usr/lib/python2.7/dist-packages/twisted/internet/udp.py", line 198, in _bindSocket
    raise error.CannotListenError(self.interface, self.port, le)
CannotListenError: Couldn't listen on any:36100: [Errno 98] Address already in use.
root@mmdvm:/opt/HBlink#

I can just run python hblink.py and it works fine. I don't understand why I am getting the CannotListenError: Couldn't listen on any:36100: [Errno 98] Address already in use.

No other process is using port 36100

Also, what option do I need to put in under OPTIONS: to connect to module A?

hblink.cfg
[XLX 827]
MODE: CLIENT
ENABLED: True
LOOSE: True
EXPORT_AMBE: False
IP:
PORT: 50006
MASTER_IP: xlx.kd5dfb.net   
MASTER_PORT: 62030
PASSPHRASE: passw0rd
CALLSIGN: KD5DFB
RADIO_ID: 3148242
RX_FREQ: 222340000
TX_FREQ: 223940000
TX_POWER: 25
COLORCODE: 1
SLOTS: 3
LATITUDE: 41.7333
LONGITUDE: -50.3999
HEIGHT: 75
LOCATION: Iceberg, USA
DESCRIPTION: HBlink repeater
URL: https://groups.io/g/DVSwitch
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_HBlink
GROUP_HANGTIME: 5
OPTIONS: 4001


Re: Image for Raspberry pi3 with Debian 10 Buster with DVSWICTH SERVER, HBLINK3 AND HBMONITOR.

Ken, K6EFJ
 

Tom,
I found the ircDDBGatewayConfig folder but I can't find the ircddbgatewayconfig folder.  The last tab (r/h side) in the IrcDDBGatewayConfig folder does list different languages but I did not see where one had been selected ie: "Espanol"
 It might be that I don't know what I'm looking for that needed to be changed for "English (US)"
Ken


Re: Image for Raspberry pi3 with Debian 10 Buster with DVSWICTH SERVER, HBLINK3 AND HBMONITOR.

Tom Corcoran
 

ircddbgatewayconfig 
 But wait a minute or two for the panel to display

--
Tom VE3NY


Re: Image for Raspberry pi3 with Debian 10 Buster with DVSWICTH SERVER, HBLINK3 AND HBMONITOR.

Ken, K6EFJ
 

Is this the correct location:
/home/pi/OpenDV/ircDDBGateway/ircDDB
I can't find the folder named ircdbb 


Re: Image for Raspberry pi3 with Debian 10 Buster with DVSWICTH SERVER, HBLINK3 AND HBMONITOR.

 

Run ircdbb in the foreground by logging in via desktop not ssh. Vnc viewer almost the last tab in ircdbb has a language setting. 


On Sun, Dec 22, 2019, 8:58 PM Tom Corcoran <tcorcoran@...> wrote:
I have enabled English for v1 but now that I’m setting up V5, I can't remember where the dstar entry goes. Can you please refresh my memory on directory location?
tnx ... --  Tom VE3NY
--
Tom VE3NY


Re: ASL to DMR change TG with DTMF?

Mike Zingman - N4IRR
 

Missed one. Will fix it in next release. 


Re: ASL to DMR change TG with DTMF?

w2jon@...
 

ok.. I'm all good now!

After the constant barrage of silly questions, I can finally say it is working on the Archlinux Crompton ASL deployment.

I added the *79 command to my already defined functions section and I can change the TG's from the HT.
the trick to keep from being annoying to the public is to either select the TG before connecting to the private 1999 node or to manually drop 1999 from the portal before changing TG's . DTMF doesnt pass out to DMR but the listeners will hear you key up and punch the keys until the command is complete and you unkey.

Either way.. it's working and I thank you Steve for your help and I thank everyone else for putting up with my constant comments flooding your email.

Merry Christmas everyone
73 de W2JON


Re: ASL to DMR change TG with DTMF?

w2jon@...
 
Edited

[root@AllstarNode Analog_Bridge]# ./dvswitch.sh tune 9990
  File "<stdin>", line 13
    print value
              ^
SyntaxError: Missing parentheses in call to 'print'

I needed to update the script to enclose the printed variable in a set of parentheses for python 3.x compatibility


Re: ASL to DMR change TG with DTMF?

w2jon@...
 

Just realized I kept typing A* when I meant to type ASL
Sorry about that.


Re: ASL to DMR change TG with DTMF?

Steve N4IRS
 

Yesa log or /tmp/ABinfo_port number.txt

Sent by smoke signal (AT&T)


From: main@DVSwitch.groups.io <main@DVSwitch.groups.io> on behalf of w2jon@... <w2jon@...>
Sent: Monday, December 23, 2019 3:52:47 PM
To: main@DVSwitch.groups.io <main@DVSwitch.groups.io>
Subject: Re: [DVSwitch] ASL to DMR change TG with DTMF?
 
Yeah I mean, if the dialplan makes an external call to a shell script the results of the script should still be the same regardless of the node I'm working with since its all local to the script.
I'll try it and see what happens
Whwre can I peek to see which TG# is active so I can verify the changes are made? A_B.log?

I know I'm asking alot.


Re: ASL to DMR change TG with DTMF?

w2jon@...
 

Yeah I mean, if the dialplan makes an external call to a shell script the results of the script should still be the same regardless of the node I'm working with since its all local to the script.
I'll try it and see what happens
Whwre can I peek to see which TG# is active so I can verify the changes are made? A_B.log?

I know I'm asking alot.


Re: ASL to DMR change TG with DTMF?

Steve N4IRS
 

I assume so. Not familiar with *A

On 12/23/2019 3:45 PM, w2jon@... wrote:
Haha you beat me to it as well.
Yeah the arbitrary commands messed with me.

*79 should work even if invoked on the a* node right?


Re: ASL to DMR change TG with DTMF?

w2jon@...
 

Haha you beat me to it as well.
Yeah the arbitrary commands messed with me.

*79 should work even if invoked on the a* node right?


Re: ASL to DMR change TG with DTMF?

w2jon@...
 

just had an epiphany, I techically dont need to run the entire features section.

I really only need the *79 command to change the TG settings and modes. the other commands seem to be simply shortcuts. If I include *79 in my regular features stanza then since it's actually a system level command t shudlnt matter which node invoked it right?
 I think thats the trick.. what say you?


Re: ASL to DMR change TG with DTMF?

Steve N4IRS
 

You beat me to it. ;)

On 12/23/2019 3:20 PM, Paul Nannery KC2VRJ wrote:
*4xxxx xxxx is the private node number will let you send the command and you end it with a # I belive 

On Mon, Dec 23, 2019, 3:17 PM <w2jon@...> wrote:
haha yeah pretty much..
From what I can say is that since my primary node Allstar 48353 uses my USB audio to link to my interface radio I only have one method to inject the DTMF tones into the node. 
I connect to the private node running the AB with *731999 that links me from analog to the DMR side 
Since DTMF is not allowed to leave the 48353 node it doesn't pass over to 1999 for commanding.  

So If I understand you the unmodified [functions] section would live happily as the "default" command set and because my A* node is using a directive to tell it which functions set to use [functions48353] it will not try to use the ones we are inserting into the file. If I key a command that isn't in the custom functions section it may / or may not find it in the standard functions section?

It seems that the only method to control that private node would be via the Supermon page after selecting the 1999 node from the top. then I could enter *79{TG#} and the 1999 node would react to this.
If I was to allow dtmf to pass the primary a* node would intercept the commands and act on them as it is the node receiving the audio first from the radio/dongle.
I think in order to use dtmf I would then A: enable DTMF passthrough, and B: create new command codes that don't conflict with the A* commands. 
crazy huh? lol 


Re: ASL to DMR change TG with DTMF?

Steve N4IRS
 

I see it as you have 2 choices. My use of *73 or any of the other commands are arbitrary, you can make them anything you like.
You can also (at least in a ASL node) do a *41999*73 In other words *4 routes your command to node 1999.

Steve

On 12/23/2019 3:17 PM, w2jon@... wrote:
haha yeah pretty much..
From what I can say is that since my primary node Allstar 48353 uses my USB audio to link to my interface radio I only have one method to inject the DTMF tones into the node. 
I connect to the private node running the AB with *731999 that links me from analog to the DMR side 
Since DTMF is not allowed to leave the 48353 node it doesn't pass over to 1999 for commanding.  

So If I understand you the unmodified [functions] section would live happily as the "default" command set and because my A* node is using a directive to tell it which functions set to use [functions48353] it will not try to use the ones we are inserting into the file. If I key a command that isn't in the custom functions section it may / or may not find it in the standard functions section?

It seems that the only method to control that private node would be via the Supermon page after selecting the 1999 node from the top. then I could enter *79{TG#} and the 1999 node would react to this.
If I was to allow dtmf to pass the primary a* node would intercept the commands and act on them as it is the node receiving the audio first from the radio/dongle.
I think in order to use dtmf I would then A: enable DTMF passthrough, and B: create new command codes that don't conflict with the A* commands. 
crazy huh? lol 


Re: ASL to DMR change TG with DTMF?

Paul Nannery KC2VRJ
 

*4xxxx xxxx is the private node number will let you send the command and you end it with a # I belive 


On Mon, Dec 23, 2019, 3:17 PM <w2jon@...> wrote:
haha yeah pretty much..
From what I can say is that since my primary node Allstar 48353 uses my USB audio to link to my interface radio I only have one method to inject the DTMF tones into the node. 
I connect to the private node running the AB with *731999 that links me from analog to the DMR side 
Since DTMF is not allowed to leave the 48353 node it doesn't pass over to 1999 for commanding.  

So If I understand you the unmodified [functions] section would live happily as the "default" command set and because my A* node is using a directive to tell it which functions set to use [functions48353] it will not try to use the ones we are inserting into the file. If I key a command that isn't in the custom functions section it may / or may not find it in the standard functions section?

It seems that the only method to control that private node would be via the Supermon page after selecting the 1999 node from the top. then I could enter *79{TG#} and the 1999 node would react to this.
If I was to allow dtmf to pass the primary a* node would intercept the commands and act on them as it is the node receiving the audio first from the radio/dongle.
I think in order to use dtmf I would then A: enable DTMF passthrough, and B: create new command codes that don't conflict with the A* commands. 
crazy huh? lol