D~DIDI~DIDIDI!!!!

0%

OpenAirInterface (OAI) 部署与编译指南

简介

OpenAirInterface(OAI),又称 OpenAirInterface5G,是由欧洲 EURECOM 组织发起并维护的开源软件定义无线电(SDR)4G LTE 与 5G NR 项目。根据 3GPP 标准,OAI 完全且开源地实现了 LTE 协议的三个主要组成部分:

  • EPC (Evolved Packet Core): 核心网
  • eNB (Evolved NodeB): 基站
  • UE (User Equipment): 用户终端设备

目前 OAI 稳定支持 3GPP Release 10 及以上标准功能,并处于持续活跃更新中。


LTE 常用网络术语简写字典

在配置 OAI 前,理解以下 LTE 物理层及网络层协议相关简写对参数配置非常重要:

术语 全称 中文含义
FDD Frequency Division Duplexing 频分双工
TDD Time Division Duplexing 时分双工
SISO Single-Input Single-Output 单输入单输出
MIMO Multi-Input Multi-Output 多输入多输出
PDSCH Physical Downlink Shared Channel 物理下行共享信道
PUSCH Physical Uplink Shared Channel 物理上行共享信道
PCFICH Physical Control Format Indicator Channel 物理控制格式指示信道
PDCCH Physical Downlink Control Channel 物理下行控制信道
DCI Downlink Control Information/Indicator 下行控制指示灯 / 信息
NAS Non-Access Stratum 非接入层

OAI 部署方案一:Snap 快捷安装方式 (All-in-One)

基于 Snap 包管理器的安装是部署 OAI 核心网与基站最便捷的方式,适合在单一计算节点上进行 All-in-One 的组网测试。

1. 环境准备

对于基于 Web 及数据库的核心架构配置,需要基础的 LAMP 环境:

  • 安装 LAMP 环境 (Linux, Apache, MySQL, PHP) 及 phpMyAdmin。
  • 修改 /etc/hosts,配置相应的网域主机解析以支持 HSS 及 MME。
  • 生成基于 TLS/S6A 的安全证书:
    证书生成脚本位于 epc script 文件夹,需将对应证书输出并放至配置文件夹中:
    1
    2
    ./check_hss_s6a_certificate /var/snap/oai-cn/28/ hss.openair4G.eur
    ./check_mme_s6a_certificate /var/snap/oai-cn/28/ openair-cn.openair4G.eur

2. EPC 核心网部署与配置

2.1 安装 OAI-CN (核心网组件)

1
2
3
4
5
# 以开发者模式、edge 频道安装 oai-cn snap 镜像包
sudo snap install oai-cn --channel=edge --devmode

# 检查安装状态
sudo oai-cn.help

2.2 HSS (归属用户服务器) 配置

  1. 获取并初始化:
    • 初始化数据库:sudo oai-cn.hss-init (根据 hss.conf 生产数据库)。
    • 获取配置路径:sudo oai-cn.hss-conf-get
  2. 修改配置文件:
    • 编辑 FreeDiameter 配置:vim /var/snap/oai-cn/28/hss_fd.conf,将 Identity 修改为 "hss.openair4G.eur"
    • 编辑 MySQL 数据库配置:sudo vim /var/snap/oai-cn/28/hss.conf
  3. 启动 HSS 服务:
    1
    sudo oai-cn.hss

2.3 MME (移动管理实体) 配置

  1. 获取并初始化:
    • 初始化 MME:sudo oai-cn.mme-init
    • 获取配置路径:sudo oai-cn.mme-conf-get
  2. 修改配置文件:
    • 建立对 HSS 的连接握手:vim /var/snap/oai-cn/28/mme_fd.conf
      1
      ConnectPeer= "hss.openair4G.eur" { ConnectTo = "127.0.0.1"; No_SCTP ; No_IPv6; Prefer_TCP; No_TLS; port = 3868; realm = "openair4G.eur";};
    • 网络接口等主要配置:sudo vim /var/snap/oai-cn/28/mme.conf
      • 注意配置主机名 (hostname)。
      • 配置 NETWORK_INTERFACES 时,需要注意网段划分:
        • S1 (S1-MME): 连接 eNB 与 EPC。
        • S11: 连接 S-GW 与 MME。
  3. 启动 MME 服务:
    1
    sudo oai-cn.mme

2.4 SPGW (服务网关与PDN网关) 配置

  1. 获取并初始化sudo oai-cn.spgw-init
  2. 修改配置文件:编辑 vim /var/snap/oai-cn/28/spgw.conf
    • SGW_IPV4_ADDRESS_FOR_S11 设为 127.0.11.2/8
    • SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP 设为 127.0.1.10/24
    • PGW_INTERFACE_NAME_FOR_SGI: 设为当前机器连通互联网的真实接口 (如 eth0)。
    • DEFAULT_DNS_IPV4_ADDRESS: 设为本地公共 DNS 服务器 (如 8.8.8.8)。
  3. 启动 SPGW 服务:
    1
    sudo oai-cn.spgw

3. eNB 基站侧部署与配置

  1. 安装 OAI-RAN Snap
    1
    2
    sudo snap install oai-ran --channel=edge --devmode
    sudo oai-ran.help
  2. 修改配置(重点需匹配 SDR 射频硬件,如 USRP B210 等):
    • plmn_list:公共陆地移动网络编码。
    • mme_ip_address:MME 网关 IP。
    • NETWORK_INTERFACES:绑定相应的基站网口。
    • 降低 max_rxgain 以避免底噪溢出饱和。
    • 线程性能设定:parallel_config 设为 PARALLEL_SINGLE_THREAD,避免软解调度问题。
    • 禁用 FLEXRAN_ENABLED (no)。
    • 根据测试牌照或空闲频段降低 downlink_frequency 下行频段。
    • 带宽设定:推荐 N_RB_DL 配置为 25(即 5MHz 带宽)。
  3. 运行 eNB:
    1
    sudo oai-ran.enb

[!WARNING] 测试提示
在使用 snap 安装时,有时 EPC 核心网模块能够正常相互通信握手,但 OAI-RAN eNB 容易由于硬件或接口绑定引发异常退出。推荐核心网与基站隔离,或对于 eNB 使用传统的源代码自主编译方式。


OAI 部署方案二:源码编译安装 (NoS1 模式)

当不需要完整的核心网功能,仅希望通过 SDR 实现物理层和 MAC 层数据传输打通时,可以使用 NoS1 模式直接在 eNB 与 UE 进行软解调试。无需配置复杂的 S1-MME 等 IP 信息。

1. 源码编译

1
2
3
4
5
# 切换至 OAI 源码的软解编译输出目录
cd /home/skygo/workspace/hjc/openairinterface5g/cmake_targets/lte_build_oai/build

# 赋予环境变量并执行 OAI softmodem 编译 (以 USRP B210 FDD 50-PRB 配置为例)
sudo -E ./lte-softmodem -O ~/workspace/hjc/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -d

2. eNB 端 (基站模式) 执行启动

注意:基站(eNB)和 用户(UE)都需要加载完全相对应的配置文件并指定相同的频段、带宽参数信息,才能成功完成物理层驻留和连接。

1
2
3
4
# 执行 NoS1 (无核心网接入) 模式基站
sudo ./targets/bin/lte-softmodem-nos1.Rel8 \
-O ./targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf \
-d 2>&1

3. UE 端 (用户模式) 执行启动

1
2
3
4
5
6
7
8
9
# 执行无核心网 UE 端,带控制增益参数与频率扫频
sudo ./targets/bin/lte-softmodem-nos1.Rel8-U \
-g 5 \
-C 2660000000 \
--ue-txgain 85 \
--ue-rxgain 90 \
--ue-scan-carrier \
-r25 \
-d 2>&1

UE 侧配置参数说明

  • -g 5:自动增益控制模式。
  • -C 2660000000:锁定在中心频率 2.66 GHz(即 Band 7)。
  • --ue-txgain / --ue-rxgain:固定软解收发设备的发射与接收硬件放大增益。
  • --ue-scan-carrier:开启小区同步导频搜索。
  • -r25:同步配置为与基站对应的资源块数(25 PRB / 5MHz)。