Esplorare la RF da 24 a 1766 MHz con GNU/Linux e un dongle da pochi euro

“Come ogni ascoltatore della radio sa, è incredibile quante cose puoi vedere con le tue orecchie”
Anonimo

Non sono mai stato un grande appassionato di radio, anche se, grazie al mio diploma in Elettronica e Telecomunicazioni, ho potuto conseguire la patente di radioamatore senza dover affrontare l’esame.

In questo ultimo periodo, però, complice anche alcuni documentari che ho visto sulle nuove frontiere della tecnologia e della guerra elettronica, ho fatto alcune ricerche ed ho scoperto che anche sul fronte della radiofonia ci sono state alcune importanti innovazioni tecnologiche come l’SDR, Software Defined Radio: praticamente, invece di avere costosi e complessi hardware, si realizzano dispositivi hardware minimali e si lascia al software del PC il compito di modulare, demodulare, sintonizzare etc etc etc…risparmiando sia nei tempi di sviluppo che soprattutto nella prototipazione.

La tecnologia è talmente interessante che oggi vi racconto come, acquistando su eBay un semplicissimo dongle per il DVB+T (Digital Video Broadcasting, la TV digitale terrestre…) da pochi euro (meno di 10€), avendo premura che il chipset sia RTL2832U e R820T2, ed installando qualche software sul proprio PC con GNU/Linux (esistono anche per Windows e per MAC), abbia un radio ricevitore che copre ininterrottamente la banda 22 MHz a 1766MHz.

Una volta inserito il dongle nella porta USB del PC, lsusb risponderà così:

0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Per usare il software SDR è necessario impedire al sistema di caricare i moduli di default aggiungendo, nella directory /etc/modprobe.d, un file come rtl-sdr-blacklist.conf contenente le righe

blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832

Passiamo alla parte complicata, il software. Esistono decine e decine di programmi, sia open source che commerciali, ed una lista piuttosto completa la trovate qui: THE BIG LIST OF RTL-SDR SUPPORTED SOFTWARE.
complicata” perché sono necessarie un minimo di conoscenze del sistema, dovendo installare e compilare diversi programmi e drivers, oltre a dover disattivare (mettendolo in blacklist) il modulo del kernel “ufficiale” per questo tipo di dispositivi. Diciamo che non è proprio semplice come “punta e clicca“, ma neanche impossibile per chi ha voglia di seguire le istruzioni presenti in rete.

Dopo alcune prove, sono giunto alla conclusione che, almeno per il momento, il software più adatto alle mie esigenze di sperimentazione è GQRX, basato su GNURadio e le librerie Qt.

Inoltre, per far funzionare adeguatamente il dongle, ho dovuto installare osmo-sdr del progetto Osmocom. In realtà, gran parte del software necessario l’ho installato come prerequisito di un tutorial su come analizzare il traffico dati GSM con Wireshark, RTL-SDR TUTORIAL: ANALYZING GSM WITH AIRPROBE/GR-GSM AND WIRESHARK:

$ sudo apt-get install git python-pip
$ sudo pip install PyBOMBS
$ sudo pybombs prefix init /usr/local -a default_prx
$ sudo pybombs config default_prefix default_prx
$ sudo pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
$ sudo pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
$ sudo pybombs install gr-gsm
$ sudo ldconfig

Dopo molte decine di minuti e svariati software scaricati, compilati ed installati, sulla mia Linux Mint 18 Mate avevo praticamente quasi tutto il necessario per procedere, compreso il tool a riga di comando rtl_test:

$ rtl_test
Found 1 device(s):
 0: Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner

A questo punto rimane solamente da installare una utility grafica per usare il dongle, GQRX. Ho preferito procedere con la compilazione dei sorgenti, dovendo però preventivamente installare alcune librerie, compreso le Qt5:

sudo apt-get install portaudio19-dev libfftw3-dev libcodec2-dev libpulse-dev libusb-dev libconfig8-dev libusb-1.0-0-dev libevent-dev libevent-openssl-2.0-5 libssl-dev libortp-dev qtbase5-dev qtmultimedia5-dev libqt5svg5-dev qt5-default

adesso scarichiamo il sorgente di Gqrx:

git clone https://github.com/csete/gqrx.git

e procediamo con la compilazione:

cd gqrx
mkdir build
cd build
cmake ..
make && make install

(Se il sistema vi restituisce un errore con ‘cmake‘, installate l’utility con apt install cmake)

A questo punto, da riga di comando, lanciamo gqrx:

$ gqrx 
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.git-94-g5964adcd
gr-osmosdr v0.1.4-86-ge9dde9af (0.1.5git) gnuradio 3.7.12git-44-g0d5fd62c
built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy redpitaya 
Resampling audio 96000 -> 48000
BookmarksFile is ~/.config/gqrx/bookmarks.csv
gr-osmosdr v0.1.4-86-ge9dde9af (0.1.5git) gnuradio 3.7.12git-44-g0d5fd62c
built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy redpitaya 
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner

e sullo schermo apparirà una finestra come questa:

La freccia indica il pulsante “play” per far partire la ricezione. In alto, la frequenza centrale del sintonizzatore e a destra, evidenziato, il modo di demodulazione (suggerisco di partire con WFM -Mono o Stereo- o Narrow FM). Giusto per iniziare, possiamo sintonizzarci sulla banda FM commerciale, 88-108:

Qui vediamo bene nello spettrometro i vari canali, indicati dai picchi nel grafico, e la relativa potenza. Posizioniamo il cursore sul picco di uno di questi (es. su 89.006,700 KHz) per iniziare ad ascoltare la trasmissione (se non sentite niente, verificate il volume sia del sistema che nella finestra “Audio” in basso a destra, aumentando il guadagno “gain“).

Potete spostarvi lungo l’intera gamma di frequenze posizionando il mouse sulla cifra da modificare e premendo le frecce su e giù nella tastiera.

Oltre ai segnali audio come le radio in broadcast sulla gamma FM commerciale, esistono una ampia gamma di segnali digitali difficili da identificare. A questo sito web, Signal Identification Wiki, una ampia serie di esempi per riuscire a capire cos’è quella strana trasmissione che abbiamo scoperto. Segnalo anche questo interessantissimo articolo di introduzione all’argomento: INTRO TO SDR AND RF SIGNAL ANALYSIS.

Prima di concludere, ci tengo a ricordare che l’art.105 del Codice delle Comunicazioni, p.to 2, comma “b” dice che sono di libero uso gli apparati radioelettrici solo riceventi ma che sono esplicitamente ascoltabili soltanto:

  1. trasmissioni destinate al pubblico (radiofonici, televisivi, segnali di tempo campione…)
  2. comunicazioni radioamatoriali sulle bande assegnate (Art.134, p.to 4 del Codice delle Comunicazioni)

…buon ascolto !

P.S. Se avete suggerimenti, esperienze, consigli o segnalazioni in merito all’SDR, sono i benvenuti: lo spazio commenti è a vostra disposizione 🙂

 

Michele Pinassi

Nato a Siena nel 1978, dopo aver conseguito il diploma in "Elettronica e Telecomunicazioni" e la laurea in "Storia, Tradizione e Innovazione", attualmente è Responsabile del Sistema telefonico di Ateneo presso l'Università degli Studi di Siena ed esperto di sicurezza informatica nello staff del DPO. Utilizza quasi esclusivamente software libero.

Potrebbero interessarti anche...

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: