Projet

Général

Profil

Installation d'une carte USRP N210 » Historique » Version 2

Damien Roque, 09/09/2014 11:01

1 1 Damien Roque
h1. Installation d'une carte USRP N210
2
3 2 Damien Roque
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|Installation du pilote UHD et de GNU Radio]]).
4 1 Damien Roque
5
h2. Assemblage de la carte
6
7
Les cartes de radio logicielle utilisées sur la plate-forme RIESCO se composent de trois parties :
8
* une carte mère USRP N210 ;
9
* une carte fille radiofréquence WBX ;
10
* une horloge asservie par GPS.
11
12
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 :
13
* TX/RX -> RF1 ;
14
* RX2 -> RF2.
15
16
*Attention : ne jamais mettre sous-tension une carte USRP sans avoir appliqué une charge adaptée sur le port RF1.*
17
18 2 Damien Roque
h2. Configuration réseau et optimisation du système d'exploitation
19 1 Damien Roque
20 2 Damien Roque
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@.
21 1 Damien Roque
22 2 Damien Roque
La configuration statique de l’interface peut être réalisée dans le fichier @/etc/network/interfaces@ dans lequel on ajoute les lignes suivantes.
23 1 Damien Roque
24
<pre>
25 2 Damien Roque
auto eth0
26
iface eth0 inet static
27
        address 192.168.10.1
28
        netmask 255.255.255.0
29 1 Damien Roque
</pre>
30
31 2 Damien Roque
Il reste ensuite à redémarrer les connexions réseau avec
32 1 Damien Roque
<pre>
33 2 Damien Roque
sudo service network-manager restart
34
sudo service networking restart
35 1 Damien Roque
</pre>
36
37 2 Damien Roque
Une fois l’interface réseau configurée (vérifier avec @sudo ifconfig@), nous pouvons détecter la carte à l’aide du pilote UHD.
38
39 1 Damien Roque
<pre>
40 2 Damien Roque
uhd_find_devices
41 1 Damien Roque
</pre>
42
43 2 Damien Roque
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...).
44
45 1 Damien Roque
<pre>
46 2 Damien Roque
uhd_usrp_probe
47 1 Damien Roque
</pre>
48
49 2 Damien Roque
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.
50 1 Damien Roque
51
<pre>
52 2 Damien Roque
sudo uhd_images_downloader
53
/usr/lib/uhd/utils/usrp_n2xx_simple_net_burner --addr=192.168.10.2
54 1 Damien Roque
</pre>
55
56 2 Damien Roque
h2. Optimisation du système pour le pilote UHD
57 1 Damien Roque
58 2 Damien Roque
h3. Priorité d'exécution du pilote UHD
59 1 Damien Roque
60 2 Damien Roque
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
61 1 Damien Roque
62
<pre>
63 2 Damien Roque
@usrp    -    rtprio    99
64 1 Damien Roque
</pre>
65
66 2 Damien Roque
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.
67 1 Damien Roque
68
<pre>
69 2 Damien Roque
groupadd usrp
70
adduser <nom_d'utilisateur> usrp
71 1 Damien Roque
</pre>
72
73 2 Damien Roque
h3. Taille maximale des tampons d'émission-réception
74 1 Damien Roque
75 2 Damien Roque
Il est également recommandé de modifier la taille des tampons d'émission-réception en ajoutant les lignes suivantes au fichier @/etc/sysctl.conf@.
76 1 Damien Roque
77
<pre>
78 2 Damien Roque
net.core.rmem_max=33554432
79
net.core.wmem_max=33554432
80 1 Damien Roque
</pre>
81
82 2 Damien Roque
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.
83
84
h3. Vérification du bon fonctionnement
85
86
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.
87
88 1 Damien Roque
<pre>
89 2 Damien Roque
/usr/share/uhd/examples/benchmark_rate --duration 20 --rx_rate 10e6
90 1 Damien Roque
</pre>
91
92 2 Damien Roque
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).