别再问OAI是啥了!手把手带你用USRP B210和Ubuntu 20.04搭建自己的4G/5G实验网
2026/6/7 2:21:41 网站建设 项目流程

从零搭建4G/5G实验环境:USRP B210与OAI实战指南

在通信技术快速迭代的今天,能够亲手搭建并调试一套完整的蜂窝网络实验环境,对于开发者、研究人员和学生来说都是极具价值的实践体验。不同于商业设备的"黑箱"特性,开源项目OpenAirInterface(OAI)为我们提供了深入理解无线通信协议栈的机会。本文将使用USRP B210软件定义无线电设备和Ubuntu 20.04系统,带你完成从硬件组装到手机成功接入的全过程。

1. 实验环境准备

1.1 硬件选型与配置

USRP B210作为一款性价比较高的SDR设备,支持70MHz-6GHz频段和双通道收发,非常适合OAI实验。除了主机设备外,还需要准备以下配件:

  • 天线系统:根据目标频段选择合适的天线(如2.4GHz/5GHz WiFi天线)

  • 时钟同步:对于多设备场景,建议配备外部10MHz时钟源和触发信号

  • 供电方案:USB 3.0接口供电可能不足,需准备带电源适配器的USB Hub

  • 配件清单

    组件规格要求备注
    USRP B210固件版本≥4.0需更新FPGA镜像
    主机i5/i7四核以上建议16GB内存
    存储SSD≥256GB确保读写速度
    网络千兆以太网建议使用Intel网卡

1.2 软件基础环境

Ubuntu 20.04 LTS是目前OAI兼容性最好的操作系统版本。在全新安装系统后,需要执行以下基础配置:

# 更新系统并安装基础工具 sudo apt update && sudo apt upgrade -y sudo apt install -y git build-essential cmake libusb-1.0-0-dev \ libfftw3-dev libmbedtls-dev libboost-program-options-dev \ libconfig++-dev libsctp-dev libtool autoconf

注意:建议禁用Ubuntu的自动更新服务,避免内核升级导致驱动不兼容

内核需要启用特定的实时补丁和调度策略,可通过以下命令验证:

uname -r # 应显示类似5.4.0-135-generic的版本 cat /sys/kernel/realtime # 应返回1表示启用实时支持

2. OAI源码编译与安装

2.1 依赖项深度配置

OAI对系统库版本有严格要求,需要专门配置开发环境:

# 安装UHD驱动 sudo apt install -y libuhd-dev uhd-host # 下载USRP FPGA镜像 sudo uhd_images_downloader # 验证设备连接 uhd_find_devices

对于射频前端校准,还需安装特定工具链:

sudo apt install -y sox libsox-fmt-all octave \ liboctave-dev gnuplot-x11

2.2 源码获取与编译

OAI代码分为核心网(EPC)和接入网(eNB/gNB)两部分,建议分开编译:

git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git cd openairinterface5g source oaienv ./cmake_targets/build_oai -I --eNB --gNB \ -w USRP --ninja

编译过程中常见问题及解决方案:

  • 错误:mbedtls版本冲突

    rm -rf /usr/local/lib/libmbed* sudo apt install libmbedtls-dev
  • 警告:CPU指令集不支持需在CMakeLists.txt中添加-march=native编译选项

  • 报错:内存不足增加swap空间:

    sudo fallocate -l 8G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

3. 核心网部署与配置

3.1 EPC组件安装

OAI核心网包含MME、HSS、SPGW等组件,推荐使用docker-compose部署:

version: '3' services: mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: linux oai-hss: image: oai-hss:latest depends_on: - mysql configs: - source: hss_config target: /etc/oai/hss.conf

关键配置文件hss.conf需要根据实验环境调整:

HSS: { OPERATOR_key = "11111111111111111111111111111111"; # IMSI与密钥对应关系 USERS: ( { IMSI="001010000000001"; KEY="00112233445566778899aabbccddeeff"; OPc="63bfa50ee6523365ff14c1f45f88737d"; } ); }

3.2 网络拓扑设计

实验网络通常采用隔离的物理接口或虚拟网络:

+----------------+ +------------+ +-------------+ | UE设备 |-----| eNodeB/gNB |-----| OAI EPC | | (手机/软件UE) | | (USRP B210)| | (主机) | +----------------+ +------------+ +-------------+ | +-------+ | 互联网 | +-------+

配置TUN/TAP设备实现网络桥接:

sudo ip tuntap add mode tun tun0 sudo ip addr add 192.168.100.1/24 dev tun0 sudo ip link set tun0 up

4. 基站配置与优化

4.1 eNB参数调优

针对USRP B210的典型配置文件示例:

eNB: { // 硬件配置 rf_config: { usrp_args = "type=b200"; clock_source = "internal"; time_source = "internal"; }; // 小区参数 cell_config: { dl_earfcn = 3350; // 对应Band 7 ul_earfcn = 21350; n_rb_dl = 25; // 5MHz带宽 tx_gain = 90; // 根据实际环境调整 rx_gain = 40; }; }

重要:首次运行时需逐步调整发射功率,避免射频饱和

4.2 实时性优化

为满足严格的时序要求,需要配置CPU隔离和实时优先级:

# 隔离CPU核心 sudo vim /etc/default/grub # 修改GRUB_CMDLINE_LINUX="isolcpus=2,3" sudo update-grub # 设置CPU亲和性 taskset -cp 2,3 <eNB_PID>

实时性能可以通过以下命令监控:

watch -n 0.1 "cat /proc/xenomai/stat | grep latency"

5. 终端接入与问题排查

5.1 手机端配置

商用手机接入OAI网络需要特殊设置:

  1. 进入工程模式(不同品牌方法不同)
  2. 设置仅LTE模式
  3. 手动选择网络运营商
  4. 配置APN为"oai.ipv4"

常见兼容性设备列表:

手机型号基带版本备注
Google Pixel 3SDM845需解锁bootloader
Huawei P40Kirin 990可能限制NSA模式
Samsung S10Exynos 9820需禁用运营商定制软件

5.2 典型故障排除

问题1:UE无法附着网络

排查步骤:

  1. 检查核心网日志确认鉴权流程
  2. 验证HSS中IMSI与密钥配置
  3. 使用wireshark捕获S1AP信令

问题2:高丢包率

优化方向:

  • 调整USRP的tx/rx_gain参数
  • 检查天线驻波比
  • 降低系统中断延迟

问题3:吞吐量不稳定

性能优化技巧:

# 调整网络缓冲区大小 sudo sysctl -w net.core.rmem_max=16777216 sudo sysctl -w net.core.wmem_max=16777216 # 禁用CPU节能 sudo cpupower frequency-set --governor performance

6. 进阶实验方向

完成基础部署后,可以尝试以下扩展实验:

  • 5G NSA组网:添加gNB组件实现5G非独立组网
  • 端到端加密:集成Open5GS实现完整安全体系
  • 网络切片:通过QoS策略实现资源隔离
  • 移动性测试:使用两台eNB实现切换实验

实验数据记录建议表格:

测试场景RSRP(dBm)SINR(dB)吞吐量(Mbps)时延(ms)
静态近距离-652545.212
移动状态-781528.732
穿墙场景-9285.448

在多次实验中我们发现,USRP B210在2.4GHz频段的表现最为稳定,而高频段(如3.5GHz)需要更精细的射频校准。建议初次实验从Band 7(2600MHz)开始,逐步扩展到其他频段。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询