Projet

Général

Profil

Actions

Installation du pilote UHD et de GNU Radio

Indépendamment du modèle de carte de radio logicielle utilisées, nous débutons l'installation du pilote UHD utilisé par le matériel Ettus Research USRP. La documentation officielle du pilote UHD peut être consultée à l'adresse http://files.ettus.com/uhd_docs/manual/html/

Nous installons ensuite l'environnement de développement GNU Radio pour le développement d'applications temps-réel à l'aide de l'interpréteur Python. La documentation officielle de GNU Radio est disponible à l'adresse http://gnuradio.org/redmine/projects/gnuradio/wiki

Solution 1 : installation du pilote UHD et de GNU Radio à l'aide des paquets Ettus

Ettus maintient des paquets récents d'UHD et de GNU Radio pour les distributions GNU/Linux Ubuntu et Fedora. La procédure d'installation pour Ubuntu est donnée ici : http://code.ettus.com/redmine/ettus/projects/uhd/wiki/GNURadio_Linux. Par ailleurs, une documentation d'installation complète d'une station est disponible.

Concernant la résolution des dépendances, il est également nécessaire d'installer les paquets suivants.

sudo apt-get install python-cheetah libboost-all-dev libusb-1.0-0-dev

Solution 2 : installation du pilote UHD et de GNU Radio à partir des sources

Si l'on utilise une distribution de GNU/Linux non prise en charge par Ettus, la construction à partir des sources est généralement nécessaire après résolution des dépendances. Pour faciliter une telle installation, il est possible d'utiliser des scripts afin d'automatiser ces différentes étapes.

Méthode du script build_gnuradio

wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio

warning. Cette méthode ne semble plus d'actualité.

Méthode PyBombs

Dans un premier temps, il est nécessaire de télécharger le script d'installation pybombs. Cela se fait via le gestionnaire de packets pour Python pip.

#Installation de pip
sudo apt-get install python-pip
#Mise à jour de pip
sudo pip install -U pip
#Installation de PyBombs
sudo pip install PyBOMBS

S'ensuit l'ajout des "recettes" permettant à PyBombs de savoir comment installer les logiciels qui nous intéressent.

mkdir ~/.pybombs
touch ~/.pybombs/config.yml
pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git

Ensuite, il faut configurer un prefixe. Il s'agit du dossier où seront installés UHD et GNURadio.

sudo pybombs prefix init /usr/local -a usrlocal
pybombs config default_prefix /usr/local

L'installation peut ensuite être lancée avec

sudo pybombs install uhd gnuradio
sudo ldconfig

Enfin, la commande suivante évitera de devoir naviguer jusque /usr/local/bin pour lancer gnuradio-companion :

echo "#Setup Gnuradio environment" >> .bashrc
echo "source /usr/local/setup_env.sh" >> .bashrc

La procédure d'installation officielle à partir des sources est donnée ici : http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource

Configuration du système d'exploitation

Quelle que soit la méthode d'installation choisie, il est généralement nécessaire de modifier la configuration du système pour optimiser les échanges avec les interfaces USRP.

Exécution en temps réel

Sous Ubuntu, les utilisateurs n'ont pas de privilèges suffisants pour exécuter les applications en temps réel. Nous avons pourtant besoin de tel privilèges pour faire fonctionner la carte USRP.
Dans /etc/security/limits.conf, ajouter la ligne

@usrp   -  rtprio  50

Créer le groupe usrp

sudo addgroup usrp

Ajouter les utilisateurs qui soivent utiliser la carte USRP au groupe correspondant. Exemple :

sudo adduser damien usrp

Réglage de la taille du cache de la carte réseau

La configuration par défaut des tampons d'entrée sortie de la carte réseau peut entraîner des limitations dans l'utilisation de GNU Radio. Il est recommandé d'ajouter les lignes dans le fichier /etc/sysctl.conf

net.core.rmem_max=50000000
net.core.wmem_max=1048576

Prise en charge de l'OpenGL

Après l'installation par défaut du pilote UHD et de GNU Radio, certains composants logiciels ne fonctionnent pas (ex. : plot FFT, plot waterfall). Ils requirent en effet l'utilisation du wrapper OpenGL pour Python.

apt-get install python-opengl

Mis à jour par Damien Roque il y a plus de 8 ans · 8 révisions