Skip to main content

Connect Hytera IPSC repeater to MMDVM system such as HBlink, DMRGateway

Project description

Hytera Homebrew Bridge

.github/workflows/sanity.yml Code Style: Python Black License

21.12.2020: We've entered alpha testing phase, see instructions below, on how to install and test


This software will interconnect your Hytera repeater (tested RD625 and RD985) with MMDVM server (HBlink, DMRGateway, ...)

It does not require running under root/admin user, if you bind to ports over 1024


Simple install:

# You need to have Python3 installed, at least version 3.7
$ python3 -m pip install pip wheel setuptools --upgrade
$ python3 -m pip install hytera-homebrew-bridge --upgrade
# download config file
$ curl "https://raw.githubusercontent.com/OK-DMR/Hytera_Homebrew_Bridge/master/settings.ini.minimal.default" -o settings.ini
# Now edit settings.ini
# Hytera: You must provide at least IPSC IP + ports (P2P, DMR and RDAC)
# MMDVM: You must provide at least local_ip, master_ip, port and password
# See "settings.ini.minimal.default" for required params / minimal configuration
$ hytera-homebrew-bridge.py settings.ini

Install on Windows

To get software running on Windows, you need to install appropriate Python 3.7+ package (depending on your Windows version), and you need to install dependencies (MSVC++ 14) required to build bitarray dependency

Then you should be able to use Simple install

# From standard Windows Command Line (cmd.exe)
$ python -m pip install pip wheel setuptools --upgrade
$ python -m pip install hytera-homebrew-bridge --upgrade
# Download settings from the project, settings.ini.minimal.default or settings.ini.default and modify it
$ hytera-homebrew-bridge.py <path to settings.ini> <optinally path to logging.ini>

Developer install:

Run the software without installing to Python packages, so you can edit code and run the edits

# Optionally uninstall the version installed in system
# python3
$ git clone https://github.com/OK-DMR/Hytera_Homebrew_Bridge.git
$ cd Hytera_Homebrew_Bridge
# You can use either settings.ini.default (all configuration params) or settings.ini.minimal.default (only required params)
$ cp settings.ini.default settings.ini
$ apt-get install libsnmp-dev snmp-mibs-downloader gcc python-dev
$ python3 -m pip install -r requirements.txt --user --upgrade
# Dependencies to run tests (pytest, pcapng parsing, ...)
$ python3 -m pip install -r requirements.development.txt --user --upgrade
$ python3 bin/hytera-homebrew-bridge.py settings.ini

FAQ

  • Q: Difference between SNMP family/community 'public' and 'hytera'?
    • A: Some repeaters have non-changeable SNMP setting, and it appears it is usually either 'public' or 'hytera', if SNMP does not work for you, try changing the value to the other one
  • Q: RDAC identification restarts unexpectedly or does not work at all, what can I try to fix it?
    • A: Check the programming in CPS, there might be multiple incorrect settings
      1. Open Conventional > Channel > Digital Channel (or analog) > Digital IP Multi-Site Connect (4th from top in channel detail) must be set to "Slot 1 & Slot 2"
      2. Open Conventional > General Settings > Access Manager and in the section "Multisite Access Management" either disable the management or set correct list
  • Q: SNMP does not work correctly, what can I try to fix it?
    • A: Check if SNMP port is set to 161 in Conventional > General Settings > Network section SNMP at the bottom
  • Q: I'm not getting the upstream connection and/or I'm seeing a lot of logs similar to "MMDVMProtocol - Sending Login Request"
    • A: This is usually misconfiguration of Hytera repeater, if you do not see any logs with 'RDAC' or the long packet with 'REPEATER SNMP CONFIGURATION' info. In such cases you should check if the Hytera repeater is programmed correctly as slave and the IP/ports do match the HHB startup log saying 'Hytera Repeater is expected to connect at xxx.xxx.xxx.xxx'

Project is licensed under AGPLv3 and uses parts of other software, mentioned in NOTICE


This project is intended for educational/scientific purposes, and for HAM community to use non-commercialy.
Use at your own risk, and expect no warranties.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hytera-homebrew-bridge-2021.2.tar.gz (140.3 kB view details)

Uploaded Source

Built Distribution

hytera_homebrew_bridge-2021.2-py3-none-any.whl (77.0 kB view details)

Uploaded Python 3

File details

Details for the file hytera-homebrew-bridge-2021.2.tar.gz.

File metadata

  • Download URL: hytera-homebrew-bridge-2021.2.tar.gz
  • Upload date:
  • Size: 140.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for hytera-homebrew-bridge-2021.2.tar.gz
Algorithm Hash digest
SHA256 9ea6817853b220465fbb2a0cfc61fbce99f9103e4bd35ab40ac04793f5ee6968
MD5 f570c58a78cb72cbe53b739c1956d438
BLAKE2b-256 f189309ded8b58b6ec0bc531f9ca6b78f57beab7378a532981056ede7ffda66d

See more details on using hashes here.

File details

Details for the file hytera_homebrew_bridge-2021.2-py3-none-any.whl.

File metadata

  • Download URL: hytera_homebrew_bridge-2021.2-py3-none-any.whl
  • Upload date:
  • Size: 77.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for hytera_homebrew_bridge-2021.2-py3-none-any.whl
Algorithm Hash digest
SHA256 69373f1c7086648ef68397f80f4dfabe18ba19750e01c5474681df54823021b3
MD5 216feaf576cd604436feecda337c44e5
BLAKE2b-256 8db5567a8151a1ef83138c42f9af5bf2163803a04de5871c71b4c2305f7860b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page