Обединението в ДМР

 Наскоро LZ1SEO ме обвини, че съм бил разединил радиолюбителите като съм пускал разни сървъри като ХБлинк и ФриДМР...

 Аз и разединител? ...

 Когато на времето се създаде ИПСЦ2 БГ (аз тогава бях абсолютен новобранец) и дръпна към себе си репитрите в БГ, та по него време де, аз си купих спотче и го настроих на двете мрежи - БрандМастер и ИПСЦ2.

 Така аз обединих разделените репитри на моят спот и публикувах какво съм направил.

 Малииии горещ ветер... Това което последва накрая завърши с бан за мен в ИПСЦ2.

 После ми махнаха бана след маса разправий...

 НО... шило в торба седи ли?

 Щукна ми щурата идея да пусна в ДМР аналогов репитер. И се започна... Търсене на решение. Оказа се, че каквото и да правиш в крайна сметка ти трябва някаква ТГ на някакъв сървър на която да закачиш линка. Добре ама от ИПСЦ2 не искат да чуят, от БрандМастер отговориха ок ама само за тест... после го спираш...

 Добре ама аз искам да ми работи за постоянно... Не можело... И тогава се роди идеята за собствен сървър на който да се експериментира.

 Пуснах ХЛХ700, оказа се неподходящ. 

 Тогава намерихме ХБлинк е... с него вече стана. НО... Винаги има едно НО! Нещата станаха и даже се направихме мрежичка с ХБлинкове където си бъбрехме на технически теми. Позабравихме ИПСЦ2 и БрандМастер. Ако не бяха ни порязали така може би никога нямаше да се пускат други сървъри НО... Станалото станало админите на ИПСЦ2 и БрандМастер мирясаха временно... 

 Както казах винаги има едно НО! Този който пусна ХБлинк спря проекта и го махна от ГитХЪБ. Ами сега? Започна се отново търсене на заместител и тогава намерихме...

 Тогава намерихме ФриДМР. В началото си мислехме, че това е продължението на ХБлинк но сгрешихме, в основата това беше ХБлинк но после така го промениха, че вече не вършеше работата на ХБлинк. За да разбера това ново чудо на технологиите пуснах мой ФриДМР сървър. НО... Те БрандМастер и ФриДМР органически не се понясали. Рекламата за ФриДМР беше, че това била нова, световна, голяма мрежа, с много репитри и сървъри...

 Та започнах аз да я разучавам и се оказа, че не е вярно, имаше сървъри с по два три спота, основно бяха закачени спотове, репитри... тук таме... Казах го на всеослушание и бях обявен за враг номер едно на ФриДМР. Мани другото ами и я хакнаха за което изкараха мен виновен. Дори ме изкараха престъпник, без доказателства... Само на базата на клевети...

 Един радиолюбител, LZ5GY, се сприятели със админа на ИПСЦ2 БГ, LZ1ZAF и започна да лансира идеята за обединение. В крайна сметка успя да се пребори, обединиха ИПСЦ2 БГ ТГ2840 със ФриДМР ТГ284...

 Тези хорца, така и не проумяха как работят комуникационните канали. Основното не е сървъра а основното е точката за достъп, симплексен спот, дуплексен спот, репитер. 

 Тези точки за достъп имат един режим на работа, казва се ДМР Гейтауей. Та в този режим може да зададеш да имаш връзка към няколко типа мрежи, ХЛХ, БрандМастер, ИПСЦ2, ХБлинк, ФриДМР...

 Е те това така и не се проумя. НО... има и друго админите на БрандМастер БГ и ИПСЦ2 са инатливи магарета които са се запънали точно като магаре на мост. Ни напред, ни назад. Ритат, фърлят къчове и категорично отказват да седнат и да се разберат за едно обединение.

 На мен започна да ми писва, та затуй админите на разните там сървъри да седнат да прочетат това:

 

 Като го прочетат да вземат и да се замислят, ама то се мисли ако има с какво!!!

 За сега това е само проект и не е активен, до тогава докато не ми писне, не ви тегля майните на всички админи и не го активирам па ако щете пак ме банвайте!!!

 Сериозно ви казвам взимайте се в ръце!!! Сериозно ви казвам вземете пример от англичаните - https://hubnetwork.uk/

 Тази вечер колегата M0IKO се обади на ХЛХ359 от Англия, през тази мрежа.

 Искате ли още една мрежа в БГ? Не? Ами седнете си на дирниците и се разберете, че то не само на мен а и на една камара друг народ ни е писнало от магарешкият ви инат!!!

 Работата е елементарна, пак вижте примера и се замислете, говорете и се разберете. Стига вече с тая омраза!

 Заради няколко админа, всичко на всичко трима, дето не могат да смелят брашно заедно, останалите радиолюбители трябва да се чудят как да се чуват едни с други. Погледнете примера от скрийншота който съм ви дал, там се изграждат на базата на ТГ пет различни комуникационни канала във всичките пет вида мрежи. От там на нататък, магарета инатливи, проумейте го, всеки админ на точка за достъп да си решава, за себе си или за общността която ползва точката за достъп кои канали ще сложи да се използват!

 Проумяхте ли най-после какво трябва да направите?

 Ще повторя:

 Създайте връзки които да обединяват сървърите по различни комуникационни канали, пък сетне, който иска да ги ползва, който иска да ползва всичките, който иска само някои.

 Те това е! Дано сте го проумели, защото ми писна, вие като не може да се разберете, ние можем да го направим това обединение, но тогава не ми ревете като малки деца... "Ама другарко, той еди кой си направи това което аз не искам да направя!!!" И какво пак ли ще ми дърпате ушите?

Сядайте и се разберете!!!

 HBlink инсталация


Представям ви много спорният и плют от всички админи на сървъри от големи сървърни мрежи като BrandMeister и IPSC2 малък сървър HBlink който е подходящ за лична употреба.

Предупреждение: Ако се опитате да се свържете с HBlink към BrandMeister или IPSC2 без да сте се разбрали с техни величества админите, рискувате да бъдете подгонени като бесни кучета! Използвайте HBlink на собствен риск!

Описанието на инсталацията е старо и може да не протече съгласно очакванията!

И така преди няколко години бе направен опит този полезен малък ДМР сървър да бъде поставен извън закона, така да се каже, и след масирана атака срещу създателя му той свали проекта от ГитХъб. Тогава няколко човека, в това число и аз, качихме нашите последни работещи версии в ГитХъб, моята е тук.

Не е ъпдейтвана, понеже скоро след това проекта бе възстановен. Къде е новият проект не съм се интересувал. Бакъп на работещият мой HBlink може да се намери тук заедно със едно старо ръководство за инсталация.

Ето и ръководството:

 

Инсталация на HBLink

Ръководство



HBLink е DMR сървър. Подобно на BrandMeister и IPSC2 осигурява комуникация за DMR спотове или ретранслатори. Работи по подобие на домашните Интернет рутери. Има външни и вътрешни софтуерни интерфейси.

Външните интерфейси позволяват свързване към BrandMeister, IPSC2, XLX и OpenBridge (използва се за комуникация между HBLink сървърите).

Вътрешните интерфейси позволяват свързване на спотове или ретранслатори към HBLink.

HBLink може да бриджва интерфейси, вътрешен с вътрешен, външен с вътрешен и външен с външен (което не препоръчвам да се прави, може да получите бан)

HBLink е много добър за организиране на собствените ви DMR комуникации или изграждане на репитерна мрежа от няколко ретранслатора. За по-големи мрежи препоръчвам да използвате BrandMeister, IPSC2, XLX.


Следват инструкции как да се инсталира.


HBLink работи на Raspberry Pi 2 или 3. Пробван е на по-старите версии на Raspberry Pi но не тръгва. Пробван е и на Linux Mint, работи.


Инсталира се на операционна система Raspbian Buster Lite. Сваляте имиджа и го записвате на СД карта.


За Pi-Star трябва да се направят някои предварителни настройки за да може да се разреши достъпа до вашият HBLink.


Примерната инсталация е тази която аз съм тествал. Толк Групите и бриджовете са тези които аз съм ползвал. Специално OpenBridge към LZ1PLC може да не проработи при вас. Препоръчвам да се свържете с LZ1PLC за подробности относно конфигурацията на бриджа.


В примерната конфигурация са изградени следните връзки:

MASTER-LOCAL-1

MASTER-LOCAL-2

BRANDMEISTER-BG

IPSC2-BG-DMO

XLX359B

ECHOTEST

OBP-LZ1PLC


Някои от бриджовете между софтуерните интерфейси са постоянни, други са с таймер. Някои могат да се включват и изключват с кратко обаждане на зададена в конфигурацията на сървъра Толк Група. Други са перманентни.

Как точно ще направите вашата конфигурация зависи от вас.


Внимавайте с бриджовете за да не получите бан!!!


Логваме се в Pi-Star и добавяме още HBlink сървъри.


sudo su

rpi-rw


Добавяме хостове към Pi-Star. Полетата трябва да са отделени с табулатор не с интервали!


nano /root/DMR_Hosts.txt


################################################################################

#BM_Custom_01 1234 1.2.3.4 passw0rd 62031

#DMR+_Custom_01 1234 1.2.3.4 PASSWORD 55555

################################################################################

#HBLINK LZ1PLC

################################################################################

Hblink_LZ1PLC_1 0000 87.252.188.119 passw0rd 54000

################################################################################

#HBLINK M0GYU

################################################################################

Hblink_M0GYU_1 0000 m0gyu.freeddns.com passw0rd 54051

################################################################################


Добавяме правила в firewall.


nano /root/ipv4.fw

------------------------------------------------------------------------------------------------------------------------

#HBLINK LZ1PLC ports

iptables -A OUTPUT -p udp --dport 54000 -j ACCEPT

#HBLINK LZ5PN ports

iptables -A OUTPUT -p udp --dport 54054 -j ACCEPT

------------------------------------------------------------------------------------------------------------------------

exit

exit


Ъпдейтваме Pi-Star през уеб интерфейса за да се приложат правилата:

Configuration --> Update


Вече имате HBlink servers добавени в вашият Pi-Star.


Препоръчвам да ползвате Pi-Star в Gateway mode.


Активирането на HBLink се прави от Configuration => Exper => Full Edit: DMR GW


Скролваме надолу до секцията [DMR Network 3]


Следва моята комфигурация:

------------------------------------------------------------------------------------------------------------------------

[DMR Network 3]

Enabled=1

Name=HBLink

# Your Domain or IP or Local IP

Address=[change to your]

#Port for MASTER-LOCAL-1

Port=54051

TGRewrite=2,11,2,11,1

Password=passw0rd

Location=0

Debug=0

TGRewrite0=2,11,2,11,1

TGRewrite1=1,15800,1,15800,1

TGRewrite2=1,14284,1,14284,1

TGRewrite3=1,142843,1,142843,1

TGRewrite4=1,1428402,1,1428402,1

TGRewrite5=2,149990,2,149990,1

TGRewrite6=1,12284,1,12284,1

TGRewrite7=1,122843,1,122843,1

TGRewrite8=1,1228430,1,1228430,1

TGRewrite9=1,1284359,1,1284359,1

TGRewrite10=2,9999,2,9999,1

TGRewrite11=1,55,1,55,1

TGRewrite12=2,55,2,55,1

TGRewrite13=2,1111,2,1111,1

TGRewrite14=1,15359,1,15359,1

TGRewrite15=1,1128430,1,1128430,1

TGRewrite16=1,1284235,1,1284235,1

TGRewrite17=2,1112,2,1112,1

TGRewrite18=1,111,1,111,1

TGRewrite19=1,153598,1,153598,1

------------------------------------------------------------------------------------------------------------------------


След тази подготовка се логваме в Raspberry Pi и започваме инсталацията на HBlink


sudo su


apt-get update

apt-get upgrade


apt-get install git

apt-get install python3-distutils

cd /opt/

wget https://bootstrap.pypa.io/get-pip.py

python3 get-pip.py

apt-get install python3-twisted

apt-get install python3-bitarray

apt-get install python3-dev

git clone https://github.com/kc1awv/hblink3

git clone https://github.com/jayz28/dmr_utils3

git clone https://github.com/ea5gvk/dmr_utils3

cd dmr_utils3

chmod +x install.sh

./install.sh


cd /opt/hblink3

cp hblink-SAMPLE.cfg hblink.cfg

nano hblink.cfg


Коригираме или добавяме следните секции:

------------------------------------------------------------------------------------------------------------------------

[LOGGER]

LOG_FILE: /tmp/hblink.log

#LOG_HANDLERS: console-timed

LOG_HANDLERS: console-timed,file-timed

#LOG_LEVEL: DEBUG

LOG_LEVEL: INFO

LOG_NAME: HBlink


Заменяме [OBP-1] с:


[OBP-LZ1PLC]

MODE: OPENBRIDGE

ENABLED: True

#ENABLED: False

IP:

PORT: 62038

NETWORK_ID: 6606466

PASSPHRASE: password

TARGET_IP: xlx800.ddns.net

TARGET_PORT: 62037

USE_ACL: True

SUB_ACL: PERMIT:ALL

TGID_ACL: PERMIT:ALL


Заменяме [MASTER-1] с:


[MASTER-LOCAL-1]

MODE: MASTER

ENABLED: True

#ENABLED: False

REPEAT: True

MAX_PEERS: 10

EXPORT_AMBE: False

IP:

PORT: 54051

PASSPHRASE: passw0rd

GROUP_HANGTIME: 5

USE_ACL: True

REG_ACL: PERMIT:ALL

SUB_ACL: PERMIT:ALL

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL


Изтриваме [REPEATER-1] и добавяме:


За IPSC2 BG, за да не бъдете баннати, поискайте разрешение от админастратора!

Макар че настройките представят HBLink като спот и тръгва без проблеми.

За BrandMeister, не всички сървъри приемат HBLink. За сега БГ сървърът го приема.



[LZ1PLC]

MODE: PEER

ENABLED: True

#ENABLED: False

LOOSE: False

EXPORT_AMBE: False

IP:

PORT: 54004

MASTER_IP: xlx800.ddns.net

MASTER_PORT: 54000

PASSPHRASE: passw0rd

CALLSIGN: YourCallSign

RADIO_ID: YourID+ESSID

#Some frequencies it is good idea to be real ;)

RX_FREQ: 449000000

TX_FREQ: 444000000

TX_POWER: 1

COLORCODE: 1

#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.

SLOTS: 3

#Latitude, Longtitude – it is a good idea to be real

LATITUDE: 000.000000

LONGITUDE: 000.000000

HEIGHT: 0

LOCATION: local

DESCRIPTION: hotspot

URL: http://www.qrz.com/db/YourCallSign

SOFTWARE_ID: 20170620

PACKAGE_ID: MMDVM_HBlink

GROUP_HANGTIME: 5

OPTIONS:

USE_ACL: True

SUB_ACL: PERMIT:ALL

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL


[BRANDMEISTER-BG]

MODE: PEER

ENABLED: True

#ENABLED: False

LOOSE: False

EXPORT_AMBE: False

IP:

PORT: 54004

#BrandMeister Bulgaria

MASTER_IP: 193.93.24.31

MASTER_PORT: 62031

PASSPHRASE: passw0rd

CALLSIGN: YourCallSign

RADIO_ID: YourID+ESSID

#Some frequencies it is good idea to be real ;)

RX_FREQ: 449000000

TX_FREQ: 444000000

TX_POWER: 1

COLORCODE: 1

#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.

SLOTS: 3

#Latitude, Longtitude – it is a good idea to be real

LATITUDE: 000.000000

LONGITUDE: 000.000000

HEIGHT: 0

LOCATION: local

DESCRIPTION: hotspot

URL: http://www.qrz.com/db/YourCallSign

#To avoid headache with admins, I recommend to present HBlink as hotspot ;)

SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4

PACKAGE_ID: MMDVM_MMDVM_HS_Hat

GROUP_HANGTIME: 5

OPTIONS:

USE_ACL: True

SUB_ACL: DENY:1

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL


[IPSC2-BG-DMO]

MODE: PEER

ENABLED: True

#ENABLED: False

LOOSE: False

EXPORT_AMBE: False

IP:

PORT: 54003

#IPSC2-BG-DMO

MASTER_IP: 185.80.0.40

MASTER_PORT: 55555

PASSPHRASE: PASSWORD

CALLSIGN: YourCallSign

RADIO_ID: YourID+ESSID

#Some frequencies it is good idea to be real ;)

RX_FREQ: 449000000

TX_FREQ: 444000000

TX_POWER: 1

COLORCODE: 1

#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.

SLOTS: 3

#Latitude, Longtitude - it is a good idea to be real

LATITUDE: 000.000000

LONGITUDE: 000.000000

HEIGHT: 0

LOCATION: local

DESCRIPTION: hotspot

URL: http://www.qrz.com/db/YourCallSign

#To avoid headache with admins I recommend to present HBlink as hotspot ;)

SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4

PACKAGE_ID: MMDVM_MMDVM_HS_Hat

GROUP_HANGTIME: 5

OPTIONS: TS1_1=284;TS2_1=2843;TS2_2=28402;

USE_ACL: True

SUB_ACL: PERMIT:ALL

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL


[XLX359B]

MODE: XLXPEER

ENABLED: True

#ENABLED: False

LOOSE: True

EXPORT_AMBE: False

IP:

PORT: 54002

#XLX359

MASTER_IP: 94.156.172.213

MASTER_PORT: 62030

PASSPHRASE: passw0rd

CALLSIGN: YourCallSign

RADIO_ID: YourID

#Some frequencies it is good idea to be real ;)

RX_FREQ: 449000000

TX_FREQ: 444000000

TX_POWER: 1

COLORCODE: 1

#SLOTS: 1 – slot 1, 2 – slot 2, 3 – slot 1 and 2, 4 – DMO mode.

SLOTS: 2

#Latitude, Longtitude - it is a good idea to be real

LATITUDE: 000.000000

LONGITUDE: 000.000000

HEIGHT: 0

LOCATION: local

DESCRIPTION: hotspot

URL: http://www.qrz.com/db/YourCallSign

#To avoid headache with admins I recommend to present HBlink as hotspot ;)

SOFTWARE_ID: DMRGateway-20200502_Pi-Star_v4

PACKAGE_ID: MMDVM_MMDVM_HS_Hat

GROUP_HANGTIME: 5

#4001 – mean Room A, 4002 – mean Room B, 4003 – mean Room C ...

XLXMODULE: 4002

USE_ACL: True

SUB_ACL: DENY:1

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL

------------------------------------------------------------------------------------------------------------------------


Редактираме бриджовете:


cp rules_SAMPLE.py rules.py

nano rules.py

------------------------------------------------------------------------------------------------------------------------

BRIDGES = {

'OBP-LZ1PLC-11': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 2, 'TGID': 11, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 2, 'TGID': 11, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

{'SYSTEM': 'OBP-LZ1PLC', 'TS': 1, 'TGID': 2, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'BRANDMEISTER-284': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'BRANDMEISTER-2843': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'BRANDMEISTER-2840': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [55], 'OFF': [77], 'RESET': []},

{'SYSTEM': 'BRANDMEISTER-BG', 'TS': 1, 'TGID': 2840, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'SVXLINK-28430': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 28430, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [30], 'OFF': [60], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 28430, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [30], 'OFF': [60], 'RESET': []},

],

'XLX359-B': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 284359, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [44], 'OFF': [99], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 284359, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [44], 'OFF': [99], 'RESET': []},

{'SYSTEM': 'XLX359B', 'TS': 2, 'TGID': 9, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'IPSC2-BG-DMO-284': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 1284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [31], 'OFF': [61], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 1284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [31], 'OFF': [61], 'RESET': []},

{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 1, 'TGID': 284, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'IPSC2-BG-DMO-2843': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 12843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [32], 'OFF': [62], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 12843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [32], 'OFF': [62], 'RESET': []},

{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 2, 'TGID': 2843, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

],

'IPSC2-BG-DMO-28402': [

{'SYSTEM': 'MASTER-LOCAL-1', 'TS': 1, 'TGID': 128402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [33], 'OFF': [63], 'RESET': []},

{'SYSTEM': 'MASTER-LOCAL-2', 'TS': 1, 'TGID': 128402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'ON', 'ON': [33], 'OFF': [63], 'RESET': []},

{'SYSTEM': 'IPSC2-BG-DMO', 'TS': 2, 'TGID': 28402, 'ACTIVE': True, 'TIMEOUT': 15, 'TO_TYPE':'NONE', 'ON': [], 'OFF': [], 'RESET': []},

]

}

------------------------------------------------------------------------------------------------------------------------




Тестваме конфигурацията:


python3 /opt/HBlink3/bridge.py




Инсталираме уеб базиран монитор за HBLink.


cd /opt/

git clone https://github.com/sp2ong/HBmonitor.git

cd HBmonitor

chmod +x install.sh

./install.sh

cp config_SAMPLE.py config.py

nano /opt/HBmonitor/config.py


и променяме например:

------------------------------------------------------------------------------------------------------------------------

REPORT_NAME = 'Dashboard of LZ5PN/M0GYU local DMR network' # Name of the monitored HBlink system

------------------------------------------------------------------------------------------------------------------------



Стартираме монитора като сървис на системата:


cp utils/hbmon.service /lib/systemd/system/

systemctl enable hbmon

systemctl start hbmon

systemctl status hbmon

forward TCP ports 8080 and 9000 in router firewall


Отбележете, че таблицата lastherad показва само станцийте предавали повече от 2 секунди.!



Автоматичен старт на HBLink:


nano /lib/systemd/system/hblink.service


------------------------------------------------------------------------------------------------------------------------

[Unit]

Description=Start HBlink

After=multi-user.target


[Service]

ExecStart=/usr/bin/python3 /opt/HBlink3/bridge.py


[Install]

WantedBy=multi-user.target

------------------------------------------------------------------------------------------------------------------------


systemctl daemon-reload

systemctl enable hblink

systemctl start hblink

systemctl status hblink


Инсталиране на Parrot за Echotest група:


cd /opt/HBlink3

wget https://github.com/kc1awv/hblink3/master/playback.py

chmod +x playback.py


Трябва да създадем конфигурационен файл за ехо сървъра въз основа например hblink.cfg или да въведете следната версия във файла /opt/HBlink3/playback.cfg


nano /opt/HBlink3/playback.cfg

------------------------------------------------------------------------------------------------------------------------

[GLOBAL]

PATH: ./

PING_TIME: 10

MAX_MISSED: 5

USE_ACL: True

REG_ACL: PERMIT:ALL

SUB_ACL: DENY:1

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL


[REPORTS]

REPORT: False

REPORT_INTERVAL: 60

REPORT_PORT: 4322

REPORT_CLIENTS: 127.0.0.1


[LOGGER]

LOG_FILE: /var/log/hblink/parrot.log

LOG_HANDLERS: file-timed

LOG_LEVEL: INFO

LOG_NAME: Parrot


[ALIASES]

TRY_DOWNLOAD: False

PATH: ./

PEER_FILE: peer_ids.json

SUBSCRIBER_FILE: subscriber_ids.json

TGID_FILE: talkgroup_ids.json

#PEER_URL: https://www.radioid.net/static/rptrs.json

#SUBSCRIBER_URL: https://www.radioid.net/api/dmr/user/?country=Poland

PEER_URL: https://database.radioid.net/static/rptrs.json

SUBSCRIBER_URL: https://database.radioid.net/api/dmr/user/?country=Poland

STALE_DAYS: 7


[PARROT]

MODE: MASTER

ENABLED: True

REPEAT: True

MAX_PEERS: 10

EXPORT_AMBE: False

IP:

PORT: 54100

PASSPHRASE:password

GROUP_HANGTIME: 5

USE_ACL: True

REG_ACL: DENY:1

SUB_ACL: DENY:1

TGID_TS1_ACL: DENY:ALL

TGID_TS2_ACL: PERMIT:9999

------------------------------------------------------------------------------------------------------------------------


Създайте директория за регистрационни файлове, ако / var / log / hblink не e създадена.


mkdir /var/log/hblink


За да стартираме сървъра, трябва да използваме файла /lib/systemd/system/parrot.service 


nano /lib/systemd/system/parrot.service


със съдържанието:

------------------------------------------------------------------------------------------------------------------------

[Unit]

Description=HB bridge all Service


After=network-online.target syslog.target

Wants=network-online.target


[Service]

StandardOutput=null

WorkingDirectory=/opt/HBlink3

RestartSec=3

ExecStart=/usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg

Restart=on-abort


[Install]

WantedBy=multi-user.target

------------------------------------------------------------------------------------------------------------------------


Стартираме сървъра, както следва:


systemctl enable parrot.service

systemctl start parrot.service

systemctl status parrot.service


Ако всичко е правилно, ще имаме подобен резултат от проверката на състоянието:

------------------------------------------------------------------------------------------------------------------------

● parrot.service - HB bridge all Service

Loaded: loaded (/lib/systemd/system/parrot.service; enabled; vendor preset: enabled)

Active: active (running) since Tue 2019-10-01 13:29:08 CEST; 6 days ago

Main PID: 29533 (python3)

Tasks: 1 (limit: 4915)

CGroup: /system.slice/parrot.service

└─29533 /usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg

------------------------------------------------------------------------------------------------------------------------


Ако не, проверяваме съдържанието на /var/log/hblink/parrot.log.


Ако състоянието на услугата parrtot е ОК ( активно (работи) ), можем да добавим Ecotest към /opt/HBlink3/hblink.cfg към конфигурацията на ECHO сървъра:


nano /opt/HBlink3/hblink.cfg

------------------------------------------------------------------------------------------------------------------------

[ECHOTEST]

MODE: PEER

ENABLED: True

LOOSE: False

EXPORT_AMBE: False

IP:

PORT: 54098

MASTER_IP: 127.0.0.1

MASTER_PORT: 54100

PASSPHRASE: password

CALLSIGN: ECHO

RADIO_ID: 9999

RX_FREQ: 000000000

TX_FREQ: 000000000

TX_POWER: 1

COLORCODE: 1

SLOTS: 2

LATITUDE: 53.00000

LONGITUDE: -8.00000

HEIGHT: 0

LOCATION: Server Echo: TG 9999

DESCRIPTION: Echo server

URL:

SOFTWARE_ID: DMRGateway-20190702

PACKAGE_ID: MMDVM_HBlink

GROUP_HANGTIME: 5

OPTIONS:

USE_ACL: False

SUB_ACL: DENY:1

TGID_TS1_ACL: PERMIT:ALL

TGID_TS2_ACL: PERMIT:ALL

------------------------------------------------------------------------------------------------------------------------


и в правилата /opt/HBlink3/rules.py


nano /opt/HBlink3/rules.py

------------------------------------------------------------------------------------------------------------------------

'ECHOTEST': [

{'SYSTEM': 'MASTER-H', 'TS':2, 'TGID':9999, 'ACTIVE':True, 'TIMEOUT':1, 'TO_TYPE': 'NONE', 'ON':[], 'OFF':[], 'RESET':[]},

{'SYSTEM': 'MASTER-RPT', 'TS':2, 'TGID':9999, 'ACTIVE':True, 'TIMEOUT':1, 'TO_TYPE': 'NONE', 'ON':[], 'OFF':[], 'RESET':[]},

{'SYSTEM': 'PARROT', 'TS':2, 'TGID':9999, 'ACTIVE':True, 'TIMEOUT':1, 'TO_TYPE': 'NONE', 'ON':[], 'OFF':[], 'RESET':[]},

],

------------------------------------------------------------------------------------------------------------------------


рестартираме сървъра на hblink:


systemctl restart hbmon

systemctl restart hblink



Горепосочените инсталация и настройки са направени с любезното съдействие на LZ1PLC и LZ1GSP.


73 de LZ5PN/M0GYU


Моята История във ДМР

Имаше един призив от LZ1PLC да опишем нещата така както ние ги знаем.
 
Ето историята:
 
Едно време в България имало един сървър BrandMeister който бил част от международна група сървъри които имали комуникация помежду си. ДМР репитрите на БФРЛ били закачени към този сървър но дефакто в тази мрежа няма значение на кой сървър се закачаш, комуникацията върви от всички към всички.
 
БФРЛ са искали да имат собствен сървър върху който да имат контрол, след като не са могли да вземат българският сървър са поискали втори, техен сървър, но и това им е било отказано.
 
Тогава пускат сървъра ИПСЦ2 БГ и преместват всички репитри собственост на БФРЛ на него. Една част от репитрите обаче са частна собственост и те се преместват на по-късен етап.
 
Точно в този конфликтен момент моя милост LZ5PN влиза в света на ДМР. 
 
След като се появиха двата синода една част от радиолюбителите останаха в едната мрежа друга част в другата мрежа. Това положение не ми хареса, след като двете мрежи не се разбраха за обединение трябваше да се търси друго решение.
 
С помоща на колеги които бяха по-запознати от мен със Pi-Star бях посъветван да използвам DMR Gateway режима и така да бъда в двете мрежи едновременно. Как точно да стане, как работи този режим на Pi-Star ми помогна да го разбера колега от Лондон който работеше като администратор на линукски сървъри. Той ме посъветва да прочета това: https://github.com/g4klx/DMRGateway/wiki/Rewrite-Rules...
 
Получи се и публикувах информация как се прави в това в моят блог https://lz5pn.blog.bg/.../mmdvm-repeater-spot-in... и в ФБ групите. Това взриви нещата и последва бан за мен във ИПСЦ2 БГ който в последствие бе премахнат.
 
Навлизайки в света на ДМР комуникациите си задодох въпроса не може ли някои аналогови репитри да се пуснат на ТГ във ДМР. Започнахме аз и още няколко колеги единият беше LZ1PLC работа по този проект. Оказа се че ни е необходим собствен сървър поради отказа на админите на ИПСЦ2 и БрандМастер да ползваме тези сървъри, единият админ беше съгласен да се правят експерименти но само на една ТГ.
 
Тогава започна търсенето на сървър който да си пуснем за лична употреба. 
 
Пробвахме XLX, заработи но се оказа неподходящ. След което LZ1PLC изнамери ХБлинк. По него време аз нямах Распбери тройка и тогава в проекта се включи LZ1GSP, a аз се включих на малко по-късен етап когато ми пристигна моята малинка, след около 3 месеца закъснение.
ХБлинк заработи, свързахме ХБлинковете в малка мрежа и започнахме да си чоплим по проектите.
 
За наш лош късмет обаче, създателя на ХБлинк го свали от ГитХъб и ъпдейтите спраяха.
 
Видяхме се в чудо и започнахме да търсим алтернатива.
 
По него време английският админ на БрандМастер навързал една камара ХБлинкове през БМ в резултат на което неговият сървър го премахват от системата на БрандМастер и той на базата на ХБлинк създава ФриДМР.
 
Така ние се прехвърлихме на този сървър. Пак поради това, че нямах свободна 
малинка аз се включих на малко по късен етап в проекта със закъснение от три месеца. Тествах сървъра, оказа се, че няма да ми свърши работа така както ХБлинк и се отказах. Междувременно ХБлинк проекта бе възстановен и ъпдейтите тръгнаха отново.
 
Малко по-късно отново реших да се пробвам със ФриДМР сървъра но нещата се бяха променили много от времето когато за първи път го тествах. Междувременно LZ1PLC беше спрал неговият ФриДМР сървър и единственият човек който беше в течение на последните новости във ФриДМР LZ1GSP ми помогна със настройките и регистрацията на сървъра и така се получи FreeDMR Bulgaria-2.
 
За разлика от LZ1GSP аз никога не съм смятал ФриДМР за сериозен сървър знаейки, че произлиза от ХБлинк. Въпреки сериозната работа по това да се промени първообраза ХБлинк в нещо съвсем ново, все още стоят във папката на сървъра файлове във които има коментари за ХБлинк.
 
В момента ФриДМР сървъра е много променен и не върши работата на ХБлинк затова оставих и двата сървъра да работят.
 
В един момент LZ5GY след серия неуспешни опити да пусне свой репитер, се сприятели със LZ1ZAF. Резултатът беше една "гениална" идея за обединие на сървърите, нещо което няма как да стане а и не е необходимо като се има в предвид, че 90% от репитрите и спотовете работят на Pi-Star а през него може да има връзка към всички видове сървъри.
 
Междувременно с появата на нови сървъри аз добавях към Pi-Star и тях и така се получи конфигурационен файл за пет мрежи https://lz5pn.blog.bg/.../pi-star-v-pet-bg-dmr-mreji.1781454 който файл е препоръчителен а не задължителен. Всеки може да си избере кои мрежи да използва.
 
Появи се обаче една групичка около LZ5GY които започнаха да разпространяват друга версия на този конфигурационен файл. В последствие започнаха проблеми със ФриДМР сървъра на LZ1GSP и накрая ме изкараха мен най-големият хакер престъпник организирал престъпна група...
 
В резултат на всичко това обединените мрежи ИПСЦ2 БГ и ФриДМР БГ на LZ1GSP се изолираха от света.
 
Останалата част от ФриДМР в това число и моят сървър обаче продължават да си работят.
 
Дали тази изолация на ДМР мрежата в БГ е била търсена целенасочено или не, ще покаже бъдещето.
 
Искам само да подчертая, че опитите за излолация никога не са успявали. Има БрандМастер който не поддържа идеята за изолация, има и други мрежи и сървъри които също не поддържат тази идея. Но... сега сте се изолирали. Е... въпрос на личен избор.
 
Завършвам с моята любима сентенция: "Мислете, то се мисли ако има с какво!"
 
73 de LZ5PN

 

Публикувано във Фейсбук на 15 Януари 2020


Лъчизар Петров Кърчев DMR Bulgaria

15 January 2020  ·

Мрежи, мрежи. Brandmeister, DMR+... А защо да не се ползват и двете на един и същи хотспот или ретранслатор?

ТГ284 на Brandmeister и на ДМР+, локална на Brandmeister и на ДМР+. Да се обединят групите, без да си пречат но да се знае кой от коя мрежа се обажда, за да може да се отговори в съответната мрежа?

Ето ви една примерна работеща MMDVM Pi-Star конфигурация благодарение на съветите от 2E0MTP-Богдан и LZ1PLC-Петър.

На слот 1 имаме 284,284359,1284, на слот 2 2843,12843. Преименуваме групите от ДМР+ както следва ТГ284 на ТГ1284 и ТГ2843 на ТГ12843.

Така на слот 1 поставяме Brandmeister национална, Д-Стар XLX359 (TГ284359 Brandmeister) и ДМР+ национална. На слот 2 имаме локална група от Brandmeister и ДМР+.

All in one  Който и от където да се обади ще го чуем и ще му отговорим. Комуникация с всички ДМР мрежи при което се запазва независимостта на отделните мрежи. И в добавка ако едната спре другата продължава да работи.

Как?

Описано е в Гитхъб https://github.com/g4klx/DMRGateway/wiki/Rewrite-Rules

ММDVM трябва да е в режим Gateway.

За ДМР+ се променят настройките в Configuration,Expert,Full Edit: DMR GW секция [DMR Network 2].

Примерна конфигурация:

[DMR Network 2]

Enabled=1

Address=185.80.0.40

Port=55555

TGRewrite0=1,1284,1,284,1

TGRewrite1=1,12843,1,2843,1

PCRewrite0=2,84000,2,4000,1001

Password="PASSWORD"

Debug=0

Id=234428204

Name=DMR+_IPSC2-BG-DMO

Options="TS1_1=284;TS2_1=2843;"

За БМ се правят нормалните настройки в ММDVM Configuration.

XLX остава свободен и може да се използва за нещо друго. 

Снимките са от действаща конфигурация на Pi-Star с MMDVM дуплексен радио модул - микро ретранслатор (10 мВт) Същият софтуер се използва и за ретранслатори с две радиостанции и MMDVM модем.

Конфигурацията е приложима за всички Pi-Star хотспотове и ретранслатори.

73 de LZ5PN/M0GYU