Riporto i passi essenziali per l’installazione di un server/reflector XLX. Questa configurazione prevede la presenza sullo stesso server di apposito hardware per la transcodifica tra DMR/C4FM e DSTAR. Non viene gestita in questo articolo l’installazione della dashboard che forse potrà riguardare un testo successivo. Il funzionamento del sistema può comunque essere controllato dal log che genera.

Premessa:

  • viene utilizzata la versione di XLX modificata da IU5JAE (gestione dei DGID in ambito C4FM/YSF, abilitazione della transcodifica solo su specifici moduli, etc.);
  • l’hardware per la transcodifica è una chiavina USB DV33 che gestisce 3 canali, per un modulo di XLX occorrono infatti 2 canali;
  • l’installazione dimostrativa per questo testo è stata fatta su una macchina virtuale, server fisico Proxmox;
  • occorre avere a disposizione un raspberry oppure un mini PC/macchina virtuale (server fisico) sulla quale far girare Linux;
  • la distribuzione Linux utilizzata è Debian 12 (senza interfaccia grafica);
  • il sistema in uso deve essere operante e accessibile da internet;
  • è necessario disporre di IP pubblico (meglio se statico oppure un DDNS) sul quale gestire le NAT e/o firewall per alcune porte;
  • necessaria conoscenza di base del sistema operativo Linux, comandi principali e delle procedure di networking/gestione del router.

XLX è un software reflector multiprotocollo. Significa che può gestire, al momento della scrittura del presente testo, i protocolli digitali radioamatoriali DSTAR, C4FM Yaesu System Fusion (YSF) e IMRS, DMR. Per la parte DSTAR può operare in DEXTRA, DCS e DPLUS. E’ una soluzione che può operare in autonomia, senza necessariamente essere collegato ad altri sistemi. Ugualmente attraverso appositi software (non oggetto di questo articolo) può avere connessioni con altri network per uno scambio dei flussi audio.

Procediamo nello scaricare il software, va benissimo anche nella cartella dell’utente in uso o quella di root.

Su Debian agiamo come super user, quindi comando “su -”

Nota, si usa “su –” e non “su”:
Use su – instead; this launches a login shell, which forces PATH to be changed, but also changes everything else including the working directory.

apt-get update
apt-get upgrade

apt install git
git clone https://github.com/iu5jae/xlxd.git

apt install net-tools
apt install build-essential
apt install wget

apt install sudo

Il primo passo è quello di configurare la parte ambed, il software che gestisce l’hardware di transcodifica (chiavina usb) dialogando con XLX. Per una ottimale funzionalità XLX e il server ambed devono risiedere sulla stessa macchina, come in questo caso.

Con l’uso del software FTDI deve essere rinominata la chiavina in DVstick-33 riprogrammandola. Si usa un PC Windows.

Eseguita l’operazione inserire la chiavina nel server XLX ed assicurarsi venga riconosciuta:

Ora occorre gestire i driver scaricandoli dal sito FTDI. Controllare quale versione usare, in funzione dell’hardware del server. Per la macchina virtuale ho usato x86_64. Sono presenti anche i driver ARM per raspberry, a seconda del modello. Modificare nelle istruzioni seguenti il nome del file che andiamo a scaricare, se diverso.

wget https://ftdichip.com/wp-content/uploads/2022/07/libftd2xx-x86_64-1.4.27.tgz
tar xfvz libftd2xx-x86_64-1.4.27.tgz
cd release/
cd build
cp libftd2xx.* /usr/local/lib/
chmod 0755 /usr/local/lib/libftd2xx.so.1.4.27
ln -sf /usr/local/lib/libftd2xx.so.1.4.27 /usr/local/lib/libftd2xx.so

Procediamo con la compilazione del software ambed. Torniamo nella directory ove abbiamo scaricato XLX da github e digitiamo:

cd xlxd
cd ambed
make clean
make
make install
cd /ambed/
chmod +x run

Eseguiamo lo script run che contiene

./run

Se la procedura è stata eseguita correttamente (attenzione affinchè vengano eseguiti i comandi rmmod nello script), avremo in risposta

Ovvero:

  • rilevata la chiavina (detected 1 USB-FTDI devices)
  • la descrizione e relativo seriale
  • 2 canali disponibili
  • il server AMBEd è operativo ed in ascolto su 127.0.0.1 (localhost, stessa macchina)

possiamo verificare anche con il comando:

ps aux | grep ambed

oppure

netstat -plunt | grep ambed

ed avremo in risposta qualcosa di simile a 127.0.0.1:10100  (la porta attraverso la quale comunica con XLX). Possiamo procedere con il secondo punto, l’installazione di XLX.

Torniamo nella directory ove abbiamo scaricato XLX da Github e digitiamo:

cd xlxd/
ls -la
cd src

nano main.h

controlliamo il file main.h che contiene la configurazione di XLX, nel caso fosse necessario compilare il software con meno moduli disponibili, cambiare dei percorsi (path), etc. In generale la configurazione di default va bene senza apportare cambiamenti; nella versione di IU5JAE sono presenti ulteriori file di configurazione (es. MODULE_PATH identifica il percorso ove va creato il file xlxd.module che specifica quali sono i moduli gestiti in transcodifica, a seconda dell’hardware installato).

make clean
make
make install

Installiamo rsyslog per l’uso canonico del log di XLX

apt install rsyslog

ed eseguiamo XLX (chiamato qui per prova XLXXMK e a seguire l’IP del nostro server/scheda di rete e l’IP  dove risiede il server ambed):

cd /xlxd
chmod +x xlxd
./xlxd XLXXMK 192.168.2.198 127.0.0.1 &

I comandi seguenti ci permettono di verificare che XLX sia operativo e in ascolto sulle varie porte:

ps aux | grep xlxd

netstat -plunt

il comando

tail -f /var/log/syslog

visualizza l’esecuzione di XLX, ed il caricamento deve terminare con

ovvero conferma che è in ascolto sull’IP indicato e regolarmente connesso al Transcoder (server ambed).

Informazioni generali e link di utilità:

le seguenti porte sono utilizzate, eseguire le NAT necessarie sul router a meno che il sistema non sia in DMZ:

Per eseguire XLX all’avvio/reboot della macchina lanciare in ordine prima il software ambed e poi XLX. Ci sono vari modi, uno dei più semplici è quello di avere un unico script unico che viene richiamato in cron in fase di startup:

@reboot sh /path/to/script.sh &

Esempio di script.sh

Per conoscere la lista dei reflector attivi, questo link. Il nome deve essere composto da XLXnnn dove nnn = lettere o numeri. L’attribuzione del nome in elenco e la propagazione dell’indirizzo su tutti i sistemi hotspot e ripetitori avviene con l’installazione della dashboard che comunica al database le informazioni necessarie.

Ausilio sulle procedure può essere richiesto nel forum ufficiale.

E’ presente un gruppo attivo sul digitale radioamatoriale in Italia, su telegram, nel quale chiedere informazioni.

Articolo completo e interessante, in inglese, sull’intera procedura di installazione.

Di ik5xmk