sudo apt install git g++ cmake libsqlite3-dev libi2c-dev libusb-1.0-0-dev
wget http://download.opensuse.org/repositories/network:/osmocom:/latest/Raspbian_10//Release.key
sudo apt-key add Release.key
rm Release.key
sudo su
echo "deb http://download.opensuse.org/repositories/network:/osmocom:/latest/Raspbian_10/ ./" > /etc/apt/sources.list.d/osmocom-latest.list
sudo apt update
sudo apt install osmocom-nitb osmo-trx-lms osmo-bts-trx osmo-ggsn osmo-sgsn osmo-pcu osmo-sip-connector libsofia-sip-ua-glib-dev asterisk sqlite3 libsmpp1 telnet python3-pip
sudo pip3 install smpplib
sudo apt install limesuite limesuite-udev gr-limesdr liblimesuite-dev
sudo su
systemctl stop osmocom-nitb
systemctl stop osmo-nitb
systemctl stop osmo-trx-lms
systemctl stop osmo-bts-trx
systemctl stop osmo-ggsn
systemctl stop osmo-sgsn
systemctl stop osmo-pcu
systemctl stop osmo-sip-connector
systemctl stop asterisk
systemctl disable osmocom-nitb
systemctl disable osmo-nitb
systemctl disable osmo-trx-lms
systemctl disable osmo-bts-trx
systemctl disable osmo-ggsn
systemctl disable osmo-sgsn
systemctl disable osmo-pcu
systemctl disable osmo-sip-connector
systemctl disable asterisk
git clone https://github.com/DrLafa/osmo-nitb-scripts
使用方法:
sudo ./main.py
这样可以启动基站,支持通话,以及短信下发
如果要启用gprs则需要输入
sudo ./main.py --gprs -i wlan0
如果要自动发短信给新接入的终端可以加上-u,如果要启用sip,可加上--sip。
另外,这个基站还有一个脚本是interact.py,它可以用来查询数据库里的用户,以及下发短信等,但是有点bug要改改。
首先要去掉第29行的monitor.update_monitor(db.subscribers),这句话没什么用,而且会导致循环出错,导致只能对一个用户执行操作。28行的user_interact.interact(args.config, extension)是在与用户交互,根据config.json里的设置,可以给用户发短信,运营商指令,或者打电话,如果只是要查询数据库里有哪些用户也建议删除掉。
改完了就可以输入sudo ./interact来运行了,如果要给指定用户发消息也可以用参数来指定,没的话默认是查询所有用户,并与所有用户交互。
在没有用这些脚本之前,我找了osmo和lime的官方教程,但是是有问题的,如果没有按照脚本里那样先关闭服务,也就是没做disable和stop,直接用命令行运行,会有端口占用的情况,因为apt安装后默认都启动了。另一个问题,使用这个脚本,有时候不正常退出程序,用户数据库不会清空,会有问题,要让它正常退出一下,再启动再行,这种情况在树莓派4上出现的比lattepanda多,可能是性能问题。
还有一点,根据osmo官方的网页,limesdr的时钟不够精确,对于gsm这种tdd系统,长时间运行会有不稳定的情况出现。 推荐给limesdr-usb加一个gpsdo。
这个基站目前我已经实现了手机互相打电话,基站下发短信,手机gprs联网等功能,手机互相发短信不行,可能配置上还有点问题。
这是基站的运行演示视频:
https://v.youku.com/v_show/id_XNDQwOTE3OTI0OA==.html?spm=a2h3j.8428770.3416059.1
以上方法是脚本调用系统服务执行的,如果要看调试信息,也可以用命令行执行,但是这样的话就要自己查询数据库才能知道用户的手机号码,我稍微做了点修改,并且运行成功了。
运行方式是,到osmo-nitb-scripts/configs/目录下,开3个终端窗口,分别输入:
osmo-nitb -c openbsc.cfg
sudo osmo-bts-trx -r 1 -c osmo-bts.cfg
sudo osmo-trx-lms -r 1 -c osmo-trx.cfg
这样基站就启动了,这时候可以把手机都连上去了。接下来可以返回osmo-nitbs-scripts目录,输入:
./interact.py -D ~/osmo-nitb-scripts-master/configs/hlr-sqlite3,来查询接入手机的手机号码,这个功能是我修改interact.py函数实现的,其实也很简单,只是在第28行处加了一行print ("numbers: ", extension)就行了。
下面是运行截图:
我发现一个问题,我视频里用的都是lte测试手机和lte测试sim卡,但是把iphone插着中国移动的卡就很难连上这个gsm基站,但是如果我把中移动的卡插到安卓手机上就可以,把lte测试卡插到iphone上也行。
下图是小米插着中移动卡取到的imsi号码(第三个)。
下图是iphone连我的基站的照片,网络选择里显示的就是我的基站,到这一步我已经把基站名字改了,在configs的openbsc.cfg里可以改。
后来我发现,iphone插着中移动卡也能连上我们的gsm基站,但是要把iphone先设置为3g模式,另外我把基站设置里发射attenuation减少了。
另外我的苹果电脑pip3命令找不到,但是pip里装过smpplib,后来我干脆把代码都改为python2的就行,main和interact开头环境设置要改掉,另外user_interact.py里encoding要删掉python2不支持。
本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
温馨提示:“开源SDR实验室”是北京的。
本文使用LimeSDR-USB和自己的手机来实现基站和手机之间的握手通信。相关功能仅限用于科研实验。
一、srsLTE简介
二、实验硬件软件
三、编译安装
1、搭建LimeSDR环境
2、安装srsLTE
(1)依赖包安装
(2)下载、编译、安装srsLTE
(3)基本测试srsLTE
四、LTE实验操作
1、修改默认配置文件
(1)epc.conf文件
(2)user
要说如今的最热门话题,非绿色环保莫属,在环保日益成为全球关注的热点的今天,科技自然也要“绿色”,于是无线通信系统的绿色节能技术成为电信运营商和设备制造商面对的最紧要问题。基站设备作为网络的重要单元,也是运营商投资建设的关键。
作为无线通信网络的载体,基站一方面需要保持高质量的覆盖能力,另外一方面需要保证足够的潜力去升级演进。随着用户数和业务量的增加,基站数量也相应增长,而能耗也毫无疑问地直线性增长。但是如果只是简单地减少基站数量,治标不治本,还会导致网络质量变差。如何在保证用户业务体验以及基站覆盖和演进能力的前提下,实现移动网络的节能降耗是绿色基站解决方案的关键。
本文将从基
基站接口规范在如何进行3G基站开发方面,2004年被证明是具有显著变化的一年。通用公共无线接口组织(CPRI)和开放式基站结构同盟(OBSAI)分别提出了两个标准,用来规范基站内开放的、标准化的接口。两个组织已经公布了它们的技术规范,支持新标准的产品也开始出现。图1为OBSAI标准定义的开放接口实例。图1 OBSAI 标准定义的开放接口实例图2 针对宽带功率放大器线性化的基本数字预失真系统两个标准由不同的无线基础设施提供商独立发起。诺基亚、三星、LG和中兴通信支持OBSAI标准,西门子、爱立信、北方电信、NEC和华为支持CPRI标准。但是两者都重点关注基带信号处理和射频子系统之间的接口,并
import smpplib . consts
# if you want to know what's happening
logging . basicConfig ( level = 'DEBUG' )
# Two parts, UCS2, SMS with UDH
parts , encoding_flag , msg_type_flag = smpplib . gsm . make_parts ( u'Привет мир! \n ' * 10 )
client = smpplib . client . Client ( 'example.com' ,
接下来我会讲一个大型应用,实现LTE基站和LTE终端。其实这个应用之前国内就有很多人做,但是一般都是使用OAI实现的,这个软件包虽然很全,但是安装很麻烦,而且很不稳定。我使用的是srsLTE实现的,它包含了EPC、eNodeB和UE三大部分。srsepc是一个简易核心网,srsenb是基站,srsue是终端。srsepc和srsenb可以运行在一台电脑上,srsue必须运行在另一台电脑上。然后它们...
1. 手机搜索不到基站
1.1 如果出现PHY I clock drift日志表示时序问题,可能电脑性能不行或则usb速度太慢。可以使用top查看cpu占用率,通过LimeUtil --find 查看是否是usb3.0(如:* [LimeSDR-USB, med...
https://github.com/ptrkrysik/gr-gsm
使用的软件包叫做gr-gsm,它也是基于gnuradio的,结构和使用方法有点类似于我们之前用limesdr来嗅探wifi数据包。由于它基于gnuradio,所以它对硬件的兼容性比较高,只要硬件参数符合要求,你就可以用各种不同的sdr硬件来使...
LimeSDR是一个开源的,支持应用程序的软件定义无线电(SDR)平台,可用于支持几乎任何类型的无线通信标准; 它可以发送和接收UMTS,LTE,GSM,LoRa,蓝牙,Zigbee,RFID和数字广播,仅举几例。
LimeSDR平台由一系列电路板组成,包括成本优化的1×1 SISO电路板和经济实惠的2×2 MIMO解决方案。均采用USB3.0接口,最高支持4×4 MIMO PCIe电路板,提供...
OpenAirInterface是欧洲的Eurecom的一个开源的4G 5G通讯基站项目,旨在建立一个开放的,具有各种制式空中接口的,主要基于CPU的SDR的实验平台。OpenAirInterface主要包含四个部分:OpenAir0:无线嵌入式系统设计,包含了一些硬件相关的设计文件和firmware之类。OpenAir1:基带信号处理,包含了一些物理层的功能模块,例如OFDM,调制解调,信道估计,编解码等等。OpenAir2:中间层介入协议,包括在PC上通过Linux的IP网络设备驱动与MPLS的互联开发第二层协议栈。OpenAir2:无线网络,包括为全IP蜂窝与IP/MPLS网状而开发的第三层协议栈。
文章目录目录Ubuntu SnapsSnaps 工具使用示例编译一个 Snap 应用调试 Snap 应用安装过程
Ubuntu Snaps
Ubuntu Snap 是 Ubuntu 的母公司 Canonical 于 2016 年 4 月发布 Ubuntu16.04 LTS(LongTermSupport,长期支持版)时引入的一种安全的、易于管理的、沙盒化的软件包格式,与传统的 dpkg/ap...
目录LimeSDR+Ubuntu18.04实现GSM基站查看系统是否识别LimeSDR安装Soapy库安装osmo-nitb配置文件运行手机连接基站
LimeSDR+Ubuntu18.04实现GSM基站
本文内容仅用于开展实验,需注意相关法规。
主要是参考了这个教程
https://github.com/Ghost-Assassin/sdr/wiki/Running-osmo-nitb-on-LimeSDR-USB-with-Ubuntu-18.04
Ubuntu我是跑在虚拟机上面,下面的链接是已经装好li
1.什么是SDR?
SDR (Software Defined Radio),软件定义的无线电。
软件定义无线电(SDR)是一种无线电通信系统,通过软件来实现传统无线电系统中用硬件实现的模块(例如混频器,滤波器,放大器,调制器/解调器,检测器等)。简单说来 就是以“软”换“硬”,这样可以通过修改软件,灵活配置修改无线电系统。实际上,SDR包含了很多东西,很难用一句话来描述。技术在发展,限制仍被探索...