$ cd ~/srsLTE
$ mkdir lteCell
$ cd lteCell
# 生成配置文件
$ mkdir lteENB
$ cp ../srsenb/enb.conf.example lteENB/enb.conf
$ cp ../srsenb/rr.conf.example lteENB/rr.conf
$ cp ../srsenb/sib.conf.example lteENB/sib.conf
$ cp ../srsenb/drb.conf.example lteENB/drb.conf
$ mkdir lteEPC
$ cp ../srsepc/epc.conf.example lteEPC/epc.conf
$ cp ../srsepc/user_db.csv.example lteEPC/user_db.csv
# 生成运行脚本
$ echo "echo -ne \"\033]0;ENB\007\"" >> run_enb.sh
$ echo "cd lteENB" >> run_enb.sh
# 需要gdb的话使用如下
#echo "#gdb -args ../../build/srsenb/src/srsenb enb.conf" >> run_enb.sh
$ echo "../../build/srsenb/src/srsenb enb.conf" >> run_enb.sh
$ echo "echo -ne \"\033]0;EPC\007\"" >> run_epc.sh
$ echo "cd lteEPC" >> run_epc.sh
# 需要配置如下转发规则,否则不能正常工作,配置信息参考openair-cn的SPGW中的代码
# sudo sysctl -w net.ipv4.ip_forward=1
# sudo sync
# sudo iptables -t mangle -F FORWARD
# sudo iptables -t nat -F POSTROUTING
# export LANG=C
# 如果没有修改过配置文件,则默认使用如下配置即可,
# 如果修改过sgi_if_addr的地址(默认sgi_if_addr=172.16.0.1),需要更改这个字段
# export FORDING_IPs=172.16.0.0/12
# 有线网卡一般以"en"开头,比如"enp3s0",此处需要根据自身机器上的网卡进行设置,修改
# export NIC_NAME=`ls /sys/class/net | grep en`
# export NIC_IP=`ifconfig $NIC_NAME | grep 'inet addr:' | awk '{print $2}' | cut -c 6-`
# sudo iptables -t nat -I POSTROUTING -s $FORDING_IPs -o $NIC_NAME ! --protocol sctp -j SNAT --to-source $NIC_IP
$ echo "sysctl -w net.ipv4.ip_forward=1" >> run_epc.sh
$ echo "sync" >> run_epc.sh
$ echo "iptables -t mangle -F FORWARD" >> run_epc.sh
$ echo "iptables -t nat -F POSTROUTING" >> run_epc.sh
$ echo "export LANG=C" >> run_epc.sh
$ echo 'export FORDING_IPs=172.16.0.0/12' >> run_epc.sh
$ echo 'export NIC_NAME=`ls /sys/class/net | grep en`' >> run_epc.sh
$ echo "export NIC_IP=\`ifconfig \$NIC_NAME | grep 'inet addr:' | awk '{print \$2}' | cut -c 6-\`" >> run_epc.sh
$ echo 'iptables -t nat -I POSTROUTING -s $FORDING_IPs -o $NIC_NAME ! --protocol sctp -j SNAT --to-source $NIC_IP' >> run_epc.sh
$ echo "../../build/srsepc/src/srsepc epc.conf" >> run_epc.sh
$ echo "gnome-terminal -e \"bash run_epc.sh\"" >> run.sh
$ echo "sleep 2" >> run.sh
$ echo "gnome-terminal -e \"bash run_enb.sh\"" >> run.sh
# 运行测试
$ sudo bash run.sh
#日志查看 /tmp/enb.log, /tmp/epc.log
博主请问下,这个支持实物手机连接入srsenb基站吗?
另外,如果要使用srsUE,是不是得需要两个SDR设备?
博主请问下,这个支持实物手机连接入srsenb基站吗?
另外,如果要使用srsUE,是不是得需要两个SDR设备?
支持手机连接的,并且实验成功的。
好的,谢谢博主!
博主你好,请问是否按照上述基站和epc配置好,启动enb和epc,就能实物手机连接了吗?还是有其他操作,麻烦您告知,谢谢!
真实手机是可以正常使用的
博主,您好!
只要按照您这上面说的操作,启动基站和epc,就能够拿自己的手机找到该基站并连接成功?
谢谢!
手机需要使用测试卡,参照测试使用的手机卡的配置部分,启动基站之后,如果不使用测试卡,能找到这个基站,但是不能认证成功。主要是密钥的问题,运营商不会把密钥给泄露出来的,只能自己配置一个密钥才能进行通信,这就是为什么需要自己买空白手机卡,然后自己写卡的原因。
好的,非常感谢!
博主,您好!
还有个问题请教下您,我用的是B200设备,按照上述配置运行后,我用自己的华为P30手机手动搜索运营商,找不到该基站,这个配置里面的ip(172.16.0.0)这些应该不需要改吧 ,你们测试时找到的基站名称是啥,您能帮忙分析下为什么找不到基站的原因大概是什么吗?谢谢啦
参考图片 https://www.mobibrw.com/wp-content/uploads/2018/03/Screenshot_2018-03-27-14-36-36-533_com.android.phone_.png
手机配置参考 ubuntu 16.04系统LimeSDR V1.4使用OpenAirInterface搭建LTE实验环境
谢谢博主!
再请教个问题,2个srsue能否两个在当前环境上实现互通呢?有咩有做个类似的实验
两个UE的互通测试没有测试,当时主要测试上网问题,没有测试通话,不过,官方演示里面有通话演示。
请问一下博主,可以用两台设备(一台运行enb,一台运行ue)模拟出多enb多用户的场景吗?(就是能不能只用设备模拟运行多个ue,如何操作),谢谢
其实是有问题的,原因不仅仅在于系统的性能,更关键的在于实时性的要求,操作系统不是实时系统,上面运行的任务太多,导致信号收发的时候,即使是单ENB,单UE的情况下,都会发生大量的延迟,导致数据包丢失,错乱。
即使解决实时性问题,原理上,单台电脑的吞吐也没办法跟基带硬件芯片来比较的,应该是远远达不到基带芯片的性能。
这里主要是基带芯片已经特化,专门针对需求来设计硬件,设计算法,专用芯片的性能在特定领域是非常恐怖的。
FPGA芯片比PC更好一些,但是难度更大。
现在开源的基带协议,验证功能的意义远远大于实用意义。这也是为什么基带芯片开发非常困难的主要原因,能用,跟好用,商用,差很远啊。
can I use ubuntu 18.04
you can try this, I do'nt test this on ubuntu 18.04.