無線通信×セキュリティ

Security/Radio/IoT/Mobile/Network

openLTEをUbuntu16.04へインストール

少し前にopenLTEなるものについて記事を書きましたが、その後あまり使えておらず、最近ようやく使い始めて、色々詰まったところとかありましたので、まとめておきます。

tansokun920.hatenablog.com

OpenLTEを使うには

まず、そもそもの大前提として、Software Defined Radio(SDR)が必要です。様々なタイプのSDRに対応していますが、OpenLTEを使ってLTE基地局をたてる場合は、USRP B200またはB210が必要になります。それ以外は周辺のセルにスキャンくらいにしか使えません。USRP B200,B210は以下のサイトまたは、代理店経由で購入することが可能です。

www.ettus.com

またopenLTEを正常に動作させるための推奨マシンスペックは以下の通りです。

CPU : Intel Core i5, Core i7 or equivalent with SSE4.1 SSE4.2 and AVX support

Memory : 最低8GB

USB3.0 Interface

OS : Ubuntu14以降 

そして絶対に必要なものが、電波を遮断するようなシールドルームやシールドボックスです。SDR+openLTEによって簡単にライセンスバンドに電波を放射することが可能ですが、無免許の場合、違法です。利用する場合には必ず電波法を遵守して下さいませ。

Ubuntuの準備

私はUbuntu16.04を使ってセットアップしました。1つ気をつけなければいけないこととして、VM上で動かすと処理性能が落ちるため、まともに動作しません。SegmentationFaultが起きて、すぐに落ちます。なので、基本的にローカルインストールして下さい。 

openLTEのインストール

 Ubuntuが準備できたら、ようやくopenLTEのインストールです。基本的には以下のサイトのInstalling OpenLTEを参考に進めて下さい。ただし、Ubuntu16.04の場合や、Gnuradioのバージョンの問題でただしくインストールできない場合があります。

https://sourceforge.net/p/openlte/wiki/Home/

1. GNURADIOのインストール

以下のコマンドを実行すればOKです。

mkdir gnuradiocd gnurdio
wget http://www.sbrac.org/files/build-gnuradio
chmod a+x build-gnuradio

./build-gnuradio -v

ただし、現在(2018年5月30日)、GNURADIOのバージョン3.7.11.1がダウンロードされると、ただしくビルドされずに途中で終了していまします。以下の問題で。

github.com

以下を参考にバージョン3.7.12.0以降をGitHubよりダウンローとしてビルドして下さい。

github.com

2. PolarSSLのインストール 

openLTEのwikiページには以下のコマンドの記載がありますが、これではインストールできません。

$sudo apt-get install libpolarssl-dev

 

以下のページに記載のコマンドでインストールができます。

https://sourceforge.net/p/openlte/discussion/general/thread/da9398f5/

$wget http://launchpadlibrarian.net/195987839/libpolarssl7_1.3.9-2.1_amd64.deb
$wget http://launchpadlibrarian.net/195987837/libpolarssl-dev_1.3.9-2.1_amd64.deb
$sudo dpkg -i libpolarssl7_1.3.9-2.1_amd64.deb
$sudo dpkg -i libpolarssl-dev_1.3.9-2.1_amd64.deb

 

3. openLTEのインストール

最後にopenLTEのインストールです。まずは、以下のサイトから最新のファイルをダウンロードして解凍して下さい。

https://sourceforge.net/projects/openlte/files/

後は以下のコマンドを打てば無事インストール完了です。 

$mkdir build
$cd build
$sudo cmake ../
$sudo make
$sudo make install

 

以下のコマンドを打って動作するようであれば無事完了です。

LTE_fdd_enodeb

 

また近いうちに使い方を記事にしたいと思います。

 

ソフトウェアで作る無線機の設計法 -IoTシステム キーテクノロジー- (設計技術シリーズ)

ソフトウェアで作る無線機の設計法 -IoTシステム キーテクノロジー- (設計技術シリーズ)