Projet

Général

Profil

Actions

Installation du pilote UHD et de GNU Radio » Historique » Révision 1

Révision 1/8 | Suivant »
Damien Roque, 09/09/2014 10:47


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 PyBomb

Dans un premier temps, il est nécessaire de télécharger le script d'installation pybombs en veillant à ce que le chemin d'installation complet ne comporte pas de caractères non ASCII.

git clone https://github.com/pybombs/pybombs 
cd pybombs
./pybombs config

En supposant une cible GNU/Linux Debian ou Ubuntu, on obtient une configuration généralement sous la forme suivante.

gituser = username
prefix = /usr/local
satisfy_order = deb,src
forcepkgs =
timeout = 30
cmakebuildtype = RelWithDebInfo
builddocs = OFF
cc = gcc
cxx = g++

L'installation peut ensuite être lancée avec

sudo ./pybombs install uhd gnuradio

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 environ 10 ans · 1 révisions