提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
之前做的关于OAI的基站的搭建和配置的工作,前段时间在忙一些其他的事,暂时搁置了,现在想起来写写吧。
配置是 :
ubuntu18.04
手机用的是mate30
参考的教程
https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/NR_SA_tutorials/doc/NR_SA_CN5G_gNB_B210_COTS_UE_Tutorial.md
对之前的一些改进
在之前的安装核心网和gNB的时候,是将核心网和gNB分别安装在两台不同的主机上的,然后通过路由器进行通信,但是后来尝试将而者都安装在同一台主机上,这样也能成功,这就省去了要配置两台电脑上的路由转发的问题,gNB 直接就能在本地找到核心网的网桥,同时这样在gNB的配置文件中也不需要修改IP地址,就会比较方便。当然装在一台主机上的话,配置方面需要迎合gNB的配置要求,如果感兴趣的话可以试试。
一、烧写SIM卡
为了接入手机,首先就是烧写SIM白卡,需要买一个SIM白卡和烧写的读卡器以及软件,这些东西都可以在淘宝上买到,一般买到的都是基站卡,买读卡器的时候会给一个软件,界面大致如下所示,主要需要填写的几个参数有IMSI,opc,还有key(ki)
1、opc,ki(key)
opc和key需要与核心网中的一样,如果没有自己修改过的话(建议不要自己改),应该烧写如下的值
opc:63bfa50ee6523365ff14c1f45f88737d
key(ki) :0C0A34601D4F07677303652C0462535B
这两个不区分大小写
2、IMSI-PLMN
IMSI可以理解为手机的代号,IMSI = PLMN + MSIN = MCC + MNC + MSIN
其中的PLMN也是需要和核心网以及基站配置文件中保持一致,如果核心网和基站中默认是MCC=208,MNC=95,这两个值需要填写在手机的APN 中,但是我用的mate30支持的PLMN只能是00101所以这边我只能采用这个值,注意需要和基站和核心网保持一致,基站通过配置文件修改即可,核心网是修改yaml文件。
3、IMSI-MSIN
剩下的MSIN可以随便填写一个值,MSIN是10位加上5位的PLMN一共15位组成IMSI烧写到SIM白卡中。
【Tips】 当然也可以不做自定义的修改,核心网中默认带有的IMSI 是208950000000031,这样在第三步的时候就不需要将自己写的UE信息添加到核心网的数据库中了。
二、手机新建APN
将烧写好的SIM 插入手机中,在手机中新建APN,这一步各个手机的步骤可能都不一样,mate30是设置->移动网络->移动数据->接入点名称->新建APN, 其中的页面如下
主要就填写4个参数 名称、APN、MCC、MNC
1、MCC、MNC
MCC和MNC是上一步中烧写到SIM 中的值,我这里是001和01
2、APN
这个值需要注意一下,这个值需要是核心网的中的SMF组件中的DNN 列表中的一个,可以通过以下的两个文件来查看。
/oai-cn5g-fed/component/oai-smf/etc/smf.conf
/oai-cn5g-fed/docker-compose/docker-compose-basic-nrf
SMF中提供有4个接口,通过的docker的运行的yaml文件,可以看到这些参数的具体的值,虽然有4个接口,但是只提供了一个默认的接口值,名称是oai,所以在手机上的APN 处填写oai。
另外,如果想要修改APN 的或者想要多个APN(不超过4个)的可以就在docker的yaml文件中修改就行,至于怎么修改可以自行参考其他的资料。
3、名称
这个参数理论上是可以随便填,但是建议和上面的APN写成一样,比较方便。
三、配置核心网的相关信息
如果在第一步中就行了自定义的UE的IMSI 修改,则需要将UE 的信息添加到核心网的数据库中。这里有两种方法:
方法一 通过mysql来修改
首先把核心网的容器启动起来,然后进入容器,再进入mysql,之后往列表中插入相关的UE信息,具体可以参考官网的方法
方法二 通过sql文件修改(推荐)
如果安装核心网采用的是前言中提到的参考教程,可以直接打开其中oai_db.sql文件,在如下所示的地方添加相应的信息即可。这样就可以把UE 的信息添加好了。
四、启动调试
1、启动核心网
python3 core-network.py --type start-basic --fqdn yes --scenario 1
2、启动gNB(新建终端)
sudo -E ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf -E --sa
3、打开关闭手机的飞行模式
在基站的终端中可以看到如下所示的UE 连接的信息,从msg1到msg4的基站与UE之间的交互msg。
4、在核心网的终端查看AMF的日志
docker logs oai-amf > amf.log
在日志中可以看到gNB 和UE在核心网中的注册信息,通过imsi可以看出是自己烧写的SIM卡的信息。
【tips】 建议USRP 的天线使用增益比较高的,之前我用的天线增益太低就连不上。
总结
至此已经完成了UE接入gNB和核心网的工作,但是此时的UE还不能上网浏览网页,希望以后的研究中能够完善一下吧。
之后有空的话把这一段过程录个屏吧。文章来源:https://www.toymoban.com/news/detail-492206.html
演示录屏https://www.bilibili.com/video/BV1Vd4y1Q7Rq?vd_source=e9b217dd648d3e9a219e29ceb3ba23b2文章来源地址https://www.toymoban.com/news/detail-492206.html
到了这里,关于手机连接上OAI基站的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!