USRPを使用するGNUラジオプログラムを実行しようとすると、エラーバックトレースが発生します。これは(Pythonでは)通常次のように終わります。
self.u = uhd.usrp_source(device_addr=args, stream_args=uhd.stream_args('fc32'))
File "/home/marcus/.usrlocal/lib64/python2.7/site-packages/gnuradio/uhd/__init__.py", line 122, in constructor_interceptor
return old_constructor(*args)
File "/home/marcus/.usrlocal/lib64/python2.7/site-packages/gnuradio/uhd/uhd_swig.py", line 2351, in make
return _uhd_swig.usrp_source_make(*args)
RuntimeError: LookupError: KeyError: No devices found for ----->
USRPが実行されています。
最初にuhd_find_devices
ツールを使用して、生のUHD機能を最初にテストする必要があります。
uhd_find_devices
デバイスが起動してもデバイスが見つからない場合、私の経験では、単にデバイスと通信できない可能性が高いです。
uhd_find_devices
の出力の最初の行には、バージョンに関する情報が含まれます。執筆時点(2014年10月)では、3.9が最新リリースです。可能であれば、常に最新のリリースを使用してください。/etc/udev/rules.d/
にuhd-usrp.rules
のようなものが含まれているかどうかを確認します。build-gnuradio.sh
or pybombs
)をインストールした場合は、 USBライブラリがありません。UHDcmakeログに「EnablingUSB」が含まれていることを確認してください。192.168.10.XXX
範囲(出荷時設定ではXXX=2
)のアドレスがあります。コンピューターのIPアドレスが同じ範囲であるが、同じアドレスではないことを確認してください。ping <ip address of USRP>
による)。そうでない場合は、自分のIPアドレスを再確認し、USRPが正しいアドレスに構成されていることを確認してください。wireshark
(ネットワークパケットスニファソフトウェア)を適切にインストールし、専用のネットワークインターフェイスを(電源がオフのUSRP)に接続し、キャプチャを開始するのが最も簡単な場合がよくあります。そのインターフェイス、およびUSRPの電源を入れます。cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=addr=<current IP address> --values="ip-addr0=<new ip address>"
のIPアドレスを再プログラムできます。cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=<optional device args> --values="ip-addr=192.168.10.3"
のIPアドレスを再プログラムできます。iptables
コマンドがトリックを実行します¹:Sudo iptables -A INPUT -p udp --sport 49152 -j ACCEPT
。これはファイアウォールに穴を開けることに注意してください。教育機関のセキュリティポリシーが適用される場合があります。PC、USRP、ケーブルおよびデバイスのIP構成が正しいかどうかを簡単にテストするために、現在の GNU Radio Live DVD ²(ちなみに、これには大量のクールな例も含まれています)をダウンロードして起動しますそれを試して、そこでuhd_find_devices
を試してください。
¹各ディストリビューションにはファイアウォールの管理方法に関する独自のアイデアがあるため、マイレージは異なる場合があります
²可能であれば、トレントファイルを使用してください-AmazonAWSトラフィックはGNU Radioプロジェクトのメンテナーにとって無料ではありません。トレントファイルもソースとしてAWSサーバーを使用しますが、他のユーザーから画像の一部を取得します。