python3 ./bridge_all.py EROR #hblink


R4WBP Dmitrii
 
Edited

Hello! help me solve the problem with HBLINK 3. When running bridge_all.py, I get intermittent error during calls. Calls are dropped after 0.1s. I'm trying to connect to BM



Unhandled Error
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/twisted/python/log.py", line 86, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 85, in callWithContext
    return func(*args,**kw)
  File "/usr/lib/python3/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
--- <exception caught here> ---
  File "/usr/lib/python3/dist-packages/twisted/internet/udp.py", line 249, in doRead
    self.protocol.datagramReceived(data, addr)
  File "/opt/hblink3/hblink.py", line 603, in peer_datagramReceived
    self.dmrd_received(_peer_id, _rf_src, _dst_id, _seq, _slot, _call_type, _frame_type, _dtype_vseq, _stream_id, _data)
  File "./bridge_all.py", line 130, in dmrd_received
    if _seq > (self.STATUS[_slot]['RX_SEQ'] + 1):
builtins.TypeError: can't concat int to bytes
 


Randy AA6RH
 

Looks like a legitimate bug, I don't know why this hasn't come up earlier, other than Python 3 has removed an "automatic" conversion of byte arrays to integers for arithmetic.

Let me see if there's an easy way to post an issue from here to github.

--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


R4WBP Dmitrii
 
Edited

Hi Randy! Thanks for participating. I would be very glad for any help.

Could you describe a little how bridge_all.py works?
 
I want to combine MMDVMHost and 2 MMDVM bridge using Hblink3 and connect it to BM.

As follows: BM <==> HBLink3 <==> MMDVMHost <==> MMDVM==RF
                                      / \    \\
                                       \\     MMDVMBridge1==> AnalogBridge1==> WEBProxy1==> WEB.PCM.Player1
                                         \\
                                           MMDVMBridge2 ==> AnalogBridge2==> WEBProxy2==> WEB.PCM.Player2

Can I ask questions in this thread about DVSwitch, or is it better to create another discussion?


Randy AA6RH
 

Hey there. It works best if we stick to HBlink in this thread. You will get much better help with the other aspects of DVSwitch in the main forum.
 
As for a detailed breakdown of bridge_all.py, I will have to get back to you on that; I've taken over maintenance, but haven't yet grokked all of the various scripts in the repo. From what I recall, bridge_all is meant to reflect every group call between endpoints (whether they are HBP or OpenBridge), but there are also rules that indicate how to connect/disconnect different talk groups, if you're interested in that.
 
A detailed discussion is about to start for the next eight weeks on HBLink3 (since I'm just about done with teaching the spring semester), so this might be addressed.
 
--R
--
Randy Hall AA6RH (not K7AGE, quit asking) 😁


R4WBP Dmitrii
 

Randy hello! I forgot to mention that the connection to the BM is in PEER mode.
Once I disable Repeeter in config everything works fine. Within HBLINK, the masters are routed without any errors. Perhaps bridge_all.py will work correctly when connected to BM in openbridge mode.
 
It is PEER that is causing this error. And I don't use it anymore.