martedì 9 febbraio 2021

QARtest su Ubuntu in maniera facile


 

QARtest è un software immancabile per partecipare ai contest e, per gli italiani, di fatto non ha alternative. E’ l’unico programma tra quelli che ho usato fino ad ora in campo HAM che non ha una controparte per Linux; ci dobbiamo quindi arrendere ad usare un qualche “accrocchio” che permetta di eseguirlo in Ubuntu.
Escludendo la possibilità di avere Windows in dual boot o su macchina virtuale ci rimane Wine… ma li iniziano i problemi causati dal fatto che QARtest va a lavorare su librerie probabilmente poco comuni che né Wine né le sue derivate contengono.

Ho tentato tre vie per l’installaziona: la prima tramite Q4wine, la seconda tramite Winetricks e la terza con Playonlinux (lasciando i parametri di deafult). In tutti i casi ottenevo dall’installer il seguente errore:

C:\windows\system32\ccrpTmr6.dll

impossibile registrare la dll ocx regsvr32 è fallito con codice di uscita 0x3 


Per risolvere bisognerebbe trovare, scaricare ed installare manualmente i pacchetti con le librerie ed abilitare l’architettura a 32 bit. Decisamente complicato… ma c’è un metodo più facile sfruttando la capacità di PlayOnLinux di simulare ambienti Windows anche datati.


Iniziamo con l’installare PlayOnLinux semplicemente dall’Ubuntu Software e procediamo con lo scaricare il file .exe di installazione di QARtest dal sito ufficiale.

Avviamo PlayOnLinux e, dalla schermata iniziale, premiamo su installa.

Si aprirà una finestra dalla quale, in basso, dovremo cliccare su installa un programma non presente nella lista.

Selezioniamo installa in un nuovo dispositivo virtuale, diamo un nome al dispositivo (mettiamo pure "QARtest"), successivamente selezioniamo tra le opzioni configura Wine ed architettura a 32 bit.

Ci si aprirà una finestra in cui possiamo manualmente configurare Wine; non è richiesto nulla di particolare se non, dalla scheda applicazioni, scegliere come versione di Windows: Windows XP (versioni più recenti presentano il problema sopra citato).

Si avvierà il classico installer come su Windows, sarà inutile creare il collegamento sul Desktop dato che non funzionerà. Al termine ci verrà chiesto di creare un collegamento diretto al programma. Dalla scheda selezioniamo la voce QARtest.exe, premiamo avanti e terminamo selezionando non voglio creare un’altro collegamento.

Fatto!


Per avviare QARtest dobbiamo aprire PlayOnLinux, selezionare QARtest e premere esegui.

Lavoreremo in QARtest esattamente come su Windows. Io per ora ho testato solo la parte di gestione log dato che in passato non ho mai avuto esigenza di usare altre funzioni (CAT, modi digitali,...).
Anche il cluster funziona correttamente.


Una volta terminata l’attività si esporta il log nei formati desiderati; ma dove sono finiti questi file?

Nella cartella /home vi è il collegamento ad una cartella dal nome PlayOnLinux's virtual drives all’interno della quale troviamo una sottocartella dal nome che abbiamo dato alla “macchina virtuale” contenente le directory in stile Windows su cui lavora QARtest partendo da C:.

I log per cui, nel mio caso, si trovano in:
         ~PlayOnLinux's virtual drives/QARtest/drive_c/QARtest/logs

forse un po’ un incasinato come percorso da aprire ogni volta!

Possiamo creare un collegamento sulla scrivania per averli sempre a portata di mano:

Da terminale posizioniamoci sul desktop (o nella cartella in cui vogliamo creare il collegamento) con il comando  cd ~/Scrivania dopodichè diamo  ln -s ~/PlayOnLinux\'s\ virtual\ drives/QARtest/drive_c/QARTest/Logs/ il comando ln crea il link mentre il parametro -s fa in modo che il collegamento sia solo “simbolico” (ATTENZIONE se non inseriamo -s creiamo un collegamento rigido per cui eliminando la copia sulla scrivania andiamo a cancellare anche l’originale).

Così abbiamo QARtest operativo da Ubuntu ed i nostri log sempre a portata di mano!


Ho creato anche un video che spiega, forse in maniera più immediata rispetto al testo, la procedura:



 
 
SETUP:

Lenovo ThinkPad T510
installer QARtest 10.12.1 (ultima versione disponibile al 9/2/21)
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS su macchina virtuale per test e prove








sabato 6 febbraio 2021

Direwolf su Ubuntu per APRS con Xastir

 Una volta installato Xastir come dall'articolo dello scorso mese ci trovavamo limitati all'operare con il TNC entrocontenuto nel Kenwood (o via internet); ma esiste un modo per fare APRS via radio anche senza un TNC. E questo modo è Direwolf.

Direwolf è un software che emula, tramite scheda audio, un modem packet con velocità fino a 1200 baud (velocità superiori sarebbero teoricamente possibili ma sconsigliate senza TNC fisici, le “distorsioni” introdotte dalle schede audio potrebbero inficiare l'intelligibilità del pacchetto). Dalla pagina GitHub troviamo i file sorgente e le istruzioni per la loro installazione.


Leggendo nelle note scopriamo che prima di occuparci di Direwolf dobbiamo installare alcuni pacchetti di sviluppo che serviranno in parte durante la scrittura del software nel kernel del sistema operativo ed in parte durante la sua esecuzione.
In particolare git, gcc, g++, make e cmake serviranno per la scrittura del software mentre libasound2-dev e libudev-dev sono librerie che consentiranno, a software installato, di farlo lavorare la prima avendo contenute informazioni audio avanzate mentre la seconda gestendo le periferiche.
Ognuno di questi pacchetti va installato con il comando sudo apt-get install NOMEPACCHETTO.  Qualora avessimo già alcuni di questi installati non ci preoccupiamo dato che il terminale alla fine delle operazioni di volta in volta il terminale ci restituirà tra le informazioni se il pacchetto è stato installato, se era già presente per cui non ha modificato nulla o se vi era una versione più vecchia che è stata aggiornata.

Ora occupiamoci del software vero e proprio; alcune di queste azioni si possono fare sia da terminale che da interfaccia grafica. Una volta capita la logica di funzionamento procedere completamente da terminale è più veloce ed anche più sicuro dato che basta fare copia ed incolla dei comandi e ci mettiamo al riparo da errori di battitura o errori vari che possono accadere spostando i file in cartelle e sottocartelle.
Lavoriamo dalla cartella /home/NOMEUTENTE che è quella in cui si posiziona il terminale alla sua apertura (identificata all'inizio della riga di comando con il simbolo ~; qualora fossimo posizionati altrove per tornare qui basta dare comando cd ~) e con git clone https://www.github.com/wb2osz/direwolf scarichiamo i file presenti nel progetto su GitHub che verranno posizionati automaticamente in una nuova cartella dal nome /direwolf/;
con cd direwolf da terminale entriamo nella sottocartella ~/direwolf/, vedremo comparire il percorso a fianco del nome utente nella riga di comando e, da ora in poi, i comandi inseriti verranno eseguiti in questa cartella.
Diamo comando git checkout dev, non ho ben capito a cosa serva, credo ad ordinare i file da eseguire in una qualche struttura logica (se qualcuno ci capisce qualcosa lasci un commento) e successivamente con mkdir build && cd build creiamo un’ulteriore sottocartella e ci entriamo. Diamo comando cmake .. ("cmake" esegue le istruzioni di compilazione contenute in un file che si chiama makefile mentre ".." indica che questo file si trova nella cartella superiore). Digitiamo make -j4 e, successivamente, sudo make install per procedere alla vera e propria installazione del file. Ultimo passaggio con il comando make install-conf inseriremo nel percorso un file chiamato direwolf.conf che successivamente andremo ad editare per impostare i parametri del TNC virtuale.

Ora che Direwolf è installato bisogna procedere alla sua configurazione.
Innanzitutto dobbiamo raccogliere alcune informazioni riguardo le nostre periferiche audio.
Da nuova scheda terminale (posizionato in ~) diamo arecord -l ed otterremo qualcosa di simile: 

scheda 0: Intel [HDA Intel], dispositivo 0: Generic Analog [Generic Analog]  Sottoperiferiche: 1/1
  Sottoperiferica #0: subdevice #0
scheda 1: Device [USB Sound Device], dispositivo 0: USB Audio [USB Audio]
  Sottoperiferiche: 0/1
  Sottoperiferica #0: subdevice #0


Ovvero l’elenco delle periferiche audio. In questo caso vi sono due schede audio in quanto ho quella integrata nel laptop (scheda 0) e quella via USB che utilizzo per i modi digitali con il KX3 (scheda 1).
Interessa prendere nota del numero di scheda (card per distro in inglese) e dispositivo (device) della periferica che si intende utilizzare. Nel mio caso annoteremo 0,0 per indirizzare Direwolf sulla scheda audio integrata oppure 1,0 per quella USB.


Torniamo nella scheda del terminale in cui lavoravamo su direwolf (eventualmente diamo cd ~/direwolf/build per rientrare in questa cartella da nuova finestra del terminale) e digitiamo sudo nano direwolf.conf per aprire il file di configurazione del TNC virtuale.
Scendiamo fino alla riga # ADEVICE e controlliamo che i parametri plughw:
 corrispondano a quelli della sche da audio (plughw:CARD,DEVICE); rimuoviamo l’asterisco con cui inizia la riga (noteremo che la riga cambia colore in quanto diventerà una vera e propria istruzione che il software seguirà).
Scendiamo ulteriormente nel file fino a trovare la riga  MYCALL dove inseriremo il nostro nominativo al posto della scritta NOCALL.
Salviamo e chiudiamo il file.

Ora dovrebbe essere tutto a posto. Chiudiamo le varie finestre del terminale.

Per avviare Direwolf apriamo una finestra del terminale e diamo comando sudo direwolf -p . Questa finestra dovrà essere lasciata aperta per tutta la sessione ma da qui cogliamo una info essenziale: tra i dati che il terminale ci restituisce all'avvio di Direwolf, nell'ultima riga notiamo l'indirizzo della porta seriale virtuale che il software ha creato e su cui simula il TNC. Dovrebbe essere /tmp/kisstnc (vedi lo screenshot sotto).

(vedi lo screenshot sotto)


Ora apriamo Xastir e tramite interfacce → interface control creiamo una nuova connessione (aggiungi) selezionando il tipo TNC seriale in KISS.
Nella finestra di configurazione del TNC che ci si aprirà ci basterà indicare nella finestra TNC port il percorso indicatoci da Direwolf ed impostare la velocità a 1200 bps. (vedi lo screenshot sotto).


 


Per il collegamento alla radio bastano i classici cavetti adattatori con le solite resistenze. In RX si può semplicemente collegare con un banale cavo jack-jack l'uscita altoparlante della radio all'ingresso line-in o mic sul PC (per i portatili con uscita combinata cuffie+microfono serve un adattatore). Con questa modalità possono esserci delle criticità sul funzionamento nate dalla distorsione dei segnali audio; basterà giocare un po' coi volumi sia della radio che dell'ingresso microfonico del pc per ottenere un segnale intelleggibile che ci permetta di vedere le stazioni comparire sulla mappa.

Nota importante: ad un nuovo avvio del PC o di Xastir è importante avviare Direwolf tramite comando sudo direwolf -p prima di tentare di aprire la connessione al modem (virtuale) su Xastir. Se per errore si tenterà il contrario da terminale vedremo messaggi di errore in quanto Direwolf non sarà in grado di procedere sulla porta seriale simulata in quanto già occupata da altra app.

SETUP:
Kenwood tm-d710e
Lenovo ThinkPad T510
Scheda audio USB economica
cavo jack 3.5mm-jack 3.5mm stereo per RX
Ubuntu 20.04 LTS