OpenBTS 1st test

I am experiencing the same error but TRX seems to be running fine (I can see the network on my GSM phone but I cannot connect to it anyway).

ok, thatā€™s weirdā€¦ do you also have Tx: 0.000 MB/s ? mine doesnā€™t transmit at all

No, mine shows almost the same TX and RX rate. Are you sure you have OsmoBSC/NITB or OpenBTS running that is connected to your TRX?

osmobsc & osmonitb show a segmentation fault ;D

@cswiger, did you manage to register your phone on OpenBTS GSM network? If so can you share you config (or guide my through how did you achieve that?)

ok, i fixed the segmentation fault now. package sqlite3 (or something else?!) was missing. however iā€™ve got a new ā€˜problemā€™; osmo-trx only uses LNAL, but LNAH would be much better for GSM1800. we have figured out yet, how to use any rf port in gnuradio, but how is it possible via soapysdr & osmo-trx? did someone change the rx-port already?

since OsmoBTS seemed a bit buggy, iā€™ve set up OpenBTS too.
just download ubuntu 14.04 x86 and install the binary packages from OpenBTS.

you will need to install 2 packages manually before that, since they are very old and only in the ubuntu 12.xx repos, but i wouldnā€™t recommend using this old ubuntu version. other dependecies can be installed with sudo apt-get -f install. if anyone had success installing OpenBTS on newer versions of ubuntu; let us know. i just read, that there are some problems and therefore went for 14.04.

you can download the packages here:
http://packages.ubuntu.com/precise/i386/libortp8/download
http://packages.ubuntu.com/precise/i386/libosip2-4/download

simply install osmo-trx as described in the myriadrf wiki and run the folling command for OpenBTS compatibilty: osmo-trx -e -a 'soapy=0,driver=lime' -f // you can simply type osmo-trx -e -a -f too, if you only have one sdr connected

Is your mobile station / handset camping on your bts now and got the sms texts?
I just followed instructions in http://openbts.org/site/wp-content/uploads/ebook/Getting_Started_with_OpenBTS_Range_Networks.pdf p.29 to add a subscriber using nmcli.py to add it to sipauthserve.

calling 1111 also records my voice and plays it back when pressing #
sms between phones works after adding subscribers with nmcli.py, calling works somehow; i hear ringing, can pick up the call, but all i get is silence

There are all the test extensions in asterisk/extensions-range-test.conf - 2600 is echo test, 2602 plays a Milliwatt test tone, etc.

I put my ancient IAX2 diamondcard pstn gateway in a config file and can call anywhere :slight_smile:
Supposedly you can also use a soft sip phone like zoiper for testing - I have not had much luck with that however - unresolved.

yep, iā€™ve found that already. i will have to read oā€™reillyā€™s book on openbts to understand it :wink:

Notes from installing osmo-trx and OpenBTS on a (relatively) new Ubuntu 16 system, with Gotchaā€™s:
Install LimeSuite / SoapySDR as usual
Install UHD and SoapyUHD ā€“ osmo-trx from https://github.com/fairwaves/osmo-combo needed host/include/uhd/utils/msg.hpp, had to go back to uhd release uhd-release_003_009_005 to find the now deleted file.
build osmo-trx and it runs as usual with -e -f options.

OpenBTS builds cleanly on Ubuntu16 - although it installs a bunch of unneeded libgnuradio-* ā€“ but the startup scripts are for ā€˜upstartā€™ and U16 has moved on to systemd. SO until we update the scripts, run them manually in desperate terminals or screens:

In Terminal 1 run:
sudo /usr/local/sbin/smqueue

In Terminal 2 run:
sudo /usr/local/sbin/sipauthserve

In Terminal 3 run:
sudo /usr/sbin/asterisk -vvvv

In Terminal 4 run:
cd /OpenBTS
sudo ./OpenBTS

2 Likes

i tried using the limesdr on a pine a64 single board computer, that i was kickstarted some time ago too, but sadly i get a segfault, that seems to come from a bug in the arm64 kernel. i will try fixing it however, since the pine should be able to run a bts

2 posts were merged into an existing topic: How to do Multi-Trx on Lime SDR

hey,

Iā€™v tryed to run: osmo-trx -f -a ā€˜driver=lime,device=0ā€™

but i got:

osmo-trx -f -a ā€˜driver=lime,device=0ā€™
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown

Config Settings
Log Levelā€¦ NOTICE
Device argsā€¦ driver=lime,device=0
TRX Base Portā€¦ 5700
TRX Addressā€¦ 127.0.0.1
Channelsā€¦ 1
Samples-per-Symbolā€¦ 4
External Referenceā€¦ Disabled
C0 Filler Tableā€¦ Dummy bursts
Diversityā€¦ Disabled
Tuning offsetā€¦ 0
RSSI to dBm offsetā€¦ 0
Swap channelsā€¦ 0

ALERT 140598533970112 13:14:32.1 UHDDevice.cpp:711:open: No UHD devices found with address ā€˜driver=lime,device=0ā€™
ALERT 140598533970112 13:14:32.1 UHDDevice.cpp:711:open: No UHD devices found with address ā€˜driver=lime,device=0ā€™
ALERT 140598533970112 13:14:32.1 osmo-trx.cpp:412:main: Failed to create radio device

ALERT 140598533970112 13:14:32.1 osmo-trx.cpp:412:main: Failed to create radio device

first i checked:

SoapySDRUtil --find
######################################################

Soapy SDR ā€“ the SDR abstraction library

######################################################

Found device 0
addr = 1d50:6108
driver = lime
label = LimeSDR-USB [USB 3.0] 9062A00CE2211
media = USB 3.0
module = STREAM
name = LimeSDR-USB
serial = 0009062A00CE2211

LimeUtil --find

  • [LimeSDR-USB, media=USB 3.0, module=STREAM, addr=1d50:6108, serial=0009062A00CE2211]

why it is not working?

Iā€™m using Linux Mint 18.3 and tried also on Ubuntu 16.04

Follow the osmocom LimeSDR instructions that involves installing uhd and SoapyUhd also. https://osmocom.org/projects/osmotrx/wiki/LimeSDR_Family

My SoapySDRUtil --find is different in this regard, it prints a UHD_ line:

/# SoapySDRUtil --find
/######################################################
/## Soapy SDR ā€“ the SDR abstraction library
/######################################################

linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.009.005-0-unknown

Found device 0
addr = 1d50:6108
driver = lime
label = LimeSDR-USB [USB 3.0] 9060B00471F23
media = USB 3.0
module = FX3
name = LimeSDR-USB

Thank you, after this: apt install uhd-soapysdr soapysdr-module-uhd

is much better osmo-trx starts, but still not perfect - terminate called after throwing an instance of ā€˜std::bad_allocā€™.

There is still small diference: I have UHD_003.009.002-0 and you have: UHD_003.009.005-0. I will try step by step flow this: https://osmocom.org/projects/osmotrx/wiki/LimeSDR_Family on fresh Ubuntu install.

I got:

SoapySDRUtil --find
######################################################

Soapy SDR ā€“ the SDR abstraction library

######################################################

linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown

Found device 0
addr = 1d50:6108
driver = lime
label = LimeSDR-USB [USB 3.0] 9062A00CE2211
media = USB 3.0
module = STREAM
name = LimeSDR-USB
serial = 0009062A00CE2211

osmo-trx -a ā€˜driver=lime,device=0ā€™
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown

Config Settings
Log Levelā€¦ NOTICE
Device argsā€¦ driver=lime,device=0
TRX Base Portā€¦ 5700
TRX Addressā€¦ 127.0.0.1
Channelsā€¦ 1
Samples-per-Symbolā€¦ 4
External Referenceā€¦ Disabled
C0 Filler Tableā€¦ Disabled
Diversityā€¦ Disabled
Tuning offsetā€¦ 0
RSSI to dBm offsetā€¦ 0
Swap channelsā€¦ 0

ā€“ Make connection: ā€˜LimeSDR-USB [USB 3.0] 9062A00CE2211ā€™
ā€“ Reference clock 30.720 MHz
ā€“ Device name: LimeSDR-USB
ā€“ Reference: 30.72 MHz
ā€“ Init LMS7002M(0)
ā€“ Ver=7, Rev=1, Mask=1
ā€“ LMS7002M calibration values caching Disable
CGEN: Freq=80 MHz, VCO=2.56 GHz, INT=82, FRAC=349525, DIV_OUTCH_CGEN=15
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
M=156, N=3, Fvco=1040.000 MHz
16: 00 A8 AA
16: FF AB 7C
3445: AB 5A 55
phase: min 31.2; max 197.3; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: AA 52 D5
phase: min 5.2; max 176.5; selected 90.9)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: FF AF AA
16: A0 AA 2C
14980: AB 5A 55
phase: min 31.2; max 197.3; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: A6 DC 77
16: AA 5A 75
16: AA 5A D5
phase: min 15.6; max 171.3; selected 93.5)
M=156, N=3, Fvco=1040.000 MHz
MCU programming : 16384/16384
MCU Programming finished, 2413 ms
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
terminate called after throwing an instance of ā€˜std::bad_allocā€™
what(): std::bad_alloc
osmo-trx -a ā€˜driver=lime,device=0ā€™
linux; GNU C++ version 5.3.1 20151219; Boost_105800; UHD_003.009.002-0-unknown

Config Settings
Log Levelā€¦ NOTICE
Device argsā€¦ driver=lime,device=0
TRX Base Portā€¦ 5700
TRX Addressā€¦ 127.0.0.1
Channelsā€¦ 1
Samples-per-Symbolā€¦ 4
External Referenceā€¦ Disabled
C0 Filler Tableā€¦ Disabled
Diversityā€¦ Disabled
Tuning offsetā€¦ 0
RSSI to dBm offsetā€¦ 0
Swap channelsā€¦ 0

ā€“ Make connection: ā€˜LimeSDR-USB [USB 3.0] 9062A00CE2211ā€™
ā€“ Reference clock 30.720 MHz
ā€“ Device name: LimeSDR-USB
ā€“ Reference: 30.72 MHz
ā€“ Init LMS7002M(0)
ā€“ Ver=7, Rev=1, Mask=1
ā€“ LMS7002M calibration values caching Disable
CGEN: Freq=80 MHz, VCO=2.56 GHz, INT=82, FRAC=349525, DIV_OUTCH_CGEN=15
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
M=156, N=3, Fvco=1040.000 MHz
16: 00 A8 AA
16: FF AB 7C
3445: AB 5A 55
phase: min 31.2; max 197.3; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: AA 52 D5
phase: min 5.2; max 176.5; selected 90.9)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: FF AF AA
16: A0 AA 2C
14980: AB 5A 55
phase: min 31.2; max 197.3; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: A6 DC 77
16: AA 5A 75
16: AA 5A D5
phase: min 15.6; max 171.3; selected 93.5)
M=156, N=3, Fvco=1040.000 MHz
MCU programming : 16384/16384
MCU Programming finished, 2413 ms
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
CGEN: Freq=61.44 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=19
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
terminate called after throwing an instance of ā€˜std::bad_allocā€™
what(): std::bad_alloc

A little google turns up stuff like:

Something throws an exception of type std::bad_alloc, indicating that you ran out of memory.

Also I had been using the ā€˜-eā€™ option back before LimeSDR was supported in the osmocom main branch - now I notice at the end of that page they recommend just using: -s 4 -b 4 in their troubleshooting section.

Getting all these options and switches set is a bear - osmocom just split their net-in-a-box osmo-nitb out into separate parts in 2017 and unless thereā€™s a good reference design you almost have to know GSM pretty intimately to get them all working. Itā€™s black magic to me so far.

1 Like

Forgive my English.
Hello, I use Osmo-trx and OpenBTS successfully run GSM SMS and Voice, next want to study GPRS, is referring to OpenBTS transceiver code to modify Osmo-trx, do you have research?
I know OsmoBTS support GPRS, but it is too difficult for me to operate, I still like to use Openbts

1 Like

In general Iā€™d recommend using the Osmocom stack, but since you donā€™t want to and in the absence of any other suggestions, would recommend seeking assistance via the OpenBTS community.