Projet

Général

Profil

Actions

Installation d'une carte USRP N210

Après avoir installé le pilote UHD, nous pouvons à présent piloter une carte de radio logicielle Ettus Research USRP N210 connectée à l'ordinateur via une interface Gigabit Ethernet. Nous supposons par la suite une installation sous Ubuntu 14.04 avec le pilote UHD précompilé par Ettus (voir Installation du pilote UHD et de GNU Radio).

Assemblage de la carte

Les cartes de radio logicielle utilisées sur la plate-forme RIESCO se composent de trois parties :
  • une carte mère USRP N210 ;
  • une carte fille radiofréquence WBX ;
  • une horloge asservie par GPS.
Après avoir démonté la carte mère, on commence par installer l'horloge GPSDO de sorte que celle-ci outrepasse l'horloge interne. On peut notamment se reporter à la documentation https://www.ettus.com/content/files/gpsdo-kit_4.pdf. Une fois la nouvelle horloge déployée, il reste à installer la carte fille. Ses deux ports radiofréquence seront associés de la manière suivante en facade :
  • TX/RX -> RF1 ;
  • RX2 -> RF2.

Attention : ne jamais mettre sous-tension une carte USRP sans avoir appliqué une charge adaptée sur le port RF1.

Configuration réseau et optimisation du système d'exploitation

Nous supposons que la carte USRP possède l'adresse 192.168.10.2 avec un masque de 24 bits (par défaut) ; par conséquent, nous positionnons l’interface de l’ordinateur sur 192.168.10.1.

La configuration statique de l’interface peut être réalisée dans le fichier /etc/network/interfaces dans lequel on ajoute les lignes suivantes.

auto eth0
iface eth0 inet static
        address 192.168.10.1
        netmask 255.255.255.0

Il reste ensuite à redémarrer les connexions réseau avec

sudo service network-manager restart
sudo service networking restart

Une fois l’interface réseau configurée (vérifier avec sudo ifconfig), nous pouvons détecter la carte à l’aide du pilote UHD.

uhd_find_devices

Des informations supplémentaires sur la configuration matérielle de la carte peuvent être obtenues à l’aide de la commande suivante (ex. : carte fille, type de connexion...).

uhd_usrp_probe

Si la commande précédente renvoie une erreur liée à une incompatibilité entre le pilote UHD et le firmware, il est nécessaire de mettre à jour ce dernier à l'aide de la commande suivante.

sudo uhd_images_downloader
/usr/lib/uhd/utils/usrp_n2xx_simple_net_burner --addr=192.168.10.2

Optimisation du système pour le pilote UHD

Priorité d'exécution du pilote UHD

Il est généralement nécessaire d'accorder aux utilisateurs du pilote un haut niveau de priorité pour le traitement en temps réel des échantillons. Pour cela, il faut ajouter dans /etc/security/limits.conf la ligne suivante

@usrp    -    rtprio    99

On créé ensuite le groupe usrp et l'on ajoute dans ce groupe les différents utilisateurs du système susceptibles d'utiliser le pilote UHD.

groupadd usrp
adduser <nom_d'utilisateur> usrp

Taille maximale des tampons d'émission-réception

Il est également recommandé de modifier la taille des tampons d'émission-réception en ajoutant les lignes suivantes au fichier /etc/sysctl.conf.

net.core.rmem_max=33554432
net.core.wmem_max=33554432

Après avoir configuré ces deux axes d'optimisation, il est nécessaire de redémarrer la machine afin de pouvoir en bénéficier.

Vérification du bon fonctionnement

La carte de radio logicielle est à présent prête à l’emploi, nous pouvons ainsi vérifier que la liaison entre celle-ci et l’ordinateur fonctionne correctement.

/usr/share/uhd/examples/benchmark_rate --duration 20 --rx_rate 10e6

Parmi les erreurs rencontrées, la perte de segments se matérialise par l’affichage de symboles “UUUUUU...” ou “OOO...” sur la sortie standard. Ces deux cas de figure signifient respectivement que l’ordinateur n’envoie pas les données suffisamment rapidement à la carte ou que celle-ci envoie les données trop rapidement à l’ordinateur (voir http://gnuradio.org/redmine/projects/gnuradio/wiki/UsrpFAQGen).

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