OAI eNB + OAI UE without S1 安装 运行 教程

OAI eNB + OAI UE without S1 安装运行教程

 

  最近有不少人咨询OAI eNB +OAI UE without S1模式需要几台电脑,怎么安装,怎么运行等问题。我把相关的资料整理如下。(感谢旺旺的帮助,旺旺是QQ群里低调的大神)

  CSDN博客有时会对命令里面的-- 自动转码,也正好,防止大家直接复制命令而不看解释。


概述

  我猜很多同学对这种模式的误解来源于不知道S1是什么意思。在LTE系统中,S1接口是eNB与EPC的接口,S1-U是eNB与PGW的接口名称,S1-C是eNB与MME的接口名称。那OAI eNB+ OAI UE without S1的意思不就是只需要eNB,UE,不需要连接EPC么。

 

  笔者在之前的博客中也介绍过,标准的LTE系统如下图所示,包含三个部分,eNB,UE,和EPC。你可以把eNB和EPC安装在同一台电脑上。如果你的电脑运算能力足够强,其实你也可以把eNB,EPC和UE都安装在同一台电脑上。


OAI eNB + OAI UE without S1 安装 运行 教程_第1张图片

  那么OAI eNB + OAI UEwithout S1 的模式如下图所示(图中未画RRC功能),即这种模式下只需要两个部分,即eNB和UE。eNB和UE之间只建立了RRC承载,需要EPC参与的功能都没有。你可以把eNB和UE分别安装在不同的电脑上,理论上来说eNB和UE也能安装在同一个PC上。


OAI eNB + OAI UE without S1 安装 运行 教程_第2张图片

  大家可以简单的理解为这个模式就是UE完成下行同步和PRACH之后就直接开始收发数据。eNB和UE成功运行起来后,会在相应的电脑上起一个虚拟网卡,可以通过虚拟网卡来给eNB、UE添加数据业务,如ping命令,iperf命令等。

 

安装步骤


安装依赖库

  安装依赖库跟OAI运行哪种模式无关,无论你最终要运行哪种模式,安装依赖库的命令都一样。

 

cd ./openairinterface5g
source ./oaienv
cd cmake_targets
sudo ./build_oai -I

  上述依赖库安装过程会因为无法连接国外网站等出现各种各样的问题,这里不一一列举。出现问题怎么办,去QQ讨论群问老司机。

 

编译

  eNB侧:

 sudo ./build_oai  -c -C --eNB --UE -r Rel8 -w USRP --noS1 -x

  UE侧:

sudo ./build_oai  -c-C --eNB --UE -r Rel8 -w USRP --noS1 -x

  大家注意理解每个参数的意思,不要盲目的复制。比如 -r Rel8是说编译LTE Release8版本,--noS1是说编译without S1模式等。

起虚拟网卡

  eNB侧:

./targets/bin/init_nas_nos1 eNB

  UE侧:

./targets/bin/init_nas_nos1 UE

  起完虚拟网卡后,应该能在各自电脑上看到一个虚拟网卡,eNB侧的IP地址应该是10.0.1.1,UE侧的IP地址应该是10.0.1.9.(如果不知道怎么看IP地址的,自己拿起《Linux鸟哥私房菜》去看吧,基础不牢固没法整)

运行步骤


eNB侧运行

sudo ./targets/bin/lte-softmodem-nos1.Rel8 -O ./targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -d 2>&1

  同样的,大家需要理解每个参数的实际含义,根据自己的需求更改。同时注意看enb.band7.tm1.usrpb210.conf配置文件里面的配置。eNB需要和UE配置相同才能成功连上。当然,这种模式下你不需要在配置文件里面配置各种IP了。

UE侧运行

sudo ./targets/bin/lte-softmodem-nos1.Rel8-U -g 5 -C 2660000000 --ue-txgain 85 --ue-rxgain 90 --ue-scan-carrier -r25  -d 2>&1

  同理,自己看每个参数的含义。直接复制可能跑不起来的!!

业务

  我们可以在虚拟网卡上跑各种局域网内的业务。比如你可以在eNB侧ping UE,命令如下:

ping 10.0.1.9
 

总结与建议

  你可能按照上面的步骤都走了一遍,发现还是没有把OAI eNB + OAI UE without S1模式跑起来,心里肯定在想博主又在骗人,教程根本不行啊。

  跑不起来的原因可能有:

  1.     OAI每天都在更新版本,而且很多版本根本不能用,有时候我们的主要工作就是自己去找一个能稳定运行的版本。找到一个稳定的版本后一切都好说了。大家找到了稳定运行的版本也可以在群里分享。不知道怎么用git切换版本的也该好好学习了。

  2.     我的教程中可能有些说的不对或者不完全的地方,一旦出了问题你就不知道该怎么办时,说明你对OAI还不了解,要想在不了OAI的情况下就在OAI上做开发或者调试比较困难。当然,LTE,Linux,C是OAI的基础。

  3.     注意eNB和UE侧的配置要一致,比如频点之类的参数等。

  4.     eNB和UE的发射增益和接收增益需要根据你两个USRP之间的距离手动调整,貌似OAI目前还不支持自动增益控制。

  5.     大部分问题出在依赖库的安装,因为这一块问题太多,不好总结,大家就直接去群里交流吧。

  6.     利用午饭时间仓促写的博客,难免有错。如果有错,请在评论处或者群里@我,我看到了会及时更新的。


你可能感兴趣的:(软件无线电)