Installation du pilote UHD et de GNU Radio » Historique » Révision 6
« Précédent |
Révision 6/8
(diff)
| Suivant »
Alexandre Marquet, 10/03/2016 11:21
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
.
#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
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 Alexandre Marquet il y a plus de 8 ans · 6 révisions