Realizziamo un XReflector con il Raspberry [parte 1]

di | 14/03/2015

Quando parliamo dei sistemi D-Star si arriva inevitabilmente a discorrere di DCS, XREFLECTOR e REFLECTOR, software che permettono l’interconnessione di più stazioni radio fra loro. Ognuno di questi software ha proprie caratteristiche di gestione, ma tutti sono privi di “porte radio” ed il loro compito è quello di ricevere un flusso dati (la nostra voce digitalizzata) da una stazione radio connessa ad internet (tramite un software “gateway” o “ircddbgateway“) e ritrasmetterlo simultaneamente e tutte le stazioni radio che in quel preciso momento sono collegate al sistema. Si assiste quindi ad uno scambio di dati fra i vari ponti ripetitori, hotspot, dongle, etc. connessi, ma “in frequenza” si uscirà solo grazie alle singole stazioni che riceveranno tali flussi di dati che con il software opportuno (si parla di “dstarrepeater“) e a schede tipo DVRPTR, Satoshi, DVMega, etc. effettueranno la trasmissione su apparati ricetrasmettitori.

 dxrfd è il software (Open Source G2 DSTAR Reflector, ovvero XRF reflector) usato per creare un “reflector D-Star”. Esso “gira” su qualsiasi sistema Linux e comunica con i vari gateway e ripetitori oltre che hotspot, dvdongle, dvap, etc. Occorre eseguire un port-forwarding verso l’ip del server della porta 30001 (udp) sul router per permettere la connessione ai ponti ripetitori (ricorda che il reflector riceve la connessione e NON la effettua) e la porta 20001 (udp) per i dongle e hotspot dei singoli utenti. E’ molto importante avere una connettività ADSL con banda garantita sufficiente e un indirizzo IP pubblico statico (non obbligatorio, ma consigliato). Il software reflector non può funzionare su di un sistema ove già è presente un software gateway, occorre destinare un server ed una linea (ip) dedicati.

Vediamo come compilare il software dxrfd sul nostro raspberry (distro raspian):

diventiamo amministratori e creiamo una directory vuota sotto root

sudo -s

mkdir /root/dxrfd

cd /root/dxrfd

copiamoci il nostro file dxrfd.zip (usando winscp) e scompattiamoci dentro il suo contenuto

dxrfd_311

unzip dxrfd.zip

adesso aggiorniamo il sistema e installiamo il compilatore

apt-get update

apt-get install gcc

apt-get install c++

ora occorre eseguire i seguenti comandi dentro la nostra dir

chmod +x *.doit

./dxrfd.doit

./xrf_lh.doit

dovremo avere a quest punto i nostri file binari

dxrfd

xrf_lh

Per configurare il nostro nuovo reflector occorre editare il file /root/dxrfd/dxrfd.cfg  e inserire gli opportuni valori

nano /root/dxrfd/dxrfd.cfg

Una lista degli attuali XReflector è possibile visionarla al seguente link oppure nel software di Jonathan G4KLX nel file DExtra_Hosts.txt sotto /usr/local/etc

Questi i parametri inseriti nel nostro sistema:

#inserire il numero del vostro reflector in questa forma XRF123

OWNER=XRF077

#inserire il nominativo di chi amministra il sistema

ADMIN=IK5XMK

#il reflector ascolterà su ogni rete

LISTEN_IP=0.0.0.0

#i ripetitori si connetteranno su questa porta

LISTEN_PORT=30001

#questa invece la porta per gestire i comandi da shell

COMMAND_PORT=30002

#numero massimo di connessioni di ripetitori

MAX_USERS=25

#abilita il log dei qso dettagliati

QSO_DETAILS=N

USERS=/root/dxrfd/xrfs.txt

BLOCKS=/root/dxrfd/blocks.txt

#numero massimo di dongle, hotspot, etc.

MAX_OTHER_USERS=20

 

Per eseguire il nostro nuovo XReflector consiglio di creare un file start.sh (dentro la dir /root/dxrfd con i diritti di esecuzione +x) contenente il seguente comando:

/root/dxrfd/dxrfd[spazio] /root/dxrfd/dxrfd.cfg [spazio] /var/log/dxrfd.log &

e lanciarlo con sh ./start.sh

Potrà essere automatizzato l’avvio inserendo nel file /etc/rc.local tale comando.

Nella seconda parte vedremo come controllare il reflector digitando dei comandi dalla shell, e come preparare una pagina di status visionabile da internet.