Показват се публикациите с етикет freedmr. Показване на всички публикации
Показват се публикациите с етикет freedmr. Показване на всички публикации

FreeDMR България

 Какво представлява FreeDMR България?

Това е съвкупност от сървъри който служат за свързване на точки за достъп, симплексни или дуплексни, даващи възможност на цифрови радиостанции да комуникират помежду си през един или няколко сървъра.

Дашборда на FreeDMR BG показва кои точки за достъп са свързани към него.

Прави впечатление, че има само два репитерни инициала а именно LZ0SAN симплексна точка за достъп на много добра локация в района на Сандански с мощност 5 вата и LZ0DCH ретранслатор в град Добрич.

Това са публичните точки за достъп към FreeDMR BG. Останалото в списъка на сървъра FreeDMR BG са персонални точки за достъп.

Сървърът FreeDMR BG е обединен със сървърите IPSC2-BULGARIA и IPSC2-BG-Hotspot на база Толк Група 2840 на слот 2 от страна на IPSC2 BG и Толк Група 284 от страна на FreeDMR BG.

Кратка справка в дашборда на IPSC2-BULGARIA ни показва, че към този сървър има закачени 15 DMR ретранслатора.

От така направените проверки става ясно, че към момента, към FreeDMR BG има достъп от 17 публични точки за достъп и то не на 100%.

Какво имам в предвид?

Достъпът е само до определени Толк Групи, основно ТГ 284 която е бриджната към ТГ 2840 на IPSC2 BG. Така са настроени точките за достъп.

Не е предвидена възможност да се активира произволна Толк Група на единият сървър и същата Толк Група да се активира и на другият сървър. Това трябва да се направи от администраторите на двата сървъра. Те трябва да се договорят какво и как ще се бриджва. Поне за сега е така.

Болшинството от цифровите ретранслатори в България са изградени на базата на две радиостанции Моторола с дуплексер, MMDVM модем и малък компютър Raspberry-Pi със софтуер Pi-Star.

Обединението на мрежите FreeDMR BG и IPSC2 BG е на базата на бридж между Толк Групи.

Pi-Star обаче позволява на дуплексна точка за достъп (ретранслатор) да бъдат направени две симплексни точки за достъп, едната на слот 1, другата на слот 2.

По този начин на слот 1 може да се направи на 100% поддръжка на една мрежа а на слот 2 на 100% поддръжка на друга мрежа.

Това е идея на LZ1PLC и по този начин работеше ретранслатора LZ0DLC.

Как се реализира това?

Pi-Star се поставя в режим Gateway. Активират се само две мрежи. По долу ще дам примерна конфигурация за IPSC2 BG на слот 1 и FreeDMR BG на слот 2.

За целта секцията [DMR Network 1] която е за BrandMeister трябва да се деактивират правилата PassAll и същите правила да се добавят и активират в секцийте на [DMR Network 2] IPSC2 BG и [DMR Network 4] FreeDMR BG.

[DMR Network 1]
Enabled=0
Id=
Address=2841.master.brandmeister.network
Password=""
Port=62031
TGRewrite0=2,9,2,9,1
PCRewrite0=1,94000,2,4000,1001
TypeRewrite0=1,9990,2,9990
SrcRewrite0=1,4000,2,9,1001
#PassAllPC0=1
#PassAllTG0=1
#PassAllPC1=2
#PassAllTG1=2
Debug=0
Location=1
Name=BM_2841_Bulgaria

[DMR Network 2]
Enabled=1
Id=YourID
Address=185.80.0.40
Password="PASSWORD"
Port=55555
TGRewrite0=1,8,2,9,1
TGRewrite1=1,284,1,284,1
PCRewrite0=1,84000,2,4000,1001
PassAllPC0=1
PassAllTG0=1
#PassAllPC1=2
#PassAllTG1=2
Debug=0
Location=0
Name=DMR+_IPSC2-BG-Hotspot
Options="TS1_1=284;"

[DMR Network 4]
Enabled=1
Id=YourID
Name=FreeDMR_Bulgaria
Address=sofia.freedmr.link
Port=62031
Password="passw0rd"
TGRewrite1=2,284,1,284,1
#PassAllPC0=1
#PassAllTG0=1
PassAllPC1=2
PassAllTG1=2
Location=0
Debug=0
Options="TS1_1=284;"

Това е идеята. Който иска да пробва.

Причината да не се използват на 100% възможностите на FreeDMR е във това, че точките за достъп са настройват за работа в повече от две мрежи и основно в BrandMeister която е приоритетна мрежа за Pi-Star. В една дуплексна точка за достъп има само два комуникационни канала, на които работят 5 сървъра - XLX, BrandMeister, IPSC2, HBlink и FreeDMR. Няма как при толкова много мрежи обслужвани от една точка за достъп да имаме пълно използване на възможностите на всички мрежи. Все нещо ще е орязано.

Необходимо е на точката за достъп или да се орежат броят сървъри които се ползват или да се даде приоритет на други мрежи, например IPSC2 и FreeDMR. Това обаче си е работа на администратора на точката за достъп. Администратора на сървъра тук не може да помогне.

Как да се направи?

Четете, мислете, е... то се мисли ако има с какво ;-)

Ако някой смята, че в изложението по-горе има грешки, моля да ме уведоми и статията ще бъде коригирана.

73 de LZ5PN

За FreeDMR България

В България работят два FreeDMR сървъра.

Основно на тези сървъри са закачени спотове (лични точки за достъп) с малка мощност до 5 Вт.

Ретранслаторите (обществените точки за достъп) се броят на пръстите на едната ръка и са разположени всичко на всичко в четири района и са локални. Покритие с ретранслатори с голямо покритие за България няма.

284025 LZ0NRG UHF duplex София - град KN12PR
284027 LZ0DCH UHF duplex Добрич KN33VN
284067 LZ0PLC UHF duplex Маноле KN22LE
284028 LZ0PNP UHF duplex Банско KN11RT
284032 LZ0ARD VHF simplex Банско KN11RT

Точките за достъп които поддържат на 100% възможностите на FreeDMR в България са още по-малко и клонят към нула, за сега.

И така възниква "великата" идея да се обединят мрежите FreeDMR (основно спотове в няколко мрежи които се ползват активно) със IPSC2 България (основно ретранслатори с голямо покритие но почти неизползвани) и по този начин да направи по-голямо покритие за FreeDMR.

В крайна сметка това обединение става факт.

НО!!!

За какво в същност става дума.

Създава се бридж (мост) между Толк Група (ТГ) 2840 от IPSC2 и ТГ 284 (националната ТГ) от FreeDMR.

Това е просто бридж през който става възможно трафикът от националната ТГ на FreeDMR да излезе на слот 2 на всички ретранслатори от мрежата на IPSC2.

Така се получава голямо покритие за FreeDMR.

НО... само за една единствена ТГ. Няма предвидена възможност да се използват всички ТГ от FreeDMR.

По същество тази връзка е като връзката между ТГ 284359 на BrandMeister и стая B на XLX359. Има връзка но само по една ТГ със една стая.

И в двата случая не могат да се използват напълно, на 100%, възможностите на двете свързани по този начин мрежи.

Сега да обърнем внимание на пътя който изминава комуникацията между две радиостанции работещи на  FreeDMR.

Ще разгледам три варианта.

Първи вариант:

радиостанция <-> ретранслатор <-> FreeDMR сървър <-> ретранслатор <-> радиостанция.

Втори вариант:

радиостанция <-> ретранслатор <-> IPSC2 сървър <-> ретранслатор <-> радиостанция.

Трети вариант:

радиостанция <-> ретранслатор <-> FreeDMR сървър <-> IPSC2 сървър <-> ретранслатор <-> радиостанция.

И така в третият вариант имаме една допълнителна комуникация между сървъра на FreeDMR и IPSC2 сървъра.

Въпросът е - Необходима ли е подобна връзка? 

Потребителите на лични спотове за DMR обикновенно ги настройват да работят в няколко мрежи едновременно а именно XLX, BrandMeister, IPSC2, HBlink, FreeDMR.

Подобна настройка имат и ретранслаторите на които има пуснат FreeDMR.

Софтуерът използван основно за направата на ретранслатори Pi-Star позволява подобна настройка. (Вижте другите ми статии в този блог и в другият ми блог lz5pn.blog.bg)

Изводът е, че подобна допълнителна връзка е излишна.

В ефира често чувам "хайде да тестваме и на другата мрежа..."

И се започват едни тестове... и се стига до генералният извод "ах колко добре се чуваме на FreeDMR"...

Не се отчита факта, че връзката която е критична за качеството на комуникацията е радиостанция <-> точка за достъп (спот или ретранслатор) и именно тази връзка зависи от радиолюбителя в най-голяма степен.

Връзката точка за достъп <-> сървър и сървър <-> сървър зависи от качеството на връзката между тези устройства която става през... Интернет. А интернета на днешно време е достатъчно добър за такива комуникации.

И така остава критична само връзката радиостанция <-> точка за достъп. Именно тази връзка зависи в най-голяма степен от радиолюбителя.

И така, със същият успех ползвателя на личният спот може да настрои спота си директно на връзка към IPSC2 ТГ 2840 и двамата да се чуят един с друг на сървъра на IPSC2, нали?

Да може да стане. 

Тогава комуникацията между двамата ще се осъществява през сървъра на IPSC2 а към сървъра на FreeDMR просто тази комуникация ще се ретранслира през бриджа към ТГ 284 на FreeDMR.

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

Заключение:

Различните сървъри имат различни екстри. Основновната прилика между сървърите е, че те свързват отделните точки за достъп (спотове, ретранслатори) във единна мрежа. Всеки един сървър също си има ограничения. Затова често се използва повече от един сървър. Това води до увеличаване на възможностите и покритието на мрежите от ретранслатори.

Точките за достъп имат възможност да се свързват към няколко вида DMR мрежи от сървъри, XLX, BrandMeister, IPSC2, HBlink, FreeDMR.

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

Именно това не всички колеги го разбират и се започва изграждане на мостове между мрежите.

В описаният по-горе частен случай на изграждане на мост между две мрежи и казаното до тук, става ясно, че същата тази връзка между две мрежи може успешно да бъде изградена и само чрез подходяща настройка на точките за достъп работещи под управлението на Pi-Star, а такива са почти 95% от точките за достъп.

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

DMR, D-Star, Fusion...

За настройките на Pi-Star, специално за DMR имам написани доста статии и в двата ми блога, как работи DMR, как работи Pi-Star (в частта си за DMR) и как се правят тези настройки. Има и много колеги които са съществили такива настройки на практика.

Затова, четете, питайте, мислете, то се мисли ако има с какво, разбира се. Тествайте и се обучавайте. Там е истината, в обучението и усвояването на цифровите технологии. Ако искате да ги използвате.

73 de LZ5PN

FreeDMR install

Инсталация на FreeDMR сървър.


В това описание може и да има и неумишлени грешки.

Бакъп на версията която работи и която беше FreeDMR ID: 2842 тук.


Следва описанието което съм следвал. Имайте в предвид че линковете може и да не са активни.

Сваляме сървърът от тук като tar.gz файл.

Аз използвам FileZilla за ъплоудването в сървъра.

cd /opt/

tar zxvf FreeDMR-master.tar.gz 

или може да се използва командата git.

apt update

apt upgrade

apt install git

Работната директория е /opt/ 

cd /opt/

git clone https://gitlab.hacknix.net/hacknix/FreeDMR.git

cd /opt/FreeDMR/
sh ./install.sh

python3 -m pip install -U pyOpenSSL cryptography

mkdir /var/log/freedmr/
mkdir config
cp FreeDMR-SAMPLE-commented.cfg config/FreeDMR.cfg
cp rules_SAMPLE.py config/rules.py

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

 nano /opt/FreeDmr/config/FreeDMR.cfg

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

[GLOBAL]
PATH: ./
PING_TIME: 10
MAX_MISSED: 3
USE_ACL: True
REG_ACL: PERMIT:ALL
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
GEN_STAT_BRIDGES: False
ALLOW_NULL_PASSPHRASE: True
ANNOUNCEMENT_LANGUAGES: en_GB,en_US,es_ES,fr_FR,de_DE,dk_DK,it_IT,no_NO,pl_PL,se_SE,pt_PT,CW
SERVER_ID: 0000
VALIDATE_SERVER_IDS: False
DATA_GATEWAY: False

[REPORTS]
REPORT: True
REPORT_INTERVAL: 60
REPORT_PORT: 4321
REPORT_CLIENTS: 127.0.0.1

[LOGGER]
LOG_FILE: /tmp/hblink.log
LOG_HANDLERS: console-timed
LOG_LEVEL: DEBUG
LOG_NAME: FreeDMR

[ALIASES]
TRY_DOWNLOAD: True
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/static/users.json
TGID_URL: http://downloads.freedmr.uk/downloads/talkgroup_ids.json
LOCAL_SUBSCRIBER_FILE: local_subcriber_ids.json
STALE_DAYS: 1
SUB_MAP_FILE:
SERVER_ID_URL: http://downloads.freedmr.uk/downloads/FreeDMR_Hosts.csv
SERVER_ID_FILE: server_ids.tsv

[ALLSTAR]
ENABLED: False
USER:llcgi
PASS: mypass
SERVER: my.asl.server
PORT: 5038
NODE: 0000

[MYSQL]

ENABLED: False
USE_MYSQL: False
USER: hblink
PASS: mypassword
DB: hblink
SERVER: 127.0.0.1
PORT: 3306
TABLE: repeaters

[OBP-TEST]
MODE: OPENBRIDGE
ENABLED: False
IP:
PORT: 62044
NETWORK_ID: 1
PASSPHRASE: mypass
TARGET_IP:
TARGET_PORT: 62044
USE_ACL: True
SUB_ACL: DENY:1
TGID_ACL: PERMIT:ALL
RELAX_CHECKS: False
ENHANCED_OBP: False
PROTO_VER: 2

[SYSTEM]
MODE: MASTER
ENABLED: True
REPEAT: True
MAX_PEERS: 1
EXPORT_AMBE: False
IP: 127.0.0.1
PORT: 54000
PASSPHRASE:passw0rd
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
DEFAULT_UA_TIMER: 60
SINGLE_MODE: True
VOICE_IDENT: True
TS1_STATIC:
TS2_STATIC:
DEFAULT_REFLECTOR: 0
ANNOUNCEMENT_LANGUAGE: en_GB
GENERATOR: 100
ALLOW_UNREG_ID: True
PROXY_CONTROL: True
OVERRIDE_IDENT_TG:

[ECHO]
MODE: PEER
ENABLED: False
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54916
MASTER_IP: 127.0.0.1
MASTER_PORT: 54915
PASSPHRASE: passw0rd
CALLSIGN: ECHO
RADIO_ID: 9990
RX_FREQ: 430500000
TX_FREQ: 439900000
TX_POWER: 25
COLORCODE: 1
SLOTS: 1
LATITUDE: 45.000000
LONGITUDE: 004.00000
HEIGHT: 320
LOCATION: FreeDMR-Echo:TG-9990
DESCRIPTION: ECHO
Url:
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_FreeDMR
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: False
SUB_ACL: PERMIT:ALL
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
TS1_STATIC:
TS2_STATIC:9990
DEFAULT_REFLECTOR: 0
ANNOUNCEMENT_LANGUAGE: en_GB
GENERATOR: 1
DEFAULT_UA_TIMER: 999
SINGLE_MODE: True
VOICE_IDENT: False

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

nano /opt/FreeDMR/config/rules.py

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

BRIDGES = {
#'9990': [
#           {'SYSTEM': 'ECHO',   'TS': 2, 'TGID': 9990, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [9990], 'OFF': [],'RESET': []},
#        ],
}

if __name__ == '__main__':
    from pprint import pprint
    pprint(BRIDGES)

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

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

python3 ./bridge_master.py -c ./config/FreeDMR.cfg -r ./config/rules.py

Пускаме сървъра като системен процес:

nano /lib/systemd/system/freedmr.service


--------------------------------------
[Unit]
Description=Start FreeDMR
After=multi-user.target

[Service]
ExecStart=/usr/bin/python3 /opt/FreeDMR/bridge_master.py -c /opt/FreeDMR/config/FreeDMR.cfg -r /opt/FreeDMR/config/rules.py

[Install]
WantedBy=multi-user.target
--------------------------------------

systemctl daemon-reload
systemctl start freedmr
systemctl status freedmr

Пускаме hotspot_proxy за да може автоматично да се пуска мастер за всеки спот или репитер които се закачат към сървъра. По подразбиране имаме 100 устройства които могат да се закачат към сървъра.

nano /lib/systemd/system/hotspot_proxy.service

--------------------------------------
[Unit]
Description=Start hotspot_proxy
After=multi-user.target

[Service]
ExecStart=/usr/bin/python3 /opt/FreeDMR/hotspot_proxy_v2.py

[Install]
WantedBy=multi-user.target
--------------------------------------

systemctl daemon-reload
systemctl start hotspot_proxy
systemctl status hotspot_proxy

Добавяме папагал за ехотест.

nano /opt/FreeDmr/config/FreeDMR.cfg

В секция  [ECHO] променяме ENABLED: False на ENABLED: True

nano /opt/FreeDMR/playback.cfg

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

[GLOBAL]
PATH: ./
PING_TIME: 10
MAX_MISSED: 3
USE_ACL: True
REG_ACL: PERMIT:ALL
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
GEN_STAT_BRIDGES: False
ALLOW_NULL_PASSPHRASE: False
ANNOUNCEMENT_LANGUAGES: es_ES
SERVER_ID: 9990
DATA_GATEWAY: False
VALIDATE_SERVER_IDS: False

[REPORTS]
REPORT: False
REPORT_INTERVAL: 60
REPORT_PORT: 4821
REPORT_CLIENTS: 127.0.0.1

[LOGGER]
LOG_FILE: /dev/null
LOG_HANDLERS: console-timed
LOG_LEVEL: DEBUG
LOG_NAME: HBlink

[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/static/users.json
TGID_URL: http://downloads.freedmr.uk/downloads/talkgroup_ids.json
LOCAL_SUBSCRIBER_FILE: local_subscriber_ids.json
STALE_DAYS: 7
SUB_MAP_FILE:
SERVER_ID_FILE:
SERVER_ID_URL:

[MYSQL]

ENABLED: False
USE_MYSQL: False
USER: hblink
PASS: mypassword
DB: hblink
SERVER: 127.0.0.1
PORT: 3306
TABLE: repeaters

[OBP-TEST]
MODE: OPENBRIDGE
ENABLED: False
IP:
PORT: 62044
NETWORK_ID: 1
PASSPHRASE: mypass
TARGET_IP:
TARGET_PORT: 62044
USE_ACL: True
SUB_ACL: DENY:1
TGID_ACL: PERMIT:ALL
RELAX_CHECKS: False

[PARROT]
MODE: MASTER
ENABLED: False
REPEAT: True
MAX_PEERS: 1
EXPORT_AMBE: False
IP: bmproject.freedmr.uk
PORT: 54915
PASSPHRASE: passw0rd
GROUP_HANGTIME: 5
USE_ACL: True
REG_ACL: DENY:1
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
DEFAULT_UA_TIMER: 10
SINGLE_MODE: True
VOICE_IDENT: False
TS1_STATIC:
TS2_STATIC:
DEFAULT_REFLECTOR: 0
GENERATOR: 1
ANNOUNCEMENT_LANGUAGE:es_ES
ALLOW_UNREG_ID: True
PROXY_CONTROL: False


[PLAY]
MODE: PEER
ENABLED: True
LOOSE: False
EXPORT_AMBE: False
IP:
PORT: 54002
MASTER_IP: localhost
MASTER_PORT: 54001
PASSPHRASE: homebrew
CALLSIGN: M0XFD
RADIO_ID: 2340210
RX_FREQ: 449000000
TX_FREQ: 444000000
TX_POWER: 25
COLORCODE: 1
SLOTS: 1
LATITUDE: 38.0000
LONGITUDE: -095.0000
HEIGHT: 75
LOCATION: Anywhere, USA
DESCRIPTION: play_file.py
URL: www.w1abc.org
SOFTWARE_ID: 20170620
PACKAGE_ID: MMDVM_FreeDMR
GROUP_HANGTIME: 5
OPTIONS:
USE_ACL: True
SUB_ACL: DENY:1
TGID_TS1_ACL: PERMIT:ALL
TGID_TS2_ACL: PERMIT:ALL
ANNOUNCEMENT_LANGUAGE: en_GB

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

nano /opt/FreeDMR/config/rules.py

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

BRIDGES = {
'9990': [
           {'SYSTEM': 'ECHO',   'TS': 2, 'TGID': 9990, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [9990], 'OFF': [],'RESET': []},
        ],
}

if __name__ == '__main__':
    from pprint import pprint
    pprint(BRIDGES)

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

Пускаме папагала като системна услуга:

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/FreeDMR
RestartSec = 3
ExecStart = /usr/bin/python3 /opt/FreeDMR/playback.py -c /opt/FreeDMR/playback.cfg
Restart = on-abort
 

[Install]
WantedBy = multi-user.target

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

systemctl enable parrot
systemctl start parrot
systemctl status parrot

Инсталираме дашборд.

За да виждаме какво става във сървъра инсталираме дашборд който работи със Apache2 или webserver-python:

cd /opt/
git clone https://github.com/sp2ong/HBMonv2.git
cd HBMonv2
git checkout webserver-python
chmod +x install.sh
./install.sh
cp config_SAMPLE.py config.py

Редактираме config.py където може да променим порта и паролата за достъп до дашборда а и други неща ;)

nano /opt/HBMonv2/config.py

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

cp utils/hbmon.service /lib/systemd/system/
systemctl enable hbmon
systemctl start hbmon
systemctl status hbmon

Пренасочваме TCP port 9000 и web server port 8080 във firewall на рутера за да се виждат отвън а така също и UDP port 62031 на който се извършва комуникацията между клиентите и сървъра.

Друга версия за дашборд:

https://github.com/yuvelq/FDMR-Monitor

 

Бакъп на моят FreeDMR сървър

Сървърът вече не е част от мрежата FreeDMR. Делистнат е и се ползва като личен сървър. Дашборда му се вижда тук.  

За FreeDMR

FreeDMR

Широко се рекламира сред радиолюбителите един нов DMR сървър - FreeDMR.

Бил свободен стабилен сървър.

Първообразът на този сървър е HBlink. Свободен DMR сървър който може да се използва за изграждане на малки DMR мрежи от няколко репитера или хотспота и позволява да се регулира трафика идващ от различни сървъри като IPSC2, XLX, BrandMeister. Pi-Star също има подобни възможности но HBlink притежава някои екстри в повече.

И така реших да го пробвам.

След доста ровене из нета попаднах на описание за инсталация и конфигурация на този сървър. Там имаше линк от където можеше да се свали имидж на сървъра. (Това описание за инсталация вече не е валидно.)

Какво представлява инсталацията на този сървър? В имиджа има един файл install.sh който инсталира група от пакети необходими на имиджа за да работи. След което сървърът се стартира от един файл в имиджа.

Дашборда се инсталира по подобен начин.

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

След доста борба със грешките в крайна сметка сървърът тръгна.

Опитах да свържа Pi-Star към него. Pi-Star отчита, че е свързан но сървърът не отчита подобна връзка.

Тогава пробвах да свържа HBlink. Връзката се оказа успешна но до тук.

Инсталирах ехотест. Ехотеста е самостоятелен процес който работи на определен порт и слуша за определена толк група. Ехотеста работи но няма комуникация между ехотеста и сървъра.

Очевидно и тук разработчиците са заложили капанчета които за сега не успявам да открия.

Накрая реших да инсталирам сървъра от нулата на друга машина която е свързана към друг доставчик на Интернет и тук вече ударих на камък.

Оказа се че мястото от което свалих имиджа вече не съществува. Вече не може да се свали имиджа на този сървър и да се инсталира.

След проверка се оказа, че има друг метод на инсталация чрез Docker. Какво е това чудо? Ами това е (образно казано) кутия във която е поставен сървърът и в която той работи. Извън кутията се намират само някои от конфигурационните файлове и са достъпни без да има нужда кутията да се отваря.

Позаинтересувах се от въпросният Docker и останах направо шокиран. Docker се използва от приложения като Adobe, PayPal, Netflix... Приложения които използват затворен код.

Значи, апапите които разработват „свободният“ сървър за DMR са взели свободният HBlink преработили са го и сега го набутват в кутия в която не всеки може да види какво има и да го промени и настрои към собствените си нужди.

Е това вече не е свободен софтуер. Това е софтуер който е достъпен само за тесен кръг от посветени хора. На страницата за инсталиране на сървъра има въпрос, има ли FreeDMR сървър във вашата страна? Ако има не е необходимо да инсталирате друг... С други думи казано, ще работим само с един представител на държава...

Такова е положението и в IPSC2 и във BrandMeister. И така за нашего брата остава само HBlink.

В момента може да се инсталира FreeDMR чрез докер НО!!! За целта ще ви трябва самостоятелна машина без никакви други сървъри инсталирани на нея, отделен IP адрес и домейн.

Е... мерси съм ама няма да отделям машина и домейн само за един сървър. Към момента Българският „FreeDMR“ е бриджнат с мрежата IPSC2 BG. Какво означава това? Ами това вече не е свободен самостоятелен сървър а просто една толк група от мрежата на IPSC2 BG. Към този сървър няма свързани репитри а само спотове. Използва се репитерната мрежа на IPSC2 BG.

При това положение за какво ми е да правя връзка към българският „FreeDMR“ който използва репитерната мрежа на IPSC2 BG? За какво да тормозя малкият Pi-Star с още мрежи? За България е достатъчно на Pi-Star да се активират само две DMR мрежи - IPSC2 BG (която е бриджната с FreeDMR) и BrandMeister (която е бриджната с XLX 359) Дето има една дума с един куршум два заека, е в случая четири.

 

Борбата за пускане на FreeDMR сървъра продъжава да видим до къде ще стигна. 

п.п.

Оказа се, че нещата са преместени, вижте следващата статия. Все още може да се инсталира без Докер но няма добри инструкции как това се прави.


73 de LZ5PN


За цифровизацията и авторитаризма в радио-любителското движение

В началото бе Ехолинк.

Сървър който позволяваше свързването на аналогов ретранслатор към софтуерен клиент. По този начин радиолюбителите придобиха възможността да използват компютър свързан към интернет за да комуникират помежду си.

Следващото нещо бе Зело.

Софтуерно радио при което идеята бе сходна с тази на Ехолинк.

Накрая дойдоха Д-Стар, ДМР, Фюжън радиостацийте които имат цифров режим на работа.

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

Възможностите за комуникация се увеличиха.

Но цифровите системи така също дават възможност и за контрол. Контролът от своя страна води до цензура. Цензурата е инструмент на авторитарните управления.

И така някои радиолюбители стоящи в управлението на БФРЛ решават да определят кой с кого да прави радио връзки което противоречи на принципите на радиолюбителското движение.

Стигна се до там, да се отказва провеждането на изпити организирани от групи радиолюбители и да се налага провеждането на изпитите да става под контрола на БФРЛ и само в столицата.

Администраторите на сървъри започнаха да банват радиолюбители за щяло и нещяло. За изказвания в публичното пространство противоречащи на мнението на опеделени хора в БФРЛ.

Други админи не допускаха Зело или Ехолинк до техните мрежи усложнявайки процедурите по свързването.

Тогава започна търсенете на алтернативи.

Една такава бе ХБлинк. За нещастие много админи на БрандМастер предимно от САЩ се опитаха да нап

 цифровизацията

равят ХБлинк система извън "закона" С непрекъснати атаки срещу създателя на ХБлинк го принудиха да затвори хранилището в ГитХъб.

Отговорът бе създаване на копия на този софтуер в ГитХъб. И така ХБлинк не умря но остана без съпорт.

По това време админа на Английският БрандМастер който набриджвал света към ХБлинк бива изгонен от БрандМастер и създава на базата на ХБлинк ФриДМР.

Ние помислихме, че това е продължението на ХБлинк и аз заедно с още двама колеги го пробвахме. За мен лично се оказа че разлика във функционалността почти няма и се отказах от този проект.

Остана само сървърът на LZ1GSP.

Радиолюбителите обаче не обичат ограниченията налагани от разни авторитарни личности. В търсене на свобода те обаче се разделиха на фракции които започнаха война за надмощие и така се стигна до така наречените репитерни войни.

БФРЛ като собственик на по-голяма част от ретранслаторите разположени по високи върхове и обекти на НУРТС започна да използва ИПСЦ2 сървър отделяйки се от БрандМастер.

Радиолюбителите които си комуникираха през БрандМастер бяха оставени без ретранслатори и се наложи да работят през персонални спотове (микро ретранслатори)

Ограничаването на свободата доведе до използването на ХБлинк а в последствие на ФриДМР но ретранслаторите поддържащи връзка към тези сървъри се брояха на пръстите на едната ръка.

Това разцепление доведе до това основно комуникацията да става чрез персонални спотове на ФриДМР.

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

Тук именно е грешката на админа на ФриДМР който прави бридж между ИПСЦ2 и ФриДМР на националната група на ФриДМР ТГ284. Това довежда до насилствено обединение което като отговор довежда до загубата на един от деата ретранслатора на които имаше ФриДМР. Но на война като на война. Губиш един за да спечелиш много.

От авторитаризъм към тоталитаризъм.

Уроците на историята обаче показват друго.

Когато на времето БФРЛ се отцепи от БМ и премина към ИПСЦ2 се получи затихване на комуникацийте на ИПСЦ2. БФРЛ чрез техният сървър ИПСЦ2 погълнаха независимите ретранслатори които бяха към БМ но не успяха да погълнат отделните радиолюбители. Сливането на ИПСЦ2 и ФриДМР се очкваше да присъедини отцепилите се по други сървъри радиолюбители. След първоначалната еуфория и краткият бум на комуникация, въпреки неистовите опити на някои радиолюбители стоящи в основата на това "обединение", комуникацията започна да затихва. Така както на времето затихна след отделянето на БФРЛ от БМ.

Какви изводи можем да направим?

Налагането на авторитарно управление на хора които имат свободен дух в крайна сметка води до разпад на това авторитарно управление.

Ако погледнем назад в историята, робовладелският строй отстъпва място на по-либералният феодален строй, който от своя страна отстъпва място на капиталистическият строй. Комунистическата диктатура се явява съвременен опит за възстановяване на феодалният строй със някакви псевдосоциални нюанси. Но тази утопия също търпи крах.

И така нещата се повтарят много сходни и във радиолюбителското движение.

Не може да има обедидение базирано на диктатура. Това не е обедидинение, това е тоталитарна диктатура.

Ако някой иска обединение най-лесно това може да стане през БрандМастер като се направят бриджове между мрежите. Такъв успешен бридж работи от преди началото на репитерните войни между сървърът ХЛХ359 и БрандМастер на ТГ284359.

Нищо не пречи на админите на сървърите ако понамалят малко егото си и обединят ИПСЦ2 на БФРЛ които имат и ХЛХ сървър 023 на ТГ284023 на БМ. Сървърът ФриДМР също има ХЛХ - 799, могат да го обединят на ТГ284799.

Технически е възможно.

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

Този сценарий е възможен. Единственото което пречи на изпълнението му е егото и авторитаризма на някои админи и някои ръководители на БФРЛ.

Дано разумът надделее и в крайна сметка да получим свободна комуникация между сървърите и тази репитерна война най-после да приключи.

73 de LZ5PN