srsLTE+b210 搭建4G微基站

srsLTE+b210 搭建4G微基站

  • srsLTE 源码编译安装
    • 1 环境介绍
    • 2 安装依赖
    • 3 源码编译安装
    • 4 搭建4G基站
      • 4.1 安装低延时内核
      • 4.2 配置网络接口
      • 4.3 添加SIM卡的配置信息
      • 4.4 其他配置信息修改
      • 4.5 运行

srsLTE 源码编译安装

  • 参考
    • srsLTE Github
    • White-Alone’s Blog
    • srsLTE Official Guide

1 环境介绍

Name Version
Ubuntu 16.04
uhd 3.15.0.0
srsLTE release_18_12

2 安装依赖

sudo apt-get install libfftw3-dev libmbedtls-dev libconfig++-dev libsctp-dev
# 如果你之前安装过高版本boost,那么下面这句不需要执行。
sudo apt-get install libboost-program-options-dev

如果cmake出错,则从官网下载编译高版本。系统不同依赖可能有所出入,具体情况根据你实际报错情况进行修补。

srsLTE+b210 搭建4G微基站_第1张图片
可选的依赖有srsguilibpcsclite-dev,还要注意的是你的usrp设备驱动要装好。具体可以参考我之前写的博客。

3 源码编译安装

git clone https://github.com/srsLTE/srsLTE.git
cd srsLTE
# 我选18_12的原因是ubuntu16.04的boost库版本过低,测试到最后只适配release_18_12
git tag -l
git checkout release_18_12
mkdir build
cd build
cmake ../ 
# 如果要指定boost版本,指定高版本后可以安装高版本srslte。注意修改了boost后,
# uhd可能也需要重新编译。
#cmake ../ -DBOOST_ROOT=/usr/local/boost -DBoost_NO_SYSTEM_PATHS=ON
make
make test

安装srsLTE

sudo make install
# 拷贝srsLTE的配置文件到`~/.config/srslte`, 这一步最好执行,因为不是master版本
# 有很多参数是无效的,配置文件里的内容在不同的版本里是不一样的。
sudo srslte_install_configs.sh user

4 搭建4G基站

4.1 安装低延时内核

这里使用Ubuntu 16.04搭配USRP B210进行测试,使用root账户直接安装配置。
先安装低延时内核,之后重启加载新内核:

apt-get install linux-lowlatency
apt-get install linux-image-`uname -r | cut -d- -f1-2`-lowlatency
apt-get install linux-headers-`uname -r | cut -d- -f1-2`-lowlatency
reboot

4.2 配置网络接口

配置网络接口,参数是默认能上网的网口,这里是eth0:

# 查找网络接口
ifconfig 
# 我的网络接口是enp1s0,实际情况要根据你的网络调整。
srsepc_if_masq.sh enp1s0

4.3 添加SIM卡的配置信息

添加SIM卡的配置信息,主要是IMSI、KI、OPC/OP。编辑~/.config/srsLTE/user_db.csv
文件,格式依葫芦画瓢。大致如下:

(ue_name),(algo),(imsi),(K),(OP/OPc_type),(OP/OPc_value),(AMF),(SQN),(QCI),(IP_alloc)
ue3,mil,221010123456789,6874736969202073796D4B2079650A76,opc,504F20634F6320504F50206363500A4F,8000,000000001234,7,dynamic

注意,这里algo(rithm)认证算法一定要选对,不然后面手机连接基站的时候会认证失败。
一般AFM和之后的字段不选要修改,之前的例子什么样,你就照抄。

如果没有SIM卡,需要购买空白的sim卡,并且用专门的sim读卡器进行读写。

4.4 其他配置信息修改

cd ~/.config/srslte
vim epc.conf

srsLTE+b210 搭建4G微基站_第2张图片
这里主要修改mccmnc, apn可能也需要更改,具体情况根据你的运行结果来定。
这些缩写的意思看文件里的注释。

vim enb.conf

srsLTE+b210 搭建4G微基站_第3张图片
这里和上面一样修改mccmnc, n_prb 物理资源块数量对应带宽。具体情况如下图
srsLTE+b210 搭建4G微基站_第4张图片

还有一个需要注意的是dl_earfcn需要根据你的具体情况设置不同的频点号(不同的频段)

4.5 运行

sudo srspec

新开一个终端

sudo srsenb

之后就用装有之前SIM卡的手机搜索网络

如果手机无法搜索到信号,或者搜到了无法加入,先用其他SDR或者频谱仪检查下是否有信号发出,其次检查信号是否有频偏,因为每种手机对频偏的容忍度是不一样的。笔者实测中,华为的兼容性是最好的。

如果有频偏,修改“ue.conf”中的“freq_offset”参数,如图所示。正常情况下如果使用官方原版SDR设备,而不是山寨SDR设备,很少出现这种情况。另外,使用GPSDO或者其他稳定的时钟输入,也能避免这种问题。

如果还是无法搜索到信号,那就可能是手机的基带问题,可以修改下频段,也就是“EARFCN”参数,也可以直接在srsenb执行时加参数:

srsenb ~/.config/srslte/enb.conf --rf.dl_earfcn 1300

当然,注册进网络后,还需要在电脑上配置nat转发:

sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
# 修改成你的网络接口(enp1s0)
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE

在手机上配置APN,也就是epc.conf中默认设置的srsapn

然后按道理手机就可以愉快的上网了。

你可能感兴趣的:(uhd,sdr)