Setting up DMRLink <-> KBLink #best_practices #dmrlink #hblink


Jason Johnston
 

Hi All

I tried about a year ago to get this DMRlink - HBlink system setup, but never could get it going.  I am trying to revisit this plan.

I have a box running Ubuntu 16.04 and I have the correct files installed (I think).  I own my own cbridge, so I have updated the HBlink.cfg, DMRlink.cfg and HB_Bridge.cfg files to match my current settings.  I tried running an update to dmr_utils, but I get an authentication error when trying to run these commands:
cd /opt
git clone https://github.com/n0mjs710/dmr_utils.git
cd dmr_utils/

It asks for a username and password that I do not have.

My main problem last time I tried this was that the system would connect to the cbridge, but the cbridge rejected the traffic.  I am trying to replicate that error so that I can further trouble-shoot.  But for now, I can't get either to connect to cbridge or mmdvm device.

Should I wipe my directories and start over?  I have backups of most of the .cfg files, so I could do that, but I am sure I need to get my dmr_utils reinstalled or updated first.

Thanks for any assistance.


Steve N4IRS
 

Jason,
I just tried to git clone. I did not get a request for password. I would suggest you retry.

On 1/2/2019 1:27 PM, Jason Johnston wrote:
Hi All

I tried about a year ago to get this DMRlink - HBlink system setup, but never could get it going.  I am trying to revisit this plan.

I have a box running Ubuntu 16.04 and I have the correct files installed (I think).  I own my own cbridge, so I have updated the HBlink.cfg, DMRlink.cfg and HB_Bridge.cfg files to match my current settings.  I tried running an update to dmr_utils, but I get an authentication error when trying to run these commands:
cd /opt
git clone https://github.com/n0mjs710/dmr_utils.git
cd dmr_utils/

It asks for a username and password that I do not have.

My main problem last time I tried this was that the system would connect to the cbridge, but the cbridge rejected the traffic.  I am trying to replicate that error so that I can further trouble-shoot.  But for now, I can't get either to connect to cbridge or mmdvm device.

Should I wipe my directories and start over?  I have backups of most of the .cfg files, so I could do that, but I am sure I need to get my dmr_utils reinstalled or updated first.

Thanks for any assistance.


Jason Johnston
 

OK I did a copy/paste of the line, as I did last time, and it works now.  Maybe a network hiccup, who knows.

The complete set of instructions I was trying to run is this:
apt-get install python-dev -y
apt-get install python-pip -y
apt-get install python-twisted -y
pip install bitstring
pip install bitarray

cd /opt
git clone https://github.com/n0mjs710/dmr_utils.git
cd dmr_utils/
pip install --upgrade .

After running any of the pip commands as sudo, I get the following errors:
jape@josephus:/opt/dmr_utils$ sudo pip install --upgrade.
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

1 step closer, I guess.  But the DMRLink server is still not connecting to my cbridge.


Steve N4IRS
 

The full command is pip install --upgrade .   <---- notice the period

On 1/2/2019 1:54 PM, Jason Johnston wrote:
pip install --upgrade .


Cort N0MJS <n0mjs@...>
 

First off, “pip install dmr_utils” it’s on Pypi now.


On Jan 2, 2019, at 12:27 PM, Jason Johnston <kc5hwb@...> wrote:

Hi All

I tried about a year ago to get this DMRlink - HBlink system setup, but never could get it going.  I am trying to revisit this plan.

I have a box running Ubuntu 16.04 and I have the correct files installed (I think).  I own my own cbridge, so I have updated the HBlink.cfg, DMRlink.cfg and HB_Bridge.cfg files to match my current settings.  I tried running an update to dmr_utils, but I get an authentication error when trying to run these commands:
cd /opt
git clone https://github.com/n0mjs710/dmr_utils.git
cd dmr_utils/

It asks for a username and password that I do not have.

My main problem last time I tried this was that the system would connect to the cbridge, but the cbridge rejected the traffic.  I am trying to replicate that error so that I can further trouble-shoot.  But for now, I can't get either to connect to cbridge or mmdvm device.

Should I wipe my directories and start over?  I have backups of most of the .cfg files, so I could do that, but I am sure I need to get my dmr_utils reinstalled or updated first.

Thanks for any assistance.


Steve N4IRS
 

true, I keep forgetting that. I'll change the script.

On 1/2/2019 1:56 PM, Cort N0MJS via Groups.Io wrote:
First off, “pip install dmr_utils” it’s on Pypi now.


On Jan 2, 2019, at 12:27 PM, Jason Johnston <kc5hwb@...> wrote:

Hi All

I tried about a year ago to get this DMRlink - HBlink system setup, but never could get it going.  I am trying to revisit this plan.

I have a box running Ubuntu 16.04 and I have the correct files installed (I think).  I own my own cbridge, so I have updated the HBlink.cfg, DMRlink.cfg and HB_Bridge.cfg files to match my current settings.  I tried running an update to dmr_utils, but I get an authentication error when trying to run these commands:
cd /opt
git clone https://github.com/n0mjs710/dmr_utils.git
cd dmr_utils/

It asks for a username and password that I do not have.

My main problem last time I tried this was that the system would connect to the cbridge, but the cbridge rejected the traffic.  I am trying to replicate that error so that I can further trouble-shoot.  But for now, I can't get either to connect to cbridge or mmdvm device.

Should I wipe my directories and start over?  I have backups of most of the .cfg files, so I could do that, but I am sure I need to get my dmr_utils reinstalled or updated first.

Thanks for any assistance.


Jason Johnston
 

Yes I typed the period after the command, that is what I pasted below, and the resulting error.


Steve N4IRS
 

What you pasted did not have a space. In any case use:
pip install dmr_utils

On 1/2/2019 1:57 PM, Jason Johnston wrote:
Yes I typed the period after the command, that is what I pasted below, and the resulting error.


Jason Johnston
 

You're right, sorry.  I tried it with and without the space before the . - same results.

Same results with the latest command:

jape@josephus:/opt$ sudo pip install dmr_utils
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main
 


Jason Johnston
 

Here is a cat cmd from the file referenced in the error"

#!/usr/bin/python
# GENERATED BY DEBIAN
 
import sys
 
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())
 


Steve N4IRS
 

On 1/2/2019 2:05 PM, Jason Johnston wrote:
Here is a cat cmd from the file referenced in the error"

#!/usr/bin/python
# GENERATED BY DEBIAN
 
import sys
 
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())
 


Cort N0MJS <n0mjs@...>
 


I STRONGLY recommend that if you need to update outside of what your distribution package maintainer uses that you use a python virtualenv (virtual environment). And this stuff is getting way outside of what I’m comfortable providing support on really quickly.

On Jan 2, 2019, at 1:11 PM, Steve N4IRS <szingman@...> wrote:

Cort know much more about python then I do but I did find this:
<https://stackoverflow.com/questions/49836676/error-after-upgrading-pip-cannot-import-name-main>
See number 402 and also <https://github.com/pypa/pip/issues/5221>


On 1/2/2019 2:05 PM, Jason Johnston wrote:
Here is a cat cmd from the file referenced in the error"

#!/usr/bin/python
# GENERATED BY DEBIAN
 
import sys
 
# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())
 


Cort Buffington
785-865-7206


Jason Johnston
 

I was able to get it downgraded and I ran the pip install dmr_utils cmd again, and it seems to work - although it says I have everything that I need

I DID do the upgrade manually, since the OS prompted me to do that, so having a line in your instructions, saying to avoid this, would be helpful.

Now that I have that done, what would be the next step to get it to actually connect to the cbridge?  

This Ubuntu box is a test box, we can do anything we want to do, and aren't going to lose anything.  Fire away.


Steve N4IRS
 

If you are trying to connect a HB based system (MMDVM) to your c-Bridge

You will need the 2 branches:
https://github.com/n0mjs710/DMRlink/tree/IPSC_Bridge
https://github.com/n0mjs710/HBlink/tree/HB_Bridge

You can put all the files in the same directory. Build from the outside in. That way you can see the traffic flow as you add a program.
Configure dmrlink.cfg to login to your c-Bridge as a peer
Configure hblink as a server for your repeater

run dmrlink and verify it is logging into the c-Bridge
run hblink and verify your MMDVM repeater is logging in.
These are just for TESTING your configs.

Configure HB_Bridge.cfg and IPSC_Bridge.cfg to talk to each other. (cross UDP ports)
Start IPSC_Bridge.py You should see it login to your c-Bridge
Start HB_Bridge.py You should see your MMDVM Repeater login to it.
If you have the HB_Bridge.cfg and IPSC_Bridge.cfg correct, you should see traffic flow.

While building, run everything in the foreground so that you can watch the logs in real time.
Make sure you see the traffic before moving on.

Steve N4IRS

On 1/2/2019 2:22 PM, Jason Johnston wrote:
I was able to get it downgraded and I ran the pip install dmr_utils cmd again, and it seems to work - although it says I have everything that I need

I DID do the upgrade manually, since the OS prompted me to do that, so having a line in your instructions, saying to avoid this, would be helpful.

Now that I have that done, what would be the next step to get it to actually connect to the cbridge?  

This Ubuntu box is a test box, we can do anything we want to do, and aren't going to lose anything.  Fire away.


Jason Johnston
 

I've already done all of that, about a year ago upon initial setup, but it seems some things have changed since then.  I will remove all of my current installs and start from scratch.

A couple of questions, though:
How do you start *.py files and how do I run it in the foreground to watch it?


Steve N4IRS
 

python name_of_program.py

On 1/2/2019 2:42 PM, Jason Johnston wrote:
I've already done all of that, about a year ago upon initial setup, but it seems some things have changed since then.  I will remove all of my current installs and start from scratch.

A couple of questions, though:
How do you start *.py files and how do I run it in the foreground to watch it?


Jason Johnston
 

how do I run it in the foreground to watch it?


Steve N4IRS
 

That is the foreground.

On 1/2/2019 2:54 PM, Jason Johnston wrote:
how do I run it in the foreground to watch it?


Jason Johnston
 

OK got that done, trying to run the dmrlink.py in the foreground, getting this message below - it doesn't appear to be connecting to the cbridge yet.  I haven't tried the hblink connection yet.

jape@josephus:/opt/dmrlink/DMRlink$ sudo python dmrlink.py
Traceback (most recent call last):
  File "dmrlink.py", line 1098, in <module>
    peer_ids, subscriber_ids, talkgroup_ids, local_ids = build_aliases(CONFIG, logger)
  File "dmrlink.py", line 116, in build_aliases
    peer_ids = mk_id_dict(_config['ALIASES']['PATH'], _config['ALIASES']['PEER_FILE'])
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/utils.py", line 107, in mk_id_dict
    dict[int(row[0])] = (row[1])
ValueError: invalid literal for int() with base 10: 'Repeater ID'


Steve N4IRS
 

What is the result of:
pip show dmr_utils


On 1/2/2019 3:23 PM, Jason Johnston wrote:
OK got that done, trying to run the dmrlink.py in the foreground, getting this message below - it doesn't appear to be connecting to the cbridge yet.  I haven't tried the hblink connection yet.

jape@josephus:/opt/dmrlink/DMRlink$ sudo python dmrlink.py
Traceback (most recent call last):
  File "dmrlink.py", line 1098, in <module>
    peer_ids, subscriber_ids, talkgroup_ids, local_ids = build_aliases(CONFIG, logger)
  File "dmrlink.py", line 116, in build_aliases
    peer_ids = mk_id_dict(_config['ALIASES']['PATH'], _config['ALIASES']['PEER_FILE'])
  File "/usr/local/lib/python2.7/dist-packages/dmr_utils/utils.py", line 107, in mk_id_dict
    dict[int(row[0])] = (row[1])
ValueError: invalid literal for int() with base 10: 'Repeater ID'