HackRF – RTL-SDR – GNU RADIO

Orange Pi – Raspberry Pi

La HackRF One est un SDR (Software Defined radio) travaillant en émission et réception dans une large gamme de fréquence. 1MHz à 6GHz. RTL-SDR est le moins cher et le plus connu des SDR travaillant en réception uniquement. Ici nous allons aborder le raccordement de ces 2 SDR à un Orange Pi ou un Raspberry PI et l’exploitation avec le logiciel GNU Radio.

Connexion du SDR HackRF One sur un Orange Pi Pc2 ou Orange PI One Plus tournant sur ARMBIAN ou un Raspberry PI.

Bibliothèque HackRF

En mode console, mettez à jour votre système:

sudo apt-get update
sudo apt-get upgrade

installez la bibliothèque pour hackrf:

sudo apt-get install hackrf

Branchez votre hackrf sur un port USB et testez sa présence:

hackrf_info

Si l’installation est bonne, vous aurez une réponse « Found HackRF » etc..Parfois avec certains câbles USB qui relient le HackRF, il n’y a pas de réponse. Changer de câble dans ce cas.

Installation GNU Radio Companion

GNU Radio est un outil très puissant pour modéliser des chaines de traitement du signal. GNU Radio Companion est un outil complémentaire permettant de construire des chaines de traitement radio graphiquement sans écrire une ligne de code. A ce jour pour Debian Buster il n’y a que la version 3.7.13 qui est considéré comme stable.

sudo apt-get install gnuradio

Installation Osmocom SDR et RTL-SDR Driver

RTL-SDR et Orange PI One Plus

sudo apt-get update

Installation de la bibliothèque USB:

sudo apt-get install cmake build-essential libusb-1.0-0-dev

On clone Osmocom dans le dossier Downloads de l’utilisateur par exemple:

cd ~/Downloads

sudo git clone https://github.com/osmocom/rtl-sdr.git

Allez dans le dossier rtl-sdr:  cd rtl-sdr

sudo mkdir build

cd build

sudo cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON

Arrivée à ce stade j’ai parfois obtenu une erreur car le paquet pkg-config était introuvale. Faire:

sudo apt-get install pkg-config

et relancez le cmake d’au dessus.

sudo make
sudo make install
sudo ldconfig

Installation module source d’Osmocom

sudo apt-get install gr-osmosdr

Lancement GNU Radio

Il faut être en mode graphique pour pouvoir utiliser ce superbe outil de conception de traitement du signal. Personnellement j’utilise mes orange-pi ou raspberry en mode déporté. Je me connecte  à eux en activant VNC dans la configuration et utilisant l’extension VNC dans chrome sur mon PC. En mode terminal dans l’interface graphique tapez:

gnuradio-companion

un message du type « RANDR » missing… est sans importance.

Erreur Xterm executable is missing

Si vous avez lors du lancement d’une modélisation dans gnuradio companion un message du type Xterm executable is missing  et si vous êtes sur Armbian ou Raspbian (raspberry) allez dans le dossier de configuration.

cd ~/.gnuradio

editez grc.conf

sudo nano grc.conf

et rajoutez en fin de fichier:

[grc]
xterm_executable = /usr/bin/lxterminal

Vérifiez avant tout que lxterminal est installé sur votre machine. Sinon installez le avec:

sudo apt install lxterminal

Module Osmocom

Pour entrée des données du HackRF One ou du RTL-SDR utilisez dans GNU-Radio le module source Osmocom.

Il n’est pas nécessaire d’identifer le SDR si un seul est connecté à la carte de traitement. Pour les gains, il faut faire des essais pour trouver les bonnes valeurs suivant le modèle de SDR.

Note sur les gains du HacRF


HackRF One fournit :

  • RX : trois commandes de gain analogiques différentes
    • RF (« amp », 0 ou 14 dB),
    • IF (« lna », 0 à 40 dB par pas de 8 dB),
    • bande de base (“vga”, 0 à 62 dB par pas de 2 dB)
  • TX : deux contrôles de gain
    • RF (0 ou 14 dB) ,
    • IF (0 à 47 dB par pas de 1 dB)

Les amplificateurs RF du RX et du TX ont deux réglages : marche ou arrêt. A l’état arrêt, les amplis sont complètement bypassés. Ils fournissent nominalement 14 dB de gain lorsqu’ils sont connectés, mais le gain réel varie selon la fréquence. En général, attendez-vous à des gains moins élevés aux fréquences élevées.

Note sur les gains du RTL-SDR

Seul le paramètre RF gain agit sur le RTL-SDR. Vous pouvez obtenir les valeurs de gain disponibles à condition que le RTL-SDR n’est pas été lancé par une application. Dans une fenêtre terminale tapez :
rtl_test

root@opi-onep-70:~# rtl_test
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Detached kernel driver
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Multi-SDR

Dans le cas de plusieurs SDR connectés à la carte de traitement, il faut les identifier . Pour un hackrf tapez dans un terminal hackrf_info et récupérez le numéro de série et mettez-le dans la case ‘Device Arguments’. Ex:

hackrf=000000000000000075b068dc3122a607

Pour un RTL-SDR, tapez rtl_eeprom et mettez le numéro de série. Ex:

rtl=00000002

La difficulté avec les RTL-SDR est qu’ils portent tous le numéro de série 1 en sortie de fabrication. On peut reprogrammer ce numéro en tapant :

rtl_eeprom -s 'numéro de série'

Avec la commande rtl_eeprom -h, on a l’aide correspondante.

Achats

Le HackRF étant développé en Open Source peut être acheté en Chine chez Aliexpress pour une centaine d’Euros. Pour l’utiliser la solution des Orange Pi est très interessante. On oublie l’Orange Pi Zero qui suivant le traitement défini dans GNU-RADIO, risque rapidement de manquer de puissance. On va s’orienter vers des processeurs 4 coeurs 64 bits comme le H5 ou le H6 . J’ai testé avec succès pour de la réception et de l’émission SSB l’Orange Pi PC2 H5 et l’Orange PI One Plus H6.

Orange PI PC2

L’Orange PI PC2 présente les avantages suivants:

  • plusieurs USB2 si on souhaite connecter différents SDR
  • Une sortie audio sur jack de casque, utile pour un récepteur HF
Orane PI One Plus

L’Orange PI One Plus présente les avantages suivants:

  • Le minimum requis pour piloter un Hack RF depuis le réseau (USB , Ethernet 1Gb/s)
  • Un prix très bas: moins de 30€ avec l’alimentation et le transport (Ebay ou Aliexpress)

Articles sur Remote-SDR-Distant