09 - srsLTE的搭建&srsUE连接OAI核心网过程 - 研一

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

第零章:可选

(与OAI搭建一样,搞过就不用再搞了)

  • 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_powerclamp

sudo reboot

srsLTE目前eNB和UE实现了完整的协议栈,EPC功能还差很多,之前还是不开源的,最近刚开源,能做到连接上eNB,UE鉴权连接。UE用它连外网还不行(2018.10)。最新动态/介绍见 https://github.com/srsLTE/srsLTE

第一章:srsLTE的安装

EPC和eNB可以装在一台设备上,UE必须单独一台设备。
(一下内容参考了srsLTE的github)

  • 1.1 安装环境
    sudo apt-get update
    sudo apt-get install git

在Ubuntu1604/1704 上:

sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev

在Ubuntu1404上:

 sudo apt-get install cmake libfftw3-dev libpolarssl-dev libboost-program-options-dev libboost-thread-dev libconfig++-dev libsctp-dev
  • 1.2 可选安装项
    srsGUI:for real-time plotting
    sudo apt-get install libboost-system-dev libboost-test-dev libboost-thread-dev libqwt-dev libqt4-dev
    git clone https://github.com/srsLTE/srsGUI.git
    cd srsgui
    mkdir build
    cd build
    cmake ../
    make 
    sudo make install
	sudo ldconfig
  • 1.3 srsLTE的安装
    git clone https://github.com/srsLTE/srsLTE.git
    cd srsLTE
    mkdir build
    cd build
    cmake ../
    make
    make test
    sudo make install
    sudo srslte_install_configs.sh

最后那个脚本会把默认配置文件复制到~/.srs emmm…当个备份挺好的。
一波操作以后srsepc、srsenb、srsue就都装好了。全程三五分钟?不像OAI 一装一上午就没了,代理没挂好可能一装一天就没了。

第二章 srsepc连接srsenb连接srsue

(看srsue连接OAI EPC直接跳到第三章)

  • 2.1 运行srsepc、enb、ue
    运行epc:
cd ~/srsLTE/srsepc
sudo cp epc.conf.example epc.conf
sudo vim epc.conf

不改可以直接跑,有需要改成别的就改。
srsepc的功能很少,它的hss“数据库”在~/.srs/user_db.csv里。

sudo srsepc epc.conf

运行enb:
enb配置文件里注意改下mme地址为核心网的ip。

    cd ~/srsLTE/srsenb
    sudo cp enb.conf.example enb.conf
    sudo vim enb.conf

(不改也能跑)
把gui = false改成 gui = true 的话可以使用srsGUI看信道测量以及星座图等。

sudo srsenb enb.conf

运行UE:

cd ~/srsLTE/srsue
sudo cp ue.conf.example ue.conf
sudo vim ue.conf
sudo srsue ue.conf

第三章 srsUE连接srsenb连接OAI EPC

  • 3.1 OAI核心网配置
    默认OAI核心网已装好,没装的可以看https://blog.csdn.net/BUPTOctopus/article/details/81560514
    以我的为例:
    核心网、接入网、ue分别在三台设备上。
    核心网的mcc为28,mnc为93,tac为1,ip为10.112.44.209,给UE分配IP的池子IPV4_LIST为172.16.0.0/12 172.16.0.1
    接入网的ip为10.112.17.170

  • 3.2 srsenb配置

     sudo vi ~/srsLTE/srsenb/enb.conf
    

tac改为1
mcc改为208
mnc改为93
mme_bind_addr改为10.112.44.209
gtp_bind_addr改为接入网的ip:10.112.17.170
s1c也改。其他的按需求改。
1
(默认的下行信道是band7的,也就是dl_earfcn=3400)
(配置文件里注释了rx_gain因为enb可以自行调整rx_gain,去掉注释可以手动配置。)

  • 3.3 sesue配置
sudo vim ~/srsLTE/srsue/ue.conf

sim
sim卡信息,可以改成OAI核心网数据库里已有的,也可以把这些信息添加到OAI核心网数据库里(推荐)。

由于OAI核心网使用的鉴权加密方式是milenage,(而srsepc使用的是亦或xor加密)所以要把algo改成milenage

由于srsue默认没有配置网关:

sudo route
sudo route add default gw 172.16.0.1

然后跑起来,再ping一下核心网10.112.44.209
在这里插入图片描述
嗯……16QAM?完了通原知识忘光了……

最后特别鸣谢我的神奇小海螺:王鹏师兄。

猜你喜欢

转载自blog.csdn.net/BUPTOctopus/article/details/82997806
09