本帖最后由 ynnop 于 2017-4-21 17:53 编辑 1. 硬件要求 (1)当前基于oai软件建立的eNB和UE是使用Intel架构的PC机,要求支持(SSE, SSE2, SSS3, and SSE4),以下CPU是经过测试验证通过的: Generation 3/4/5/6 Intel Core i5,i7 Generation 2/3/4 Intel Xeon Intel Atom Rangeley, E38xx, x5-z8300 个人使用了Gigabyte GB-BRIX-7HA-6500微型电脑来部署OAI无线网,因为其BIOS设置C,P状态较为容易。 (2)对于UE,以下CPU是测试通过的 Intel:registered: Core:tm: i5-6600K CPU @ 3.50GHz × 4 Intel:registered: Core:tm: i5-6600 CPU @ 3.30GHz × 4 (3)支持的RF SDR有如下几种 USRP B210 http://www./product/details/UB210-KIT USRP X310 http://www./product/details/X310-KIT BladeRF http:/// LimeSDR http:/// EURECOM EXPRESSMIMO2 RF, http://openairinterface. 注:一般不建议使用虚拟机来部署,如果的确要使用,要确保接入到RF硬件被授予透传以及CPU flag(c,p状态)设置正确,此外,要求安装低延迟系统内核和分配足够的CPU资源。 2. 软件要求 (1)建议使用Ubuntu Linux 来部署,对于openairinterface5g的master branch分支建议使用low-latency kernel 3.19内核的Ubuntu 14.04 LTS版本,对于develop branch(v5.0以后)分支,可以使用low-latency kernel 3.8内核的Ubuntu 16.04版本。 (2)测试通过的master branch 分支为Ubuntu 14.04.3 LTS/Linux Kernel version 3.19(低延迟内核) ,测试通过的develop branch(v5.0以后)为Ubuntu 16.04.2 LTS/Linux Kernel version 3.8(低延迟内核) 3. 软件安装步骤 (1)安装Ubuntu 14.04.3版本,执行sudo apt-get update更新软件源(重要),之后可安装Systemback软件,该软件可以实现Ubuntu下还原点的创建,方便后续安装过程中有问题是可以回退。 (2)安装低延迟内核 low-latency kernel 3.19 sudo apt-get update sudo apt-get install linux-image-3.19.0-61-lowlatency linux-headers-3.19.0-61-lowlatency 安装完成后 使用命令 uname –a 查看,应该显示为: (3)在BIOS里关掉所有功耗管理性能(sleep states, in particular C-states,CPU frequencyscaling (Intel SpeedStep)): (4)在/etc/default/grub 文件中添加如下两行代码,关闭系统中的c,p-state状态 GRUB_CMDLINE_LINUX_DEFAULT='quiet intel_pstate=disable' GRUB_CMDLINE_LINUX_DEFAULT='processor.max_cstate=1 intel_idle.max_cstate=0 idle=poll' 执行:sudo update-grub,更新系统 (5)在/etc/modprobe.d/blacklist.conf 文件末尾(如不存在,自行创建一个)添加如下代码: blacklist intel_powerclamp (6)关闭CPU超线程(Disable CPU Frequency scaling) Install cpufrequtils: sudo apt-get install cpufrequtils 编辑文件/etc/default/cpufrequtils (如不存在,自行创建一个) sudo gedit /etc/default/cpufrequtils 在文件中添加一行代码。 GOVERNOR='performance' 执行如下命令,关闭ondemand daemon,防止重启后被改写. sudo update-rc.d ondemand disable (6)重启系统,安装i7z软件来进行上述设置的检查 重启系统 sudo apt-get update sudo apt-get install i7z sudo i7z 有如下显示:所有CPU内核要在C0 为100%。 注:Wi-Fi/Bluetooth We have sometimes noticed real time issues while running lte-softmodem with USRP even after following above procedure. If you happen to face similar problems you should turn off Wi-Fi/Bluetooth (or remove respective drivers, if possible). This fixed the issue on some of our machines. (6)下载oai无线网eNB代码: sudo apt-get update sudo apt-get install git 添加证书(Add a certificate from gitlab. to your Ubuntu 14.04 installation:) echo -n | openssl s_client -showcerts -connect gitlab.:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt 下载代码:(master brangch) git clone https://gitlab./oai/openairinterface5g.git (7)运行Auto build脚本安装缺少的包 cd ~/openairinterface sudo apt-get update source oaienv #非常重要,必须执行这条环境变量设置 cd cmake_targets ./build_oai -I --eNB -x --install-system-files -w USRP #for USRP ./build_oai -I --eNB -x --install-system-files -w EXMIMO #for EXMIMO ./build_oai -I --eNB -x --install-system-files -w BLADERF #for BladeRF ./build_oai -I --eNB -x --install-system-files -w LMSSDR #for LmsSDR ./build_oai –h 为查看安装帮助文件。 注:如果之前已经存在 OAI build,可用 ./build_oai –c或-C移去已经存在的编译文件。 -c 代表,--clean,Erase all files to make a rebuild from start 只删除编译文件 -C 代表—clean all,Erase all files made by previous compilations, installations将删除所有的编译文件以及预安装的其他文件,包括编译文件夹 一般可用-c,完全清理可用-C (8)修改eNB配置文件(以USRP B210为例,文件位于 ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf) tracking_area_code = '1'; mobile_country_code = '208'; mobile_network_code = '93'; ///以上数据要求与核心网保持一致。 ////////// MME parameters: mme_ip_address = ( { ipv4 = '192.168.12.62'; ///mme接口IP地址。 ipv6 = '192:168:30::17'; active = 'yes'; preference = 'ipv4'; } ); NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = 'eth0'; ///eNB本端 s1-C接口网卡名称。 ENB_IPV4_ADDRESS_FOR_S1_MME = '192.168.12.82/24';///eNB本端 s1-C接口IP地址。 ENB_INTERFACE_NAME_FOR_S1U = 'eth0'; ///eNB本端 s1-U接口网卡名称。 ENB_IPV4_ADDRESS_FOR_S1U = '192.168.12.82/24'; ///eNB本端 s1-U接口IP地址。 ENB_PORT_FOR_S1U = 2152; # Spec 2152 ///eNB本端 s1-C接口端口号。 }; (8)编译运行eNB cd ~/openairinterface5g sudo apt-get update source oaienv #非常重要,必须执行这条环境变量设置 ./cmake_targets/build_oai -w USRP -x -c --eNB cd cmake_targets/lte_build_oai/build sudo -E ./lte-softmodem -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -d sudo -E ./lte-softmodem -h #(查看安装帮助文档) You may print out the help message to see other options. A summary of the above options is given below. · -O: configuration file · -m: set the maximum downluink MCS · -t: set the maximum uplink MCS · -x: set the transmission mode, valid option: 1 · -W: enable L2 Wireshark messages on localhost Note: some other options are very useful for debugging purposes, such as -V, which enables VCD and generates a log file (/tnp/openair_dump_eNB.vcd) with a lot of details, and -d, which enables software oscilloscope with interactive graphic interfaces. Since both consume a lot of computing resources (one is heavy on file access, the other one is heavy on graphics), you are recommended to disable them for normal use. 注:要确保eNB的S1接口连接正常,否则无法运行。 当eNB连接成功后,再Terminal终端应该可以看到如下信息: [SCHED][eNB] Started eNB main thread on CPU 1 TID 5273 eNB_thread: mlockall in ... eNB_thread: mlockall out ... waiting for sync (eNB_thread) TYPE Entering ITTI signals handler |
|