本文以Ubuntu 16.04.3 LTS 为例,硬件环境为core i7 6500U,16GB DDR3@1600
…广告:…
OAI核心网搭建:https://blog.csdn.net/BUPTOctopus/article/details/81560514
OAI接入网搭建:https://blog.csdn.net/BUPTOctopus/article/details/81561607
(与OAI搭建一样,搞过就不用再搞了)
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
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
#查看睿频是否成功关闭(频率变动极小)
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
EPC和eNB可以装在一台设备上,UE必须单独一台设备。
(一下内容参考了srsLTE的github)
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
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
sudo mkdir build
cd build
sudo cmake ../
sudo make
sudo make install
sudo ldconfig
cd ~
git clone https://github.com/srsLTE/srsLTE.git
cd srsLTE
sudo mkdir build
cd build
sudo cmake ../
sudo make
make test
sudo make install
sudo ./srslte_install_configs.sh user
最后那个脚本会把默认配置文件复制到~/.srs emmm…当个备份挺好的。
一波操作以后srsepc、srsenb、srsue就都装好了。全程三五分钟?不像OAI 一装一上午就没了,代理没挂好可能一装一天就没了。
git clone git://github.com/EttusResearch/uhd.git
#git clone https://github.com/EttusResearch/uhd
cd uhd
#切到最新版:
git checkout release_003_011_000_001
cd host
mkdir build
cd build
sudo cmake ../
sudo make
sudo make install
sudo ldconfig
sudo uhd_images_downloader
GNU Radio:
git clone --recursive git://github.com/gnuradio/gnuradio.git
(看srsue连接OAI 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
3.1 OAI核心网配置
默认OAI核心网已装好,没装的可以看https://blog.csdn.net/BUPTOctopus/article/details/81560514
以我的为例:
核心网、接入网、ue分别在三台设备上。
核心网的mcc为208,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 vim ~/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也改。其他的按需求改。
(默认的下行信道是band7的,也就是dl_earfcn=3400)
(配置文件里注释了rx_gain因为enb可以自行调整rx_gain,去掉注释可以手动配置。)
sudo vim ~/srsLTE/srsue/ue.conf
sim卡信息,可以改成OAI核心网数据库里已有的,也可以把这些信息添加到OAI核心网数据库里。
由于OAI核心网使用的鉴权加密方式是milenage,(而srsepc使用的是亦或xor加密)所以要把algo = xor改成algo = milenage
由于srsue默认没有配置网关:
sudo route
sudo route add default gw 172.16.0.1
然后跑起来,再ping一下核心网10.112.44.209
嗯……16QAM?完了通原知识忘光了……
特别鸣谢神奇小海螺:王鹏师兄。