Hi all,
Just wanted to share an issue and a quick workaround I found for it in case
anyone else has the same problem. I believe a cmd2 update is causing
pySim-shell to fail. After installing it on a fresh install of Ubuntu
Server 20.04 and getting the following error when I run "python3
pySim-shell -p0":
>Using PC/SC reader interface
>Autodetected card type: sysmoUSIM-SJS1
>AIDs on card:
> USIM: a0000000871002ffffffff8907090000
>Traceback (most recent call last):
> File "pySim-shell.py", line 512, in <module>
> app = PysimApp(card, rs, opts.script)
> File "pySim-shell.py", line 59, in __init__
> super().__init__(persistent_history_file='~/.pysim_shell_history',
allow_cli_args=False, use_ipython=True, auto_load_commands=False,
command_sets=basic_commands, >startup_script=script)
>TypeError: __init__() got an unexpected keyword argument 'use_ipython'
If you run into this you can fix it by uninstalling cmd2 and reinstalling
cmd2 with "pip3 install cmd2==1.5".
Best,
Bryan
Hi,
I had a problem placing MO GSM calls from a Siemens S11E: The calls
were dropped immediately; Osmo-MSC reports "Cannot compose Channel
Type from bearer capabilities"
After investigating the SETUP request from the S11E, the phone does
not use octet 3a (no extension bit set in IE 3). Wireshark decodes the
radio channel requirement as "Full rate support only MS/fullrate
speech version 1 supported", so I added a condition to the gsm48_ie.c
function of libosmocore to include at least GSM FR in the list of
available speech_ver in case octet 3 has no extension.
Attached to this message are the Abis-IP PCAP traces of MO calls, and
the patch for gsm48_ie.c.
Regards,
Lennart
Hi,
My name is Brackley Cassinga Form DRC, we run a community network called
pamoja net where we offer gsm services using osmocom open source software
and OC Base station.
Recently I have tried to install another base station as the same installed
but I could not find any resource guiding through all the steps to take to
run NIB on a base station.
I'm currently running Ubuntu and I will appreciate if you could guide me on
the installation of BSC,hlr,MSC , in order to run a basic gsm network.
Thank you. Regards
--
*Ir Brackley heshima Casinga **Pacifique*
*CEO and Founder of kwanzatechnologie*
KwanzaTechnologies ,GlobalElectronics
+243977265291 | +243977265291 | Pcassinga(a)gmail.com/
brackley(a)ensemblepourladifference.org
www.kwantechnologies.jimdosite.com <http://www.kwantechnologies.com/> |
Skype: Brackley cassinga <https://webapp.wisestamp.com/#>
Av Semliki N 43
Hello GSM community,
I realize that most of you over in Osmocom land would much rather see
me submit Gerrit patches than write lengthy ML posts, but right now I
really need some help with the algorithmic logic of a feature before I
can develop patches implementing said feature - so please bear with
me.
The fundamental question is: what is the most correct way for a GSM
network (let's ignore divisions between network elements for the
moment) to construct the DL speech frame stream for call leg B if it
is coming from the UL of call leg A? I am talking about call scenarios
where call leg A and call leg B use the same codec, thus no transcoding
is done (TrFO), and let me also further restrict this question to
old-style FR/HR/EFR codecs, as opposed to AMR.
At first the answer may seem so obvious that many people will probably
wonder why I am asking such a silly question: just take the speech
frame stream from call leg A UL, feed it to call leg B DL and be done
with it, right? But the question is not so simple. What should the
UL-to-DL mapper do when the UL stream hits a BFI instead of a valid
speech frame? What should this mapper do if call leg A does DTXu but
there is no DTXd on call leg B?
The only place in 3GPP specs where I could find an answer to this
question is TS 28.062 section C.3.2.1.1. Yes, I know that it's the
spec for in-band TFO within G.711, a feature which I reason no one
other than me probably cares about, but that particular section - I am
talking about section C.3.2.1.1 specifically, you can ignore the rest
of TFO for the purpose of this question - seems to me like it should
apply to _any_ scenario where an FR/HR/EFR frame stream is directly
passed from call leg A to call leg B without transcoding, including
scenarios like a self-contained Osmocom network with OsmoMSC switching
from one MS to another without any external MNCC.
Let us first consider the case of FR1 codec, which is the simplest.
Suppose call leg A has DTXu but call leg B has no DTXd - one can't do
DTXd on C0, so if 200 kHz of spectrum is all you got, operating a BTS
with just C0, then no one can do DTXd. When Alice on call leg A is
silent, her MS will send a SID every 480 ms and have its Tx off the
rest of the time, and the frame stream from the BTS serving her call
leg will exhibit a SID frame in every 24th position and BFI placemarkers
in all other positions.
So what should the DL frame stream going to Bob look like in this
scenario? My reading of section C.3.2.1.1 (second paragraph from the
top is the one that covers this scenario) tells me that the *network*
(set aside the question of which element) is supposed to turn that
stream of BFIs with occasional interspersed SIDs into a stream of
valid *speech* frames going to Bob, a stream of valid speech frames
representing comfort noise as produced by a network-located CN
generator. The spec says in that paragraph: "The Downlink TRAU Frames
shall not contain the SID codeword, but parameters that allow a direct
decoding."
Needless to say, there is no code anywhere in Osmocom currently that
does the above, thus current Osmocom is not able to produce the fancy
TrFO behavior which the spec(s) seem to call for. (I said "spec(s)"
vaguely because I only found a spec for TFO, not for TrFO, but I don't
see any reason why this aspect of TFO spec shouldn't also apply to
TrFO when the actual problem at hand is exactly the same.)
But no no no guys, I am *not* bashing Osmocom here, I am seeking to
improve it! As it happens, fully implementing the complete set of
TS 28.062 section C.3.2.1.1 rules (I shall hereafter call them C3211
rules for short) for the original FR1 codec would be quite easy, and I
already have a code implementation which I am eyeing to integrate into
Osmocom. Themyscira libgsmfrp is a FLOSS library that implements a
complete, spec-compliant Rx DTX handler for FR1, and it is 100% my own
original work, not based on ETSI or TI or any other sources, thus no
silly license issues - and I am eyeing the idea of integrating the
same functions, appropriately renamed, repackaged and re-API-ed, into
libosmocodec, and then invoking that functionality in OsmoBTS, in the
code path that goes from RTP Rx to feeding TCH DL to PHY layers.
But while FR1 is easy, doing the same for EFR is where the real
difficulty lies, and this is the part where I come to the community
for help. The key diff between FR1 and EFR that matters here is how
their respective Rx DTX handlers are defined in the specs: for FR1 the
Rx DTX handler is a separate piece, with the interface from this Rx
DTX handler to the main body of the decoder being another 260-bit FR1
frame (this time without possibility of SID or BFI), and the specs for
DTX (06.31 plus 06.11 and 06.12) define and describe the needed Rx DTX
handler in terms of emitting that secondary 260-bit FR1 frame. Thus
implementing this functionality in Themyscira libgsmfrp was a simple
matter of taking the logic described in the specs and turning it into
code.
But for EFR the specs do not define the Rx DTX handler as a separate
piece, instead it is integrated into the guts of the full decoder.
There is a decoder, presented as published C source from ETSI, that
takes a 244-bit EFR frame, which can be either speech or SID, *plus* a
BFI flag as input, and emits a block of 160 PCM samples as output -
all Rx DTX logic is buried inside, intertwined with the actual speech
decoder operation, which is naturally quite complex.
I've already spent a lot of time looking at the reference C
implementation of EFR from ETSI - I kinda had to, as I did the rather
substantial work of turning it into a usable function library, with
state structures and a well-defined interface instead of global vars
and namespace pollution - the result is Themyscira libgsmefr - but I
am still nowhere closer to being able to implement C3211 functionality
for this codec.
The problem is this: starting with a EFR SID frame and previous history
of a few speech frames (the hangover period), how would one produce
output EFR speech frames (not SID) that represent comfort noise, as
C3211 says is required? We can all easily look at ETSI's original
code that generates CN as part of the standard decoder: but that code
generates linear PCM output, not secondary EFR speech frames that
represent CN. There is the main body of the speech decoder, and there
are conditions throughout that slightly modify this decoder logic in
subtle ways for CN generation and/or for ECU-style substitution/muting
- but no guidance for how one could construct "valid speech" EFR
frames that would produce a similar result when fed to the standard
decoder in the MS after crossing radio leg B.
This is where I could really use some input from more senior and more
knowledgeable GSM-ers: does anyone know how mainstream commercial GSM
infra vendors (particularly "ancient" ones of pure T1/E1 TDM kind)
have solved this problem? What do _they_ do in the scenario of call
leg A with DTXu turning into call leg B without DTXd?
Given that those specs were written in the happy and glorious days
when everyone used 2G, when GSM operators had lots of spectrum, and
when most networks operated large multi-ARFCN BTSes with frequency
hopping, I figure that almost everyone probably ran with DTXd enabled
when that spec section was written - hence if I wonder if the authors
of the TFO spec failed to appreciate the magnitude of what they were
asking implementors to do when they stipulated that a UL-to-DL mapping
from DTXu-on to DTXd-off "shall" emit no-SID speech frames that
represent TFO-TRAU-generated CN. And if I wonder if the actual
implementors ignored that stipulation even Back In The Day...
Here is one way how we might be able to "cheat" - what if we implement
a sort of fake DTXd in OsmoBTS for times when real DTXd is not possible
because we only have C0? Here is what I mean: suppose the stream of
TCH frames about to be sent to the PHY layer (perhaps the output of my
proposed, to-be-implemented UL-to-DL mapper) is the kind that would be
intended for DTXd-enabled DL in the original GSM architecture, with
all speech pauses filled with repeated SIDs, every 20 ms without fail.
A traditional DTXd BTS is supposed to transmit only those SIDs that
either immediately follow a speech frame or fall in the SACCH-aligned
always-Tx position, and turn the Tx off at other times. We can't
actually turn off Tx at those "other" times when we are C0 - but what
if we create a "fake DTXd" effect by transmitting a dummy FACCH
containing an L2 fill frame at exactly the same times when we would do
real DTXd if we could? The end effect will be that the spec-based Rx
DTX handler in the MS will "see" the same "thing" as with real DTXd:
receiving FACCH in all those "empty" 20 ms frame windows will cause
that spec-based Rx DTX handler to get BFI=1, exactly the same as if
radio Tx were truly off and the MS were listening to radio noise.
Anyway, I would love to hear other people's thoughts on these ideas,
especially if someone happens to know how traditional GSM infra vendors
handled those pesky requirements of TS 28.062 section C.3.2.1.1 for
UL-to-DL mapping.
Sincerely,
Your GSM-obsessed Mother Mychaela
Hello Osmocom,
The Gerrit instructions page in the OsmoCNI wiki says:
> If you would like to push private branches to the Gerrit repository,
> you also need to be added to the "known users" group.
> Please send a short requesting email to openbsc(a)lists.osmocom.org.
I am requesting to be added to the just-described "known users" group
so I can push private branches to osmo-bts repository. My current
reason for desiring such ability is that I am working on a large-ish
feature in OS#5975, and I anticipate needing to do a lot of work
before my patch series will reach mergeable quality. As I understand
it, private branches in Osmocom git repositories of the form
$developer_name/$feature_name exist precisely for feature development
scenario just like the one I find myself in currently, hence I request
the necessary permissions, same as other Osmocom developers.
With devotion to GSM Forever,
(Hasta la Victoria, Siempre,)
Mother Mychaela
Greetings!
I have been trying to get osmo-trx-uhd to work with my Ettus B200. Where it gets stuck is:
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# osmo-trx-uhd -C ./doc/examples/osmo-trx-uhd/osmo-trx-uhd.cfgTue Mar 28 12:39:48 2023 DLGLOBAL <0008> cpu_sched_vty.c:471 Setting SCHED_RR priority 18Tue Mar 28 12:39:48 2023 DLGLOBAL <0008> telnet_interface.c:88 Available via telnet 127.0.0.1 4237Tue Mar 28 12:39:48 2023 DLCTRL <000f> control_if.c:1014 CTRL at 127.0.0.1 4236[INFO] [UHD] linux; GNU C++ version 12.2.0; Boost_107400; UHD_4.3.0.0+ds1-4+b2Tue Mar 28 12:40:06 2023 DMAIN <0000> osmo-trx.cpp:607 -- Transceiver active with 1 channel(s)Tue Mar 28 12:40:06 2023 DLSTATS <0011> stats.c:169 Stats timer expire_count=4: We missed 3 timersTue Mar 28 12:40:06 2023 DLGLOBAL <0008> rate_ctr.c:350 Stats timer expire_count=17: We missed 16 timers
That line in red, above, should be followed by:
[INFO] [B200] Detected Device: B200[INFO] [B200] Operating over USB 3.[INFO] [B200] Initialize CODEC control...[INFO] [B200] Initialize Radio control......................etc..
The B200 is plugged in, uhd_find_devices and uhd_usrp_probe discover it without problems. Also, I am able to bring up srsRAN's EnodeB software using it for 4G/LTE testing.
What follows is a log of
./configure --with-uhdmake -j4make checkmake install
any help appreciated!-KEF
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# ./configure --with-uhdchecking build system type... x86_64-pc-linux-gnuchecking host system type... x86_64-pc-linux-gnuchecking target system type... x86_64-pc-linux-gnuchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a race-free mkdir -p... /usr/bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether make supports nested variables... yeschecking whether make supports nested variables... (cached) yeschecking whether make supports the include directive... yes (GNU style)checking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.outchecking for suffix of executables...checking whether we are cross compiling... nochecking for suffix of object files... ochecking whether the compiler supports GNU C... yeschecking whether gcc accepts -g... yeschecking for gcc option to enable C11 features... none neededchecking whether gcc understands -c and -o together... yeschecking dependency style of gcc... gcc3checking dependency style of gcc... gcc3checking for gcc... (cached) gccchecking whether the compiler supports GNU C... (cached) yeschecking whether gcc accepts -g... (cached) yeschecking for gcc option to enable C11 features... (cached) none neededchecking whether gcc understands -c and -o together... (cached) yeschecking dependency style of gcc... (cached) gcc3checking for g++... g++checking whether the compiler supports GNU C++... yeschecking whether g++ accepts -g... yeschecking for g++ option to enable C++11 features... none neededchecking dependency style of g++... gcc3checking whether g++ supports C++11 features by default... yeschecking whether ln -s works... yeschecking whether make sets $(MAKE)... (cached) yeschecking for rm... /usr/bin/rmchecking for pkg-config... /usr/bin/pkg-configchecking for pkg-config... /usr/bin/pkg-configchecking pkg-config is at least version 0.20... yeschecking how to print strings... printfchecking for a sed that does not truncate output... /usr/bin/sedchecking for grep that handles long lines and -e... /usr/bin/grepchecking for egrep... /usr/bin/grep -Echecking for fgrep... /usr/bin/grep -Fchecking for ld used by gcc... /usr/bin/ldchecking if the linker (/usr/bin/ld) is GNU ld... yeschecking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -Bchecking the name lister (/usr/bin/nm -B) interface... BSD nmchecking the maximum length of command line arguments... 1572864checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noopchecking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noopchecking for /usr/bin/ld option to reload object files... -rchecking for file... filechecking for objdump... objdumpchecking how to recognize dependent libraries... pass_allchecking for dlltool... dlltoolchecking how to associate runtime and link libraries... printf %s\nchecking for ar... archecking for archiver @FILE support... @checking for strip... stripchecking for ranlib... ranlibchecking command to parse /usr/bin/nm -B output from gcc object... okchecking for sysroot... nochecking for a working dd... /usr/bin/ddchecking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1checking for mt... mtchecking if mt is a manifest tool... nochecking for stdio.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for strings.h... yeschecking for sys/stat.h... yeschecking for sys/types.h... yeschecking for unistd.h... yeschecking for dlfcn.h... yeschecking for objdir... .libschecking if gcc supports -fno-rtti -fno-exceptions... nochecking for gcc option to produce PIC... -fPIC -DPICchecking if gcc PIC flag -fPIC -DPIC works... yeschecking if gcc static flag -static works... yeschecking if gcc supports -c -o file.o... yeschecking if gcc supports -c -o file.o... (cached) yeschecking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking whether -lc should be explicitly linked in... nochecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... nochecking how to run the C++ preprocessor... g++ -Echecking for ld used by g++... /usr/bin/ld -m elf_x86_64checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking for g++ option to produce PIC... -fPIC -DPICchecking if g++ PIC flag -fPIC -DPIC works... yeschecking if g++ static flag -static works... yeschecking if g++ supports -c -o file.o... yeschecking if g++ supports -c -o file.o... (cached) yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking dynamic linker characteristics... (cached) GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking for egrep... (cached) /usr/bin/grep -Echecking for byteswap.h... yeschecking for an ANSI C-conforming const... yeschecking for inline... inlinechecking for size_t... yeschecking for sys/time.h... yeschecking whether byte ordering is bigendian... nochecking for libosmocore >= 1.8.0... yeschecking for libosmovty >= 1.8.0... yeschecking for libosmoctrl >= 1.8.0... yeschecking for libosmocoding >= 1.8.0... yeschecking for uhd >= 003.011... yeschecking for uhd < 004.002... nochecking whether to enable building MS TRX... nochecking whether C++ compiler accepts -msse3... yeschecking whether C++ compiler accepts -msse4.1... yeschecking whether gcc has __builtin_cpu_supports built-in... yeschecking whether gcc has __sync_fetch_and_and built-in... yeschecking whether gcc has __sync_or_and_fetch built-in... yeschecking for libusb-1.0... yeschecking for fftw3f... yesCPPFLAGS=""CFLAGS=" -std=gnu11"CXXFLAGS="-g -O2"LDFLAGS=""checking that generated files are newer than configure... doneconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating CommonLibs/Makefileconfig.status: creating GSM/Makefileconfig.status: creating Transceiver52M/Makefileconfig.status: creating Transceiver52M/arch/Makefileconfig.status: creating Transceiver52M/arch/common/Makefileconfig.status: creating Transceiver52M/arch/arm/Makefileconfig.status: creating Transceiver52M/arch/x86/Makefileconfig.status: creating Transceiver52M/device/Makefileconfig.status: creating Transceiver52M/device/common/Makefileconfig.status: creating Transceiver52M/device/uhd/Makefileconfig.status: creating Transceiver52M/device/usrp1/Makefileconfig.status: creating Transceiver52M/device/lms/Makefileconfig.status: creating Transceiver52M/device/ipc/Makefileconfig.status: creating Transceiver52M/device/bladerf/Makefileconfig.status: creating tests/Makefileconfig.status: creating tests/CommonLibs/Makefileconfig.status: creating tests/Transceiver52M/Makefileconfig.status: creating utils/Makefileconfig.status: creating doc/Makefileconfig.status: creating doc/examples/Makefileconfig.status: creating contrib/Makefileconfig.status: creating contrib/systemd/Makefileconfig.status: creating doc/manuals/Makefileconfig.status: creating contrib/osmo-trx.specconfig.status: creating config.hconfig.status: config.h is unchangedconfig.status: executing tests/atconfig commandsconfig.status: executing depfiles commandsconfig.status: executing libtool commands
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# make -j4make all-recursivemake[1]: Entering directory '/root/osmo/src/osmo-trx'Making all in CommonLibsmake[2]: Entering directory '/root/osmo/src/osmo-trx/CommonLibs' CXX LinkedLists.lo CXX BitVector.lo CXX Threads.lo CXX Timeval.lo CXX Logger.lo CXX Utils.lo CXX trx_rate_ctr.lo CC trx_vty.lo CC debug.lo CXXLD libcommon.lamake[2]: Leaving directory '/root/osmo/src/osmo-trx/CommonLibs'Making all in GSMmake[2]: Entering directory '/root/osmo/src/osmo-trx/GSM' CXX GSMCommon.lo CXXLD libGSM.lamake[2]: Leaving directory '/root/osmo/src/osmo-trx/GSM'Making all in Transceiver52Mmake[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M'Making all in archmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making all in commonmake[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common' CC convert_base.lo CC convolve_base.lo CC fft.lo CCLD libarch_common.lamake[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'Making all in x86make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86' CC convolve.lo CC convert.lo CC libarch_sse_3_la-convert_sse_3.lo CC libarch_sse_3_la-convolve_sse_3.lo CC libarch_sse_4_1_la-convert_sse_4_1.lo CCLD libarch_sse_3.la CCLD libarch_sse_4_1.la CCLD libarch.lamake[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[4]: Nothing to be done for 'all-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making all in devicemake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'Making all in commonmake[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common' CXX smpl_buf.lo CXXLD libdevice_common.lamake[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'Making all in uhdmake[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd' CXX UHDDevice.lo CXXLD libdevice.lamake[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[4]: Nothing to be done for 'all-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M' CXX osmo_trx_uhd-osmo-trx.o CXX radioInterface.lo CXX radioVector.lo CXX radioClock.lo CXX radioBuffer.lo CXX sigProcLib.lo CXX signalVector.lo CXX Transceiver.lo CXX ChannelizerBase.lo CXX Channelizer.lo CXX Synthesis.lo CC proto_trxd.lo CXX Resampler.lo CXX radioInterfaceResamp.lo CXX radioInterfaceMulti.lo CXXLD libtransceiver_common.la CXXLD osmo-trx-uhdmake[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'Making all in contribmake[2]: Entering directory '/root/osmo/src/osmo-trx/contrib'Making all in systemdmake[3]: Entering directory '/root/osmo/src/osmo-trx/contrib/systemd'make[3]: Nothing to be done for 'all'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/contrib/systemd'make[3]: Entering directory '/root/osmo/src/osmo-trx/contrib'make[3]: Nothing to be done for 'all-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/contrib'make[2]: Leaving directory '/root/osmo/src/osmo-trx/contrib'Making all in testsmake[2]: Entering directory '/root/osmo/src/osmo-trx/tests'Making all in CommonLibsmake[3]: Entering directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make[3]: Nothing to be done for 'all'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/CommonLibs'Making all in Transceiver52Mmake[3]: Entering directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[3]: Nothing to be done for 'all'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[3]: Entering directory '/root/osmo/src/osmo-trx/tests'make[3]: Nothing to be done for 'all-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests'Making all in utilsmake[2]: Entering directory '/root/osmo/src/osmo-trx/utils' CC prbs-tool.o CCLD osmo-prbs-toolmake[2]: Leaving directory '/root/osmo/src/osmo-trx/utils'Making all in docmake[2]: Entering directory '/root/osmo/src/osmo-trx/doc'Making all in examplesmake[3]: Entering directory '/root/osmo/src/osmo-trx/doc/examples'make[3]: Nothing to be done for 'all'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc/examples'Making all in manualsmake[3]: Entering directory '/root/osmo/src/osmo-trx/doc/manuals'make[3]: Nothing to be done for 'all'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc/manuals'make[3]: Entering directory '/root/osmo/src/osmo-trx/doc'make[3]: Nothing to be done for 'all-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[2]: Entering directory '/root/osmo/src/osmo-trx'make[2]: Leaving directory '/root/osmo/src/osmo-trx'make[1]: Leaving directory '/root/osmo/src/osmo-trx'
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# make checkMaking check in CommonLibsmake[1]: Entering directory '/root/osmo/src/osmo-trx/CommonLibs'make[1]: Nothing to be done for 'check'.make[1]: Leaving directory '/root/osmo/src/osmo-trx/CommonLibs'Making check in GSMmake[1]: Entering directory '/root/osmo/src/osmo-trx/GSM'make[1]: Nothing to be done for 'check'.make[1]: Leaving directory '/root/osmo/src/osmo-trx/GSM'Making check in Transceiver52Mmake[1]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M'Making check in archmake[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making check in commonmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'make[3]: Nothing to be done for 'check'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'Making check in x86make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[3]: Nothing to be done for 'check'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[3]: Nothing to be done for 'check-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making check in devicemake[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'Making check in commonmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'make[3]: Nothing to be done for 'check'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'Making check in uhdmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[3]: Nothing to be done for 'check'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[3]: Nothing to be done for 'check-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M'make[2]: Nothing to be done for 'check-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'make[1]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'Making check in contribmake[1]: Entering directory '/root/osmo/src/osmo-trx/contrib'Making check in systemdmake[2]: Entering directory '/root/osmo/src/osmo-trx/contrib/systemd'make[2]: Nothing to be done for 'check'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/contrib/systemd'make[2]: Entering directory '/root/osmo/src/osmo-trx/contrib'make[2]: Nothing to be done for 'check-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/contrib'make[1]: Leaving directory '/root/osmo/src/osmo-trx/contrib'Making check in testsmake[1]: Entering directory '/root/osmo/src/osmo-trx/tests'Making check in CommonLibsmake[2]: Entering directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make BitVectorTest PRBSTest InterthreadTest TimevalTest VectorTest LogTestmake[3]: Entering directory '/root/osmo/src/osmo-trx/tests/CommonLibs' CXX BitVectorTest.o CXXLD BitVectorTest CXX PRBSTest.o CXXLD PRBSTest CXX InterthreadTest.o CXXLD InterthreadTest CXX TimevalTest.o CXXLD TimevalTest CXX VectorTest.o CXXLD VectorTest CXX LogTest.o CXXLD LogTestmake[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests/CommonLibs'Making check in Transceiver52Mmake[2]: Entering directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make convolve_testmake[3]: Entering directory '/root/osmo/src/osmo-trx/tests/Transceiver52M' CC convolve_test-convolve_test.o CCLD convolve_testmake[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[2]: Entering directory '/root/osmo/src/osmo-trx/tests'make check-localmake[3]: Entering directory '/root/osmo/src/osmo-trx/tests'/bin/bash './testsuite'## ---------------------------------- #### osmo-trx 1.5.0.15-8745 test suite. #### ---------------------------------- ##
Regression tests.
1: LMSDeviceTest skipped (testsuite.at:6) 2: BitVectorTest ok 3: InterthreadTest ok 4: LogTest ok 5: PRBSTest ok 6: TimevalTest ok 7: VectorTest ok 8: convolve_test ok
## ------------- #### Test results. #### ------------- ##
7 tests were successful.1 test was skipped.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests'make[1]: Leaving directory '/root/osmo/src/osmo-trx/tests'Making check in utilsmake[1]: Entering directory '/root/osmo/src/osmo-trx/utils'make[1]: Nothing to be done for 'check'.make[1]: Leaving directory '/root/osmo/src/osmo-trx/utils'Making check in docmake[1]: Entering directory '/root/osmo/src/osmo-trx/doc'Making check in examplesmake[2]: Entering directory '/root/osmo/src/osmo-trx/doc/examples'make[2]: Nothing to be done for 'check'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc/examples'Making check in manualsmake[2]: Entering directory '/root/osmo/src/osmo-trx/doc/manuals'make[2]: Nothing to be done for 'check'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc/manuals'make[2]: Entering directory '/root/osmo/src/osmo-trx/doc'make[2]: Nothing to be done for 'check-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[1]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[1]: Entering directory '/root/osmo/src/osmo-trx'make[1]: Leaving directory '/root/osmo/src/osmo-trx'
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# make installMaking install in CommonLibsmake[1]: Entering directory '/root/osmo/src/osmo-trx/CommonLibs'make[2]: Entering directory '/root/osmo/src/osmo-trx/CommonLibs'make[2]: Nothing to be done for 'install-exec-am'.make[2]: Nothing to be done for 'install-data-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/CommonLibs'make[1]: Leaving directory '/root/osmo/src/osmo-trx/CommonLibs'Making install in GSMmake[1]: Entering directory '/root/osmo/src/osmo-trx/GSM'make[2]: Entering directory '/root/osmo/src/osmo-trx/GSM'make[2]: Nothing to be done for 'install-exec-am'.make[2]: Nothing to be done for 'install-data-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/GSM'make[1]: Leaving directory '/root/osmo/src/osmo-trx/GSM'Making install in Transceiver52Mmake[1]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M'Making install in archmake[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making install in commonmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/common'Making install in x86make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch/x86'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/arch'Making install in devicemake[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'Making install in commonmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/common'Making install in uhdmake[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device/uhd'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[4]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[4]: Nothing to be done for 'install-exec-am'.make[4]: Nothing to be done for 'install-data-am'.make[4]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M/device'make[2]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M'make[3]: Entering directory '/root/osmo/src/osmo-trx/Transceiver52M' /usr/bin/mkdir -p '/usr/local/bin' /bin/bash ../libtool --mode=install /usr/bin/install -c osmo-trx-uhd '/usr/local/bin'libtool: install: /usr/bin/install -c osmo-trx-uhd /usr/local/bin/osmo-trx-uhdmake[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'make[2]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'make[1]: Leaving directory '/root/osmo/src/osmo-trx/Transceiver52M'Making install in contribmake[1]: Entering directory '/root/osmo/src/osmo-trx/contrib'Making install in systemdmake[2]: Entering directory '/root/osmo/src/osmo-trx/contrib/systemd'make[3]: Entering directory '/root/osmo/src/osmo-trx/contrib/systemd'make[3]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/lib/systemd/system' /usr/bin/install -c -m 644 osmo-trx-uhd.service '/lib/systemd/system'make[3]: Leaving directory '/root/osmo/src/osmo-trx/contrib/systemd'make[2]: Leaving directory '/root/osmo/src/osmo-trx/contrib/systemd'make[2]: Entering directory '/root/osmo/src/osmo-trx/contrib'make[3]: Entering directory '/root/osmo/src/osmo-trx/contrib'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/contrib'make[2]: Leaving directory '/root/osmo/src/osmo-trx/contrib'make[1]: Leaving directory '/root/osmo/src/osmo-trx/contrib'Making install in testsmake[1]: Entering directory '/root/osmo/src/osmo-trx/tests'Making install in CommonLibsmake[2]: Entering directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make[3]: Entering directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/CommonLibs'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests/CommonLibs'Making install in Transceiver52Mmake[2]: Entering directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[3]: Entering directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests/Transceiver52M'make[2]: Entering directory '/root/osmo/src/osmo-trx/tests'make[3]: Entering directory '/root/osmo/src/osmo-trx/tests'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/tests'make[2]: Leaving directory '/root/osmo/src/osmo-trx/tests'make[1]: Leaving directory '/root/osmo/src/osmo-trx/tests'Making install in utilsmake[1]: Entering directory '/root/osmo/src/osmo-trx/utils'make[2]: Entering directory '/root/osmo/src/osmo-trx/utils'make[2]: Nothing to be done for 'install-exec-am'.make[2]: Nothing to be done for 'install-data-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx/utils'make[1]: Leaving directory '/root/osmo/src/osmo-trx/utils'Making install in docmake[1]: Entering directory '/root/osmo/src/osmo-trx/doc'Making install in examplesmake[2]: Entering directory '/root/osmo/src/osmo-trx/doc/examples'make[3]: Entering directory '/root/osmo/src/osmo-trx/doc/examples'make[3]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/usr/local/etc/osmocom' /usr/bin/install -c -m 644 osmo-trx-uhd/osmo-trx-uhd.cfg '/usr/local/etc/osmocom'make install-data-hookmake[4]: Entering directory '/root/osmo/src/osmo-trx/doc/examples'for f in $(find . -type f -name '*.cfg*' | sed -e 's,^.,,'); do \ j="/usr/local/share/doc/osmo-trx/examples/$f" && \ mkdir -p "$(dirname $j)" && \ /usr/bin/install -c -m 644 ./$f $j; \donemake[4]: Leaving directory '/root/osmo/src/osmo-trx/doc/examples'make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc/examples'make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc/examples'Making install in manualsmake[2]: Entering directory '/root/osmo/src/osmo-trx/doc/manuals'make[3]: Entering directory '/root/osmo/src/osmo-trx/doc/manuals'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc/manuals'make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc/manuals'make[2]: Entering directory '/root/osmo/src/osmo-trx/doc'make[3]: Entering directory '/root/osmo/src/osmo-trx/doc'make[3]: Nothing to be done for 'install-exec-am'.make[3]: Nothing to be done for 'install-data-am'.make[3]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[2]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[1]: Leaving directory '/root/osmo/src/osmo-trx/doc'make[1]: Entering directory '/root/osmo/src/osmo-trx'make[2]: Entering directory '/root/osmo/src/osmo-trx'make[2]: Nothing to be done for 'install-exec-am'.make[2]: Nothing to be done for 'install-data-am'.make[2]: Leaving directory '/root/osmo/src/osmo-trx'make[1]: Leaving directory '/root/osmo/src/osmo-trx'
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# which osmo-trx-uhd/usr/local/bin/osmo-trx-uhd
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# ls -l /usr/local/bin/osmo-trx-uhd-rwxr-xr-x 1 root root 5199368 Mar 28 12:39 /usr/local/bin/osmo-trx-uhd
┌──(root💀kali)-[~/osmo/src/osmo-trx]└─# osmo-trx-uhd -C ./doc/examples/osmo-trx-uhd/osmo-trx-uhd.cfgTue Mar 28 12:39:48 2023 DLGLOBAL <0008> cpu_sched_vty.c:471 Setting SCHED_RR priority 18Tue Mar 28 12:39:48 2023 DLGLOBAL <0008> telnet_interface.c:88 Available via telnet 127.0.0.1 4237Tue Mar 28 12:39:48 2023 DLCTRL <000f> control_if.c:1014 CTRL at 127.0.0.1 4236[INFO] [UHD] linux; GNU C++ version 12.2.0; Boost_107400; UHD_4.3.0.0+ds1-4+b2
Hello,
I was going through libosmo-abis codebase to understand how it handles “Rtp to Trau” and vice-versa GSM-EFR conversions.
I was able to find “RTP to Trau” and “Trau to Rtp” conversion code of EFR speech frames, but could not find anything related to EFR SID (silence) frames.
can you please guide me if above is already present in the library or how can we implement it?
Thanks,
Sadanand
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows
Hello GSM community,
Would anyone in either of the two sub-communities of GSM (OsmoCNI and
FC) happen to have a working setup with an ip.access nanoBTS,
specifically with working voice calls? For the purpose of this
inquiry, that "working setup" can be either with Osmocom CNI sw or
with whatever original proprietary sw was once "official" for these
ip.access nanoBTS units. If anyone does have a working nanoBTS setup
with any sw, would you be willing to produce and share a packet
capture (pcap file) of a working voice call, particularly the RTP
stream originating from the nanoBTS? I am particularly interested in
seeing a nanoBTS-generated RTP stream in either FR1 or EFR codec, as
opposed to AMR or HR, coming from a GSM call UL with DTX enabled -
having a 'dtx uplink' line in OsmoBSC config under 'bts N' should do
it.
The reason for my interest? I am looking to see what the pre-existing
(before Osmocom) implementation of GSM-UL-to-RTP conversion in nanoBTS
does in the two corner cases of (1) the MS exercising DTX during speech
pauses and (2) speech frame 20 ms windows on TCH UL being stolen for
FACCH. In case 1, does nanoBTS produce an intentional gap in its
transmitted RTP stream (no packets sent at all) like OsmoBTS does, or
does it do something different? Does it perhaps send RTP packets with
zero-length payload, or some in-band bit pattern that is meant to
indicate "bad frame, no data"? Case 2 is also interesting: current
osmo-bts-trx (based on my reading of code, no hw to test on) invokes
FR1 ECU and emits its output in this case, whereas stock (without my
hacky patches) osmo-bts-sysmo exhibits an outright bug whereby nothing
is emitted on RTP during the FACCH-stolen 20 ms window, and that gap
in the RTP stream is NOT accounted for in the timestamps of subsequent
RTP packets. Once again, I can only wonder what the pre-Osmocom
implementation in nanoBTS does in this case.
I would really like to produce a clean, potentially-mergeable patch to
OsmoBTS and submit it to Gerrit, a patch that would add vty config
settings selecting among several possible behaviours for RTP output in
cases of DTX silence, FACCH stealing or bad radio Rx - but I really
need to know what the different "reasonable" behaviour choices are,
and I feel that we as in FOSS GSM community also need to know what our
proprietary predecessors did in this area.
I am not able to test this nanoBTS behaviour myself because even though
I have nanoBTS hw (one PCS1900 unit and one GSM850), I have had no
success in getting it to work with Osmocom - and my troubleshooting
attempts hit a brick wall when the misbehaviour appears to be somewhere
in the proprietary black box of nanoBTS. Hence I really need help from
someone in the community who does have a working nanoBTS setup (with
any sw) and who could make some test voice calls (ideally one FR1 and
one EFR, but even just one of these two codecs would be interesting to
see) with an RTP packet capture running, and then share the resulting
pcap file. During that test voice call, it would be ideal if the
tester could alternate between speaking and silence, and also cause
some FACCH activity, perhaps by pressing DTMF keys.
M~
Hi all,
I was planning to do this long time ago, but somehow kept leaving this
for later. Today I revisited the state of ttcn3-bts-test, which shows
quite a few regressions. I believe they need to be investigated and
eventually fixed, so I created several tickets for tracking these
regressions in Osmocom's Redmine:
* OS#5951: TC_early_immediate_assignment,
* OS#5952: TC_ho_physical_info,
* OS#5953: TC_ms_pwr_ctrl_{constant,pf_ewma},
* OS#5954: TC_pcu_data_ind_lqual_cb,
* OS#5955: TC_pcu_[ext_]rach_content, TC_pcu_ptcch,
* OS#5956: TC_rsl_rf_resource_ind.
The following tickets already existed prior to my checkup:
* OS#4023: TC_pcu_oml_alert,
* OS#5242: TC_ipa_crcx_ack_addr,
* OS#5517: TC_tx_power_ramp_adm_state_change.
So far this is all about non-hopping configuration:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…
The freq. hopping configuration exhibits slightly more red TCs:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…
92% vs 84% passing TCs to be precise, but this is kinda expected because
of the limitations we have in fake_trx: FAKE_* CTRL commands are applied
to just one transceiver, not affecting others, which are also part of
the Mobile Allocation. Mostly the meas related TCs are affected.
The following TC groups are quite stable and mostly all green:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…
The following two TC groups have never been stable/all green, AFAICT:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/lastCompl…
We may want to create more tickets for those, maybe less granular (i.e.
one ticket per group). I am not familiar with these two TC groups, so
would be nice to get some input from those who write them. What would
it take to get them fixed? Are there any tickets already? If could not
find any, but I only did a quick search.
Best regards,
Vadim.
--
- Vadim Yanitskiy <vyanitskiy at sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte
Dear Osmocom community,
we're happy to announce the next incarnation of OsmoDevCall.
when:
March 15, 2023 at 20:00 CET
where:
https://osmocom.org/OsmoDevCall (Big Blue Button)
This time, @laforge be presenting on
Long range communications in the HF band
CSD is the mechanism by which circuit-switched data calls can be made
over classic GSM/2G (and later also UMTS/3G) networks. They resembled
the modem call of circuit-switched networks, but of course no voiceband
modem is involved. For more information, see our CSD wiki page at
https://osmocom.org/projects/cellular-infrastructure/wiki/CSD
This meeting will have the following schedule:
20:00 meet + greet
20:10 presentation as outlined above
21:00 unstructured supplementary social event [*]
Attendance is free of charge and open to anyone with an interest
in Osmocom or open source cellular technologies.
More information about OsmoDevCall, including the schedule
for further upcoming events can be found at
https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall
Looking forward to meeting you soon!
Best regards,
Harald
[*] this is how we started to call the "unstructured" part of osmocom
developer conferences in the past, basically where anyone can talk about
anything, no formal schedule or structure.
--
- Harald Welte <laforge(a)osmocom.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)