OAI搭建步骤(EPC+eNB)

本文详细介绍了如何手动搭建LTE核心网EPC及基站eNB,包括所需软件安装、配置步骤及注意事项。

声明:本文优快云作者原创投稿文章,未经许可禁止任何形式的转载,原文链接

一、系统概述

OAI开源代码分为两部分:核心网EPC(openair-cn)+基站eNB(openairinterface5g)。EPC中包括HSS/MME/SPGW等核心网的功能模块;eNB中实现了基站处理的逻辑模块,基站的射频发射模块由USRP B210完成。

本文EPC搭建在Ubuntu 16.04.2 TLS上,通过手动部署的方式运行;eNB搭建在Ubuntu 14.04.3 LTS上,通过启动Docker镜像直接运行。EPC可以使用虚拟机,但是eNB必须使用物理机,因为eNB对时序要求非常严格,虚拟机无法做到实时,即使是物理机,也是不能百分之百满足实时需要的,真正的基站要依赖物理芯片保证实时性。

二、搭建核心网EPC(openair-cn)

前排提示:如果你不想手动搭建,可以下载我已经搭好的虚拟机直接使用。

链接: https://pan.baidu.com/s/1BsG5dpORoLzLZWxGusJO9A 提取码: swmh

2.1 准备主机

安装Ubuntu 16.04.2 TLS系统,注意主机的命名,因为oai中大多使用的是nano,建议主机和用户名都设置为nano。

通过sudo vim /etc/apt/sources.list进入源文件,替换源。推荐使用阿里源(国内速度较快,也可根据实际情更换其他源)。

修改完之后使用 sudo apt-get update更新软件包列表。

2.2 更换内核

Ubuntu 16.04.2 TLS本身自带generic内核,EPC对内核非常敏感,我们在这里把内核换成4.7.7-oaiepc内核。有博客说generic可以直接使用,反而不推荐4.7.7-oaiepc内核,会出现问题。如果后面出现编译问题,可以尝试更换一下内核。

注:如果linux-4.7.x克隆不下来,可以直接下载我上传的资源

先使用sudo apt-get install git vim net-tools 安装gitvimnet-tools

git clone https://gitlab.eurecom.fr/oai/linux-4.7.x.git

cd linux-4.7.x
# 安装内核
sudo dpkg -i linux-headers-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb linux-image-4.7.7-oaiepc_4.7.7-oaiepc-10.00.Custom_amd64.deb
# 重启
sudo reboot
# 查看内核是否更换完成
uname -a

uname -a查看当前的内核版本,出现4.7.7-oaiepc,方可进行下一步操作。

2.3 获取openair-cn源码

注:如果openair-cn克隆不下来,可以直接下载我上传的资源

cd ~
git clone https://gitlab.eurecom.fr/oai/openair-cn.git

克隆完成源码后,执行

cd ~/openair-cn
git checkout -b v0.5.0

2.4 编辑host

先使用hostname查询主机名,如果你得到的是ubuntu

执行:

sudo vim /etc/hosts

观察前几行,把自带的127.0.1.1 ubuntu(这里是你的主机名)这行前面加上#注释掉,然后在下面加上新的两行

127.0.1.1       ubuntu.openair4G.eur   ubuntu #这一行的两个ubuntu都要改成你的主机名
127.0.1.1       hss.openair4G.eur   hss

编辑完之后执行hostname -f,看到输出为你的主机名.openair4G.eur,说明更改成功。

2.5 安装必要的软件

2.5.1 安装Mysql
sudo apt-get install mysql-server mysql-client

密码自己设置,但是要记住,笔者将其设置为了Linux

2.5.2 安装Apache2
sudo apt-get install apache2

测试Apache2,浏览器访问虚拟机的IP会出现apache2主页 (注:不可开VPN,否则不会出现)

2.5.3 安装PHP
sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 restart

测试PHP,创建新文件info.php

sudo vim /var/www/html/info.php

在该文件里添加php语句:

<?php
echo "<P>Hello World!</P> "?>

保存退出,然后浏览器访问 虚拟机ip/info.php,浏览器会显示hello world页面(不可挂VPN!)

2.5.4 安装 phpmyadmin
sudo apt-get install phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html

测试phpmyadmin:

浏览器访问虚拟机ip/phpmyadmin,浏览器会显示数据库登录页面。

如果报错:mbstringextension is missing.Please check your PHP configuration.

解决办法:

sudo vim /etc/php/7.0/mods-available/json.ini

把文件里第二行的分号去掉,保存退出,重启网络
# 重启网络
sudo service apache2 restart

在数据库登录页面输入用户名root,密码Linux(你自己设置的密码),即可进入数据库,后面会进来修改一个值。

2.6 编译EPC

cd ~/openair-cn
git checkout develop 
git pull
cd ~/openair-cn/scripts
./build_mme -i 
./build_hss -i 
./build_spgw -i

无红色报错说明安装成功,一般来说比较容易,不是出错的地方。
注1:以上命令只需跑一次就行了,命令的意思是补充未安装到的包(Need to run only once to install missing packages)
注2:build的时候请不要挂机。如果网速很差,中间很可能遇到EOF(因为安装freeDiameter的时候要从外网把freeDiameter源码克隆过来编译安装)

2.7 配置EPC

2.7.1 文件拷贝
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值