1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ZeroMQでsrsRAN 4G UE / RANを構築

Posted at

srsRAN 4Gソフトウェア スイートには、ZeroMQネットワーキング ライブラリを使用してアプリケーション間で無線サンプルを転送する仮想無線が含まれています。そこで、4G EPCの機能を確認するために、実際のデバイスの代わりに仮想eNodeBとUEを構築する簡単な手順について説明します。なお、構築に際しては、RFプラグインを無効にしてZeroMQ対応機能を仮想eNodeBとUEに静的に組み込んでいることに注意して下さい。

ZeroMQでsrsRAN 4G UE/RANを構築するには以下を参照して下さい。

動作確認したVMの仕様は以下の通りです。

OS CPU (Min) Memory (Min) HDD (Min)
Ubuntu 22.04 1 2GB 10GB

ビルドには2GB以上のメモリが必要です。

ZeroMQを含む必要なライブラリをインストール

apt install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev libzmq3-dev

Git clone srsRAN_4G

git clone https://github.com/srsran/srsRAN_4G.git

Virtualbox VMにRFプラグインを無効にしてsrsRAN 4G UE / RANを構築

ZeroMQライブラリを仮想eNodeBおよびUEに静的にリンクさせるため、RFプラグインを無効にしてビルドします。

cd srsRAN_4G
mkdir build
cd build
cmake ../ -DENABLE_RF_PLUGINS=OFF
make

eNodeBの設定ファイルを作成

雛型の各設定ファイルをコピーして、環境に応じて編集して下さい。

cd srsRAN_4G/srsenb
cp enb.conf.example ../build/srsenb/enb.conf
cp rr.conf.example ../build/srsenb/rr.conf
cp rb.conf.example ../build/srsenb/rb.conf
cp sib.conf.example ../build/srsenb/sib.conf

UEの設定ファイルを作成

雛型の設定ファイルをコピーして、環境に応じて編集して下さい。

cd srsRAN_4G/srsue
cp ue.conf.example ../build/srsue/ue.conf

NR-UEの設定ファイルを作成

UEを5G NR-UEとして使用すると、4GのeNodeBの他にZeroMQ対応のsrsRAN_Project 5G gNodeBに接続することができます。5G NR-UE構成の場合は、ZeroMQ-based SetupUE configを雛型のファイルとして取得します。また、このRFシミュレートされたgNodeBの構築方法については、こちらを参照してください。

cd srsRAN_4G/build/srsue
wget <link of "UE config">

参考までに、2023.12.07のue_zmq.confは以下の通りです。環境に応じて編集します。

[rf]
freq_offset = 0
tx_gain = 50
rx_gain = 40
srate = 23.04e6
nof_antennas = 1

device_name = zmq
device_args = tx_port=tcp://127.0.0.1:2001,rx_port=tcp://127.0.0.1:2000,base_srate=23.04e6

[rat.eutra]
dl_earfcn = 2850
nof_carriers = 0

[rat.nr]
bands = 3
nof_carriers = 1
max_nof_prb = 106
nof_prb = 106

[pcap]
enable = none
mac_filename = /tmp/ue_mac.pcap
mac_nr_filename = /tmp/ue_mac_nr.pcap
nas_filename = /tmp/ue_nas.pcap

[log]
all_level = info
phy_lib_level = none
all_hex_limit = 32
filename = /tmp/ue.log
file_max_size = -1

[usim]
mode = soft
algo = milenage
opc  = 63BFA50EE6523365FF14C1F45F88737D
k    = 00112233445566778899aabbccddeeff
imsi = 001010123456780
imei = 353490069873319

[rrc]
release = 15
ue_category = 4

[nas]
apn = srsapn
apn_protocol = ipv4

[gw]
netns = ue1
ip_devname = tun_srsue
ip_netmask = 255.255.255.0

[gui]
enable = false

問題点

  1. Open5GSへのUEの登録時に、5G NR-UEの設定ファイルの[slicing]セクションで問題が発生した場合は、こちら が役に立つかも知れません。NR-UEとしてue_zmq.conf[slicing]セクションを追加してsrsueを使用する場合、3GPP仕様に従って、InitialUEMessage Plain NAS 5GS MessageNSSAI IEを含めないようにしますが、srsueはそのようになっていません。free5GCのAMFの場合、この辺のチェックは緩いのですが、Open5GSは厳格にはじきます。そろそろマージして頂けると助かるのですが…

動作確認済みバージョン一覧

以下のバージョンの動作を簡単に確認しました。

Version Commit Date Issues
23.11+ ec29b0c1ff79cebcbe66caa6d6b90778261c42b8 2024.02.01 1
23.11 eea87b1d893ae58e0b08bc381730c502024ae71f 2023.11.23 1
23.04.1 fa56836b14dc6ad7ce0c3484a1944ebe2cdbe63b 2023.06.19 1

4G、5Gコア連携の設定例

5Gの場合

4Gの場合

最後に

SRSが開発したsrsRAN_4Gにより、UE、eNodeB、軽量のEPCを備えた完全なLTEモバイルネットワークを実現することができます。ここでは、4Gコア機能を検証する際のRANならびにUEとして使用するため、ZeroMQベースのRFドライバーでeNodeBとsrsUEを接続する構成を想定し、仮想環境で組む時のsrsRAN_4Gのビルド方法について説明しました。これにより、実機のeNodeBとUEが無くても、取り敢えず、4Gコアの機能を幾らか検証することができると思います。
また、5G対応のNR-UEの機能も備えているため、srsRAN_ProjectのgNodeBと連携して、5Gコア機能の検証に使用することもできます。

最後に、元記事はGithubに書いたものです。

主な変更履歴

  • [2024.09.12] 初版。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?