首页 > 代码库 > Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1

Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1

技术分享

English Version could be find at Osmocom.org

https://osmocom.org/projects/cellular-infrastructure/wiki/Accelerate3g5_–_unicornteam

0x01环境搭建

PC:Ubuntu16.04

HardWare:ip.access nano3G

SoftWare:Osmocom

1.1 安装交叉编译环境

sudo apt-get updatesudo apt-get install libtool shtool autoconf git-core pkg-config make gcc build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libusb-0.1-4 libpcsclite1 libccid pcscd libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev libpcsclite-dev sudo ldconfigmkdir osmcd osmmkdir build install srcwget http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.shcd srcwget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gzcd ..chmod +x gnu-arm-build.3.shsudo bash gnu-arm-build.3.sh

1.2 设置交叉编译环境变量

cd install/binpwdvi ~/./.bashrcexport PATH=$PATH:/home/$username(change this to your name)/osm/install/bin#save and quitsource ~/.bashrc

0x02 源码编译CalypsoBTS

2.1 编译libosmo-dsp

git clone git://git.osmocom.org/libosmo-dsp.gitcd libosmo-dsp/autoreconf -i./configuremakesudo make installcd ..

2.2 编译osmocom-bb

git clone git://git.osmocom.org/osmocom-bb.git trxcd trx/git checkout jolly/testingcd src/# 需要 TX 功能支持# 取消target/firmware/Makefile代码中CFLAGS += -DCONFIG_TX_ENABLE 前边的注释# 并在make时启用transceiver功能支持make HOST_layer23_CONFARGS=--enable-transceiver 

2.3 安装依赖包

sudo apt-get install sqlite3 libdbi-dev libdbd-sqlite3 libsctp-dev

2.4 编译 Ortp

wget http://download.savannah.gnu.org/releases/linphone/ortp/sources/ortp-0.22.0.tar.gztar -xvf ortp-0.22.0.tar.gzcd ortp-0.22.0/./configuremakesudo make installsudo ldconfigcd ..

2.5 编译libosmo-abis

git clone git://git.osmocom.org/libosmo-abis.gitcd libosmo-abisautoreconf -i./configuremakesudo make installsudo ldconfigcd ..

2.6 编译libosmo-netif

git clone git://git.osmocom.org/libosmo-netif.gitcd libosmo-netif/autoreconf -i./configuremakesudo make installsudo ldconfigcd ..

2.7 编译openbsc

编译Openbsc时需用到PCAP库文件,编译前先搜索&安装依赖包:

apt-cache search PCAPsudo pat-get install libpcap-dev libpcap0.8 libpcap0.8-dbg libpcap0.8-devsudo ldconfiggit clone git://git.osmocom.org/openbsc.gitcd openbsc/openbsc/autoreconf -i./configuremakesudo make installcd ../..
git clone git://git.osmocom.org/openbsc.gitcd openbsc/openbsc/autoreconf -i./configuremakesudo make installcd ../..

2.8 编译osmo-bts

git clone git://git.osmocom.org/osmo-bts.gitcd osmo-btsautoreconf -i./configure --enable-trxmakesudo make installcd ..

2.9 创建OpenBSC配置文件

#如果配置文件不存在需要先创建 Create the configuration folder if it isnt exist yetmkdir ~/.osmocomcd ~/.osmocomtouch ~/.osmocom/open-bsc.cfgtouch ~/.osmocom/osmo-bts.cfg

0x03 源码编译Cellular Infrastructure

3.1 克隆源码

git clone git://git.osmocom.org/libosmocoregit clone git://git.osmocom.org/libosmo-abisgit clone git://git.osmocom.org/openbscgit clone git://git.osmocom.org/libosmo-netifgit clone git://git.osmocom.org/libosmo-sccpgit clone git://git.osmocom.org/libsmpp34git clone git://git.osmocom.org/openggsn

3.2 下载&执行自动编译脚本

wget https://osmocom.org/attachments/download/2438/build_2G.shchmod 777  build_2G.shsudo bash build_2G.sh

0x04 配置OpenBSC

4.1 启动BTS

终端1:

osmo-nitb -c ~/.osmocom/open-bsc.cfg -l ~/.osmocom/hlr.sqlite3 -P -C --debug=DRLL:DCC:DMM:DRR:DRSL:DNM

终端2:

telnet localhost 4242

技术分享

4.2 配置IP

PC

IP:192.168.31.147 (通过WiFi连接)

路由器

IP:192.168.31.1

3G Access Point

IP:未知

方法1:进入路由后台,查找3G Access Point IP

技术分享

方法2:通过abissip-find找到3G Access Point IP

cd openbsc/openbsc/src/ipaccess#orcd openbsc/openbsc/build-2G/src/ipaccesssudo ./abisip-find

技术分享

4.3 Telnet连入3G Access Point

telnet 3G Access Points IP 8090

技术分享

4.4 SSH连入

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@192.168.31.136password:newsys

技术分享

ipaccess-config

init3@0xroot:~/osm/openbsc/openbsc/src/ipaccess$ ./ipaccess-config --helpipaccess-config (C) 2009-2010 by Harald Welte and othersThis is FREE SOFTWARE with ABSOLUTELY NO WARRANTYUsage: ipaccess-config IP_OF_BTSCommands for writing to the BTS:  -u --unit-id UNIT_ID        Set the Unit ID of the BTS  -o --oml-ip IP        Set primary OML IP (IP of your BSC)  -i --ip-address IP/MASK    Set static IP address + netmask of BTS  -g --ip-gateway IP        Set static IP gateway of BTS  -r --restart            Restart the BTS (after other operations)  -n --nvram-flags FLAGS/MASK    Set NVRAM attributes  -S --nvattr-set FLAG    Set one additional NVRAM attribute  -U --nvattr-unset FLAG    Set one additional NVRAM attribute  -l --listen TESTNR        Perform specified test number  -L --Listen TEST_NAME        Perform specified test  -s --stream-id ID        Set the IPA Stream Identifier for OML  -d --software FIRMWARE    Download firmware into BTSMiscellaneous commands:  -h --help            this text  -H --HELP            Print parameter details.  -f --firmware FIRMWARE    Provide firmware information  -w --write-firmware        This will dump the firmware parts to the filesystem. Use with -f.  -p --loop            Loop the tests executed with the --listen command.

ipaccess-proxy

init3@0xroot:~/osm/openbsc/openbsc/src/ipaccess$ ./ipaccess-proxy --helpUsage: ipaccess-proxy [options] ipaccess-proxy is a proxy BTS. -h --help. This help text. -l --listen IP. The ip to listen to. -b --bsc IP. The BSC IP address. -g --gprs IP. Take GPRS NS from that IP. -s --disable-color. Disable the color inside the logging message. -e --log-level number. Set the global loglevel. -T --timestamp. Prefix every log message with a timestamp. -V --version. Print the version of OpenBSC.

0x05 Reference

https://osmocom.org/projects/cellular-infrastructure/wiki/Build_from_Source
http://osmocom.org/projects/baseband/wiki/CalypsoBTS
https://osmocom.org/projects/cellular-infrastructure/wiki/Getting_Started_with_3G
https://osmocom.org/projects/osmocscn/wiki/Osmocom_3G_-_Getting_Started/3
https://osmocom.org/projects/cellular-infrastructure/wiki/Configuring_the_ipaccess_nano3G

Getting started with 3G | ip.access nano3G+OpenBSC+Osmocom-bb Part 1