• 环境要求:Ubuntu 16.04 LTS / CentOS 7 / Ubuntu 14.04 LTS

本文以Ubuntu 16.04.3 LTS 为例,硬件环境为core i7 6500U,16GB DDR3@1600

…广告:…
OAI核心网搭建:https://blog.csdn.net/BUPTOctopus/article/details/81560514
srsLTE搭建:https://blog.csdn.net/BUPTOctopus/article/details/82997806


第零章:可选

  • 0.1 切换至Ubuntu 低延迟内核
sudo apt-get install linux-lowlatency
sudo apt-get install linux-image-`uname -r | cut -d- -f1-2`-lowlatency
sudo apt-get install linux-headers-`uname -r | cut -d- -f1-2`-lowlatency
sudo reboot
  • 0.2 关闭睿频
sudo apt-get install cpufrequtils
sudo vi /etc/default/cpufrequtils

添加:GOVERNOR="performance"

sudo update-rc.d ondemand disable
sudo /etc/init.d/cpufrequtils restart
cpufreq-info
#查看睿频是否成功关闭(频率变动极小)
  • 0.3 删除BIOS中的所有电源管理功能(睡眠状态,特别是C状态)
sudo vi /etc/default/grub
#在末尾添加:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"
GRUB_CMDLINE_LINUX_DEFAULT="quiet processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll"sudo vi /etc/modprobe.d/blacklist.conf
#在末未添加:(将Intel的电源管理加入黑名单)
blacklist intel_powerclampsudo reboot

第一章 OAI接入网基础文件下载

  • 1.1 安装git
sudo apt-get update
sudo apt-get install subversion git
  • 1.2 Add a certificate from gitlab.eurecom.fr to your Ubuntu
echo -n | openssl s_client -showcerts -connect gitlab.eurecom.fr:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt
  • 1.3 Disable certificate check completely if you do not have root access to /etc/ssl directory
sudo git config --global http.sslverify false
  • 1.4 接入网基本文件下载
sudo git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git

第二章 Build , Config and Run

  • 2.1 Build
    直接用OAI中的编译脚本build_oai来装依赖的话,需要xx上网,麻烦。现在做了个离线安装包,顺便也是宣传一下我们的开源5G社区(国内):http://community.opensource5g.org/forum.php?mod=viewthread&tid=3#lastpost
    这个页面是NSA的安装教程,eNB部分是一样的。
cd ~/openairinterface5g
sudo git checkout develop    //你想用的分支
source oaienv
cd cmake_targets
  • 接下来一步需要****。
    测试有没有*好可以手动装一下ppa uhd驱动sudo -E add-apt-repository ppa:~ettusresearch/ubuntu/uhd来测试。

让挂个代理就违规了?墙都不让翻做nmd科研呢?

如果还是太慢,可以在build_helper里注释掉以下两句:

sudo vim ~/openairinterface5g/cmake_targets/tools/build_helper

然后注释掉这两句

$SUDO rm -rf /opt/ssh
$SUDO git clone https://gist/github.com/2190472.git /opt/ssh

相应的文件虽然没啥用……我下下来传百度云了:
链接:https://pan.baidu.com/s/1A2OZq1XrLzb89CVKYFxCyw
提取码:8sn7
(就一个文件,ssh.py)

  • 此外如果需要手动装uhd驱动的话可以去http://files.ettus.com/binaries/uhd_stable/src/
  • 装完驱动如果usrp的images下载太慢的话可以直接用我传到百度云的,链接:https://pan.baidu.com/s/18iVdGWKyvPp21_7zvzIJxw 提取码:UHDI 放到/usr/share/uhd/images中,然后再运行build_oai
  • 如果想要手动安装ASN1,就在build_helper中注释掉ASN1的安装函数install_asn1c_from_source

编译:

./build_oai -I --eNB -x --install-system-files -w USRP

参数说明:(可以./build_oai -h查看所有的参数说明)
-I: installs required packages.ASN1和uhd驱动等都需要挂代理。
–eNB: installs eNB, i.e., lte-softmodem.编译成eNB。后面编译成UE这里改成–UE即可。
-x: adds a software oscilloscope feature to the produced binaries.装个软件示波器。
–install-system-files: installs OAI required files in Linux system.
-w: adds the hardware support, which is USRP in our case.

  • 2.2 修改~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/下配置文件的内容
sudo vim ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf

mobile_country_codemobile_network_code 改为跟核心网一样

mme_ip_address中的ipv4改为运行核心网主机的IP

NETWORK_INTERFACES中俩IP改为自己的IP

然后把它拷到~/openairinterface5g/cmake_targets/lte_build_oai/build目录下:

注意:最新develop分支eNB的编译也放到cmake_targets/ran_build/build里了,注意下你用的版本和目录

sudo cp ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf ~/openairinterface5g/cmake_targets/lte_build_oai/build/
  • 2.3 修改eNB配置
sudo vi ~/openairinterface5g/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf

因为IMSI=MCC+MNC+MSIN ID,之前测试UE的IMSI设置为208930100001111,所以将某个PLMN的MCC改为208,MNC改为93(PLMN中保证有一个你配置的MCC、MNC就可以),UE0的MSIN改为0100001111.
注意:当换用其他的MCC MNC的时候,比如,如果MCC+MNC是6位,那么MSIN ID只需要9位。
其余的默认就可以,要改的话注意写卡和EPC数据库里都要改。

  • 2.4 run接入网(先插上USRP)
# 旧版路径:
cd ~/openairinterface5g/cmake_targets/lte_build/build
# 新版路径:
cd ~/openairinterface5g/cmake_targets/ran_build/build
# 运行
sudo ./lte-softmodem -O enb.band7.tm1.usrpb210.conf
  • 2.5 测试:写SIM卡,插入手机,连接接入网
Ki: 8BAF473F2F8FD09487CCCBD7097C6862 (即HSS数据库里的key,eNB里的USIM_API_K,不要改,除非HSS里也改)
OP: 11111111111111111111111111111111
OPc:e734f8734007d6c5ce7a0508809e7e9c
C1:00, C2: 01, C3: 02, C4: 04, C5: 08, R1: 40, R2: 00, R3: 20, R4: 40, R5: 60 all in hexa.
SPN (service provider Name): OpenAirInterface
MCC: 208 (FR)
MNC: 93 (new MNO MNC)
IMSI: 208930000000001 (MCC|MNC|id)
SQN (Sequence number): 000000000001 (不是IMSI)
IMEI:(可以不写,写的话注意匹配数据库)35609204079301

第三章 OAI UE

  • 3.1 与1.1到1.4一样
  • 3.2 Build

和接入网build的区别只有–eNB变成了–UE

同样要挂代理,或者像搭接入网时候一样注释掉一部分源码

cd ~/openairinterface5g/cmake_targets
sudo ./build_oai -I --UE --install-system-files -x -w USRP
  • 3.3

通过运行sudo tee UE.log ,可以记录UE日志记录以用于进一步开发/测试。
安装ue_ip.ko内核模块并调出OIP接口oip0。MME将使用IP pool为该接口分配IP地址。
脚本:(注意需要修改一下路径)

sudo vim init_nas_s1
 #!/bin/bashLTEIF=oip0OPENAIR_DIR=/home/m/openairinterface5g/load_module() {mod_name=${1##*/}mod_name=${mod_name%.*}if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modulesthenecho "module $mod_name already loaded: I remove it first"sudo rmmod $mod_namefiecho loading $mod_namesudo insmod $1
}load_module $OPENAIR_DIR/targets/bin/ue_ip.koif [ "$1" = "UE" ]; thenecho "bring up oip0 interface for UE"ifconfig oip0 up
fiip route flush cache
sleep 1
sysctl -w net.ipv4.conf.all.log_martians=1
echo "Disabling reverse path filtering"
sysctl -w net.ipv4.conf.all.rp_filter=0
ip route flush cache# Check table 200 lte in /etc/iproute2/rt_tables
fgrep lte /etc/iproute2/rt_tables  > /dev/null
if [ $? -ne 0 ]; thenecho "200 lte " >> /etc/iproute2/rt_tables
fi
ip rule add fwmark 1 table lte
ip route add default dev $LTEIF table lte

执行完脚本之后,

cd ~/openairinterface5g/
sudo chmod +x init_nas_s1
sudo ./targets/bin/init_nas_s1 UE
cd targets/bin
sudo -E ./lte-uesoftmodem.Rel14 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 70 --ue-rxgain 80 2>&1 | sudo tee UE.log

具体是lte-uesoftmodem.Rel几取决于下的代码的版本支持到Rel几,
现在(2018.9)的代码版本支持到Rel14,
参数意义:-U:UE数量, -C:设置所有子载波的下行链路频率,
-r:PRB, 目前接入网的可选值: 6, 25, 50, 100。


不更新了,OAI 的4G UE太难用了,4G软终端可以考虑用srsUE,OAI 5G UE现在进展还不错。
见新的博客2018.10.10。


03 - OAI接入网搭建过程 - 研0相关推荐

  1. 02 - OAI(OpenAirInterface)核心网搭建过程 - 研0

    环境要求:Ubuntu 16.04 LTS / CentOS 7 / Ubuntu 14.04 LTS 本文以Ubuntu 16.04.3 LTS 为例,硬件环境为core i7 6500U,16GB ...

  2. CentOS 6.6 搭建Zabbix 3.0.3 过程

    分享CentOS 6.6下搭建Zabbix 3.0.3 的过程,希望都大家有所帮助. 环境安装 系统环境: # cat /etc/RedHat-release  CentOS release 6.6 ...

  3. 【安装】Hadoop2.8.0搭建过程整理版

    Hadoop搭建过程 前期环境搭建主要分为软件的安装与配置文件的配置,集成的东西越多,配置项也就越复杂. Hadoop集成了一个动物园,所以配置项也比较多,且每个版本之间会有少许差异. 安装的方式有很 ...

  4. disconf mysql_Docker搭建disconf环境,三部曲之三:细说搭建过程

    Docker下的disconf实战全文链接 细说搭建过程 在前两章中,我们利用远程或本地的镜像,快速体验了本地启动disconf的过程,本章我们一起来分析和梳理整个定制和搭建过程,了解这些后,我们就能 ...

  5. MySQL MGR搭建过程中常遇见的问题及解决办法

    这篇文章主要介绍了MySQL MGR搭建过程中常遇见的问题及解决办法,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下 MGR搭建过程中遇到的一些故障.更多资源请访问www.ffu9.c ...

  6. ORACLE RAC TO RAC DG搭建过程中可能遇到的问题

    在ORACLE DataGuard部署过程中,如果操作不规范,可能遇到很多想不到的问题.有些问题是配置参数不到位,有些 是操作不规范遗漏导致. 问题一     主库复制备库到备机时,rman远程登陆主 ...

  7. OAI rfsimulator搭建教程

    OAI 搭建教程 本文说明了在ubuntu18.04虚拟机中,使用rfsimulator代替usrp进行仿真,搭建OAI的具体过程 一.安装Ubuntu 1. 使用VMware安装虚拟机,选择ubun ...

  8. python3.6安装opencv-python3.6、opencv安装环境搭建过程(图文教程)

    我需要使用tesseract-OCR的模块,vs的配置有点麻烦,所以采用py的环境,搭建. 1.在python.org网站下载python3.6版本 我下载的3.6.8的python的安装 选存放的路 ...

  9. docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)

    docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...

最新文章

  1. 英语教授一针见血:背熟这500个固定搭配,英语成绩随便上100
  2. 移动APP的自动化测试
  3. java后端经验和技术总结(1)
  4. OpenGL shader uniform的实例
  5. 大剑无锋之如何评判一个算法的优劣【面试推荐】
  6. 【转】 VS2005中ajax安装指南
  7. 商品分析是什么?该怎么做(入门版)
  8. 小程序常用的10款框架
  9. 无损音乐播放器,有软件与硬件之分
  10. delphi控件切图界面闪烁_ui界面切图方法
  11. python基础题-字符串列表训练
  12. rknn3399pro 2小时入门指南(八)详细教程指导你一步到位训练得到yolov3 rknn模型
  13. 导数的定义、性质与求导
  14. Squid 设置网站访问白名单
  15. 【R语言数据科学】:变量选择(三)主成分回归和偏最小二乘回归
  16. Excel 练习数据LC.CSV
  17. DMIScope 1.00.005 注册版
  18. 教练机飞行原理与操控方法
  19. 【wechat】微信开发——OAuth2.0网页授权
  20. .net实现游戏外挂,完整代码

热门文章

  1. 【NLP】Python NLTK 走进大秦帝国
  2. PDF转Word文字可编辑的软件有哪些?
  3. HTML+CSS实现导航条
  4. angular(使用Angular指令)
  5. NLP - 微信好友个性签名情感分析( 基于Python开源库snownlp )
  6. 地球半径约多少米多少千米
  7. matlab相干解调,心电信号的调制与解调(AM调制、相干解调)
  8. STM32F103-FreeRTOS 操作系统移植
  9. 惰性学习算法 ---- k 近邻算法
  10. 沈阳师范大学大一上册C语言PTA题目集以及答案(第五章 函数 编程题篇)