Sie immer roh UHD Funktionalität zuerst mit dem uhd_find_devices
Werkzeug zuerst prüfen sollten:
uhd_find_devices
Wenn es nicht Ihr Gerät nicht finden, obwohl es gestartet wird, ist meine Erfahrung, dass Sie eine hohe Chance haben einfach nicht mit dem Gerät kommunizieren zu können:
- Wenn Sie eine UHD Version von Ettus nicht verwenden own repositories, vor allem auf nicht-brandneuen Ubuntus, könnte einfach Ihre UHD älter sein als das Gerät und kann nicht damit reden. Die erste Ausgabezeile von
uhd_find_devices
enthält Informationen zur Version. Zum Zeitpunkt des Schreibens (Oktober 2014) ist 3.9 die neueste Version. Verwenden Sie nach Möglichkeit immer die neueste Version.
- B200/B210 benötigt mindestens 3.6.0, aber die Funktionalität verbessert signifikant mit 3.8.4
- X300/X310 benötigt mindestens 3.7.0
- B200mini braucht 3.9
- USRP1/2/B100/N200/N210 sollte direkt unterstützt werden, aber die ältesten Versionen, die Sie in freier Wildbahn finden. Nicht so sehr für alle Daughterboards, die Sie mit ihnen verwenden können - wie erwähnt, versuchen Sie eine aktuelle Version zu verwenden.
- Wenn Sie eine USB angeschlossen Gerät verwenden (USRP B200, B210, B200mini, B100, USRP1), stehen die Chancen, dass Sie entweder
- auf Linux: Sie haben nicht die notwendigen udev rules installed damit "normale" Benutzer mit den USRPs kommunizieren können; Überprüfen Sie, ob
/etc/udev/rules.d/
etwas wie uhd-usrp.rules
enthält.
- unter Windows: Sie haben möglicherweise nicht die Windows USB drivers installed.
- Wenn Sie UHD selbst gebaut haben (auch wenn Sie GNU Radio über
build-gnuradio.sh
oder pybombs
installiert haben), dann könnten USB-Bibliotheken fehlen. Stellen Sie sicher, dass Ihre UHD cmake-Protokolle "USB aktivieren" enthalten.
- USB3: Einige USB3-Host-Controller verhalten sich nicht normkonform, und Konnektivität kann nicht erreicht werden. Wenn Ihr USRP erkannt wird, wenn es an einen USB2-Anschluss angeschlossen wird (normalerweise nicht blau), sollte alles in Ordnung sein.
- Wenn Sie auf einem vernetzten Gerät (USRP X300/X310 mit 1 GBit/10 Gbit Ethernet, USRP N200/N210, USRP2)
- stellen Sie sicher, Ihre Netzwerk-Schnittstelle
- ist 1Gbit-fähig (oder 10GE, wenn angewendet); "Fast Ethernet" (10/100Mbit) NICs funktionieren nicht mit den USRPs.
- Nicht die Intel 82579LM Netzwerk-Controller (der einzige PCIe-Netzwerk-Controller-IC bekannt gelegentlich Pakete fallen zu lassen, ohne das Betriebssystem
- keine USB3-to-Gigabit zu sagen Adapter (diese sind in der Regel interessante Umordnung auf den Pakete zu tun, so dass sie ungeeignet für Echtzeit-Proben mit hohen Rate)
- stellen Sie sicher, auf dem gleichen IP-Netzwerk Ihres Computer ist. Standardmäßig hat USRPs Adressen aus dem
192.168.10.XXX
Bereich (XXX=2
in Werkseinstellung). Ihr Computer eine IP-stellen Sie sicher, hat Adresse aus dem gleichen Bereich, aber nicht gleich Adresse
- stellen Sie sicher, dass grundlegende Kommunikation funktioniert (von
ping <ip address of USRP>
). Wenn nicht, überprüfen Sie Ihre eigene IP-Adresse erneut und versuchen Sie sicherzustellen, dass das USRP für die richtige Adresse konfiguriert ist.
- Um die aktuelle IP-Adresse Ihres USRP, ist es oft am einfachsten richtig herauszufinden, installieren
wireshark
(das ist ein Software-Paket-Sniffer Network), haben eine dedizierte Netzwerk-Schnittstelle zum (ausgeschaltet USRP) anschließen, starten Sie das Capture auf diese Schnittstelle und die USRP einschalten.
- Wenn die Adresse falsch ist, können Sie die IP-Adresse des USRP X300/X310 umprogrammieren kann:
cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=addr=<current IP address> --values="ip-addr0=<new ip address>"
- Wenn die Adresse falsch ist, können Sie die IP-Adresse des USRP N200/N210/USRP2 umprogrammieren:
cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=<optional device args> --values="ip-addr=192.168.10.3"
- stellen Sie sicher, Ihr firewall configured to permit traffic kommt von dem USRP-Port 49152. Unter Linux führt der folgende
iptables
-Befehl typischerweise den Trick¹: sudo iptables -A INPUT -p udp --sport 49152 -j ACCEPT
. Beachten Sie, dass diese ein Loch in Ihre Firewall einlochen. Möglicherweise gelten die Sicherheitsrichtlinien Ihrer Institution.
- Wenn Sie versuchen, eine USRP E100, E110, E310 oder E312 an Ihren PC angeschlossen zu verwenden:
- Die E-Serie-Geräte sind eigenständige Embedded-Linux-SDR-Geräte; sie hängen nicht an einen PC als Peripheriegerät an. Sie müssen Ihre Software (falls zutreffend) mit einer cross-compiler kompilieren und die Software auf dem E-series Gerät selbst ausführen, nicht auf Ihrem Host-PC.
Als ein schneller Test, ob Ihr PC, USRP und Verkabelung und Geräte-IP-Konfiguration korrekt sind, laden Sie die aktuelle GNU Radio Live DVD ² (die, nebenbei bemerkt, auch reichlich kühlen Beispiele enthält), booten und versuchen Sie uhd_find_devices
dort.
¹ Ihre Laufleistung variieren kann, da jede Verteilung seine eigene Vorstellung davon hat, wie der Firewall
² Bitte verwenden Sie die Torrent-Dateien zu verwalten, wenn möglich - Amazon AWS-Verkehr für die ist nicht kostenlos Betreuer des GNU-Radio-Projekts. Die Torrent-Datei verwendet auch die AWS-Server als Quelle, versucht jedoch, einen Teil des Bilds von anderen Benutzern abzurufen.
Wissen, SWIG: ** ** ** ** ** ** nicht jemals eine swig-generierte Python-Datei. Auch wenn UHD intern gut bekannt ist, wird 'device_addr = b210' von UHD ignoriert, wenn das also hilft, ist es Zufall. –
Außerdem weiß ich nicht genau, welches Problem das löst, aber es ist wahrscheinlich etwas * sehr * spezifisch. –