CentOS7にKVMで入れたubuntuでfr24feedを動かす

若干詰まった箇所があったので備忘録的に。

1. 環境

~PC~
・ホスト側 : CentOS 7.9.2009
・ゲスト側 : Ubuntu 20.04

※ ゲスト側のUbuntuはCUI環境だけあればよかったので、Ubuntu serverをインストールしました。

~ドングル (レシーバー)~
・RTL2832U+R820T

2. ホスト側の設定

1. 他のUSBデバイスがいるとrtlsdrがエラーになっちゃう件
2. https://bbs.archlinux.org/viewtopic.php?pid=1628757#p1628757

① ドングルをPCに接続する

USBポートにドングルを挿します。自動認識されるはずです。

② ブラックリストの登録

ドングルが自動認識されますが、この時カーネル内のドライバーが勝手に当たってしまいます。SDRとして使う際に邪魔なので、これらを「/etc/modprobe.d/rtlsdr-blacklist.conf」にブラックリストとして登録します (参考1.)。

# vi /etc/modprobe.d/rtlsdr-blacklist.conf
blacklist dvb_usb_rtl28xxu
blacklist rtl2830
blacklist dvb_usb_v2
blacklist dvb_core

なお、実際にこのデバイスを使うのはゲスト側OSですが、ホスト側OSでブラックリストに登録しておかないと、USBリダイレクトをする際にクラッシュします。ドングルをPCに接続したら、まずはホストOSでもブラックリストに登録しましょう。

③ USBリダイレクトでエラーになる問題の解決

virt-managerを使い、ホスト側で認識しているUSBをゲスト側にリダイレクトさせたいのですが、「spice-client-error-quark <<デバイス名>> Error setting USB device node ACL: ‘Not authorized’ (0)」のようなエラーが出てしまいました。調べたところ、ホスト側の「/etc/udev/rules.d/50-spice.rules」に若干の追記することで (参考 2.) 取り敢えず解決しましたので、同じ症状が出た方は試してみると良いかもしれません。

# vi /etc/udev/rules.d/50-spice.rules
//末尾に以下の内容を記述//
SUBSYSTEM==”usb”, GROUP=”spice”, MODE=”0660″
SUBSYSTEM==”usb_device”, GROUP=”spice”, MODE=”0660″
EOF
usermod -a -G spice $USER

3. ゲスト側の設定

参考 :
1. Raspberry Piで航空機からの位置情報信号ADS-Bを受信してみた

① RTL-SDR / dump1090の設定

上記参考ページのとおりです。ただ、自動では当たってしまうドングルのドライバーは「2. ホスト側の設定 / ② ブラックリストの登録」と同様に設定しておくことをおすすめします。

② fr24feedの設定

flightradar24の公式HPより、LINUX向けのソフトウェアをダウンロードします。

# wget https://repo-feed.flightradar24.com/linux_x86_64_binaries/fr24feed_1.0.25-3_amd64.tgz

ダウンロードしてきたフォルダを解凍します。

# tar -xzvf fr24feed_1.0.25-3_amd64.tgz

「fr24feed_amd64」というフォルダが出来ますので、その中にある「fr24feed」というファイルを実行し、サインアップします。fr24feedを実行する前に、dump1090が立ち上がっているか確認しておきましょう。

# cd fr24feed_amd64
# ./fr24feed –signup

あとは流れに沿って情報を登録し、再度fr24feedを実行すれば終了です。

# ./fr24feed

4. 終わりに

USBリダイレクト周りで若干手こずりましたが、なんとか安定して動作してくれたので安心しました。サーバーとして使っているPCでfr24feedを動かしたかったのですが、なかなか成功しなかったので、Ubuntuを仮想で入れました。とりあえず満足です。

コメントを残す