文章目录
  1. 1. 先从openLTE入手
    1. 1.1. 设备要求
    2. 1.2. 系统要求
      1. 1.2.1. 关于GNU_Radio_Live_SDR_Environment
    3. 1.3. 直接开始吧!
      1. 1.3.1. 多次出现的参数band是什么
      2. 1.3.2. 制作USIM卡时要注意的点
      3. 1.3.3. 添加用户需要注意的点
  2. 2. 转战srsLTE

引言:最近一个项目需要实现边缘计算,买了点设备搞一搞基站。本文是摸索中的记录过程,稚嫩之处还望海涵。


先从openLTE入手

openLTE具有详细的教程,对新手友好。

设备要求

  1. HackRF或bladeRF或USRP

    三款SDR平台对比:HackRF,bladeRF和USRP

    博主使用的是USRP B210

  2. 两根或四根天线

    视半双工还是全双工,以及有几个RX和TX而定。

如果是USRP B210,可以买四根。

博主使用的是Telescopic Antenna SMA(ANT500),因为项目可能需要在230MHZ下工作。

  1. SIM programmer

    需要有PCSC支持

    设备列表见Supported CCID readers/ICCD tokens

    博主使用的是SCM Microsystems Inc. SCR 3310

  2. USIM card

    由于运营商的SIM卡有限制,我们需要定制的SIM卡

    博主使用的是sysmoUSIM-SJS1

    一定要具有ADM Key,否则无法写数据

系统要求

Ubuntu16.04或更低版本最佳,18.04需要折腾软件源,博主懒,还是用16.04吧。

Archlinux当然也可以,如果你爱折腾的话。

不希望装双系统的话可以运行在虚拟机中。

关于GNU_Radio_Live_SDR_Environment

按理说可以直接使用GNU_Radio_Live_SDR_Environment,但官方wiki给出的解释是:

1
Distribution of the GNU Radio Live SDR is currently retired. We are looking into creating new images based on newer releases.

所幸官方github给出了livecd的制作方法:gnuradio/gnuradio-livesdr

然而经过我的一番折腾,发现项目由于已经停更两年而变得并没有那么可以无脑使用了。

喜欢折腾的可以fork下来搞一搞,我去star一波。

直接开始吧!

先参考wiki:openLTE - wiki

流程基本上跟着wiki走,有几个流程中需要注意的点:

多次出现的参数band是什么

img

img

img

摘自使用GnuRadio + OpenLTE + SDR 搭建4G LTE 基站(上)

制作USIM卡时要注意的点

分支zecke/tmp

在wiki中警告PySIM需要checkout到zecke/tmp才能进行写操作,否则可能会永久损伤SIM卡。

然而博主发现,截至2020/01/16,PySIM依然在活跃更新,而分支zecke/tmp已经不见了,仅存zecke/tmp2分支,判断master应该是合并了zecke/tmp了。

经过博主的大胆尝试,目前的master分支已经可以对sysmoUSIM-SJS1完美读写了。

pySim-prog.py的各种参数

参数千万条,安全第一条。

wiki的这一章不仅一次提到了永久性损伤这几个词,那可不得小心又小心啊。

经过理解,下列参数是比较关键的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-p
programmer的序号,从0开始
-c
国家代号,如中国是86,美国是1
-x
Mobile Country Code(MCC),如大陆460和461,香港454,澳门455,美国311-316
-y
Mobile Network Code(MNC),如中国移动00、02、07,中国联通01、06,中国电信03、05,中国铁通20
我们不能指定与他们相同的MCC/MNC
-t
用于指定卡的类型
-i
IMSI,要与读取出来的卡的IMSI一致,卡面上写的IMSI可能有一定出入
-s
ID,为了方便博主写的是卡背的一串数字。
-a
AMD Key,不能写错

demo:

1
./pySim-prog.py -p 0 -c 86 -x 460 -y 55 -t sysmoUSIM-SJS1 -i xxxxxxxxxxx -s xxxxxxxxxx -a xxxxxx

最后一定要记下Ki

世界各国MCC 和MNC 列表- 浪里小白龙呼呼呼- 博客园

添加用户需要注意的点

add_user参数中的imei是手机的IMEI,k是之前的Ki

转战srsLTE

然而openLTE似乎wiki并不完善,因此转战srsLTE。

文章目录
  1. 1. 先从openLTE入手
    1. 1.1. 设备要求
    2. 1.2. 系统要求
      1. 1.2.1. 关于GNU_Radio_Live_SDR_Environment
    3. 1.3. 直接开始吧!
      1. 1.3.1. 多次出现的参数band是什么
      2. 1.3.2. 制作USIM卡时要注意的点
      3. 1.3.3. 添加用户需要注意的点
  2. 2. 转战srsLTE