- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
こんにちはドルフィンシステム福島です。
何故かIQデータが受信できない
HackRFやBladeRFを接続してもIQデータが受信できない場合があります。
このような場合はエラーが発生していないか確認してください。
GRC左下のメッセージをよく見ます。
メッセージの中程に、
gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.11
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
[WARNING @ libusb.c:307] Found a bladeRF via VID/PID, but could not open it due to insufficient permissions.
や
hackrf_open() failed: HACKRF_ERROR_NOT_FOUND (-5)
と表示されている場合、USBのアクセス権限が絡んでいる可能性があります。
権限が問題なのか?問題を特定する
権限が無い場合は、権限を付けてやれば問題なく動作するはずです。
まずGUIでターミナルを開いてGNURadio Companionを管理者権限で起動します。
$ sudo gnuradio-companion
これでIQデータが受信できていたら、権限の問題です。
USBデバイスを開けるように権限を与える
sudoでgrcを起動すれば動きますが、根本的な解決になりません。
USBデバイスの権限を設定しましょう。
BladeRFの場合
まずBladeRFのUSBベンダーID(VID)とプロダクトID(PID)を見つけます。
これは簡単でlsusbコマンドを実行すると、表示されます。
$ lsusb
Bus 002 Device 005: ID 2cf0:5246
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 010: ID 17ef:6047 Lenovo
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
えーと、この"2cf0:5246"がbladerfのVIDとPIDです。
bladerfと書かれていないのに何故分かるのか?bladerfをUSBポートから抜いて、lsusbを実行して比較してみてください。
設定ファイルを作成する
$ sudo nano /etc/udev/rules.d/50-bladerf-rule.rules SUBSYSTEM=="usb", ATTRS{idVendor}=="2cf0", ATTRS{idProduct}=="5246", MODE="0666"
次にルールを更新します。
$ sudo udevadm control --reload-rules
これでBladeRFを抜き差しするか、再起動してgrcで動作確認してください。
HackRFの場合
HackRFの場合は、
hackrf_open() failed: HACKRF_ERROR_NOT_FOUND (-5)
または、
hackrf_open() failed: HACKRF_ERROR_LIBUSB (-1000)
というエラーが発生します。
この場合の対応策は、手順が紹介されています。
I can't seem to access my HackRF under Linux
https://github.com/mossmann/hackrf/wiki/FAQ#i-cant-seem-to-access-my-hackrf-under-linux
設定ファイルを作成する
$ sudo nano /etc/udev/rules.d/51-hackrf-rule.rules ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="660", GROUP="plugdev" ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="660", GROUP="plugdev" ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="hackrf-dfu-%k", MODE="660", GROUP="plugdev
$ sudo nano /etc/group plugdev:x:46:ubuntu,使用するユーザ名
グループplugdevに使用するユーザ名を書き入れる。
ルールを更新します。
$ sudo udevadm control --reload-rules $ sudo shutdown -r now
これでHackRFを抜き差しすれば良さそうですが、私の場合は再起動しないと正常動作しませんでしたので、再起動をしておきます。
以上、ドルフィンシステム福島でした。
- リンクを取得
- ×
- メール
- 他のアプリ
コメント
コメントを投稿