Dear Harald,
I watched your excellent presentation on eSIMs and I have two
questions just to make sure I understand the situation correctly.
1. Both the eSIM profile and the SM-DP+ server's certificate has to be
signed by the GSMA in order to be able to provide eSIM services to
commercial handsets?
2. If the above is the case, that means we effectively lost control of
the SIM infra, as we always have to rely on 3rd party SM-DP+ and eSIM
profile providers who can provide the necessary signing for both the
eSIM profiles and the SM-DP+ server certs signed by GSMA?
Based on what you implied during the OsmoDevCall call about getting
certified, I am under the impression that Sysmocom will not be able to
provide nor eSIM profiles nor SM-DP+ services that can be used for
commercial handsets? If this is the case, can you kindly redirect me
to a vendor/provider who you have good experience with in this regard?
Much appreciate your help!
Regards,
Csaba
It refers to professional assistance provided to students who are struggling with statistical concepts, data analysis, or complex calculations. Whether it’s understanding probability theory, regression analysis, or hypothesis testing, expert tutors offer tailored support to help students complete their assignments accurately and on time. With help with Statistics assignment, students can gain a better grasp of difficult concepts, improve their grades, and enhance their problem-solving skills. This support is especially valuable for those in fields like economics, engineering, or social sciences, where statistical knowledge is crucial. With expert guidance, students can overcome academic challenges and achieve success in their coursework. https://theassignmentshelp.com/statistics-assignment-help
It refers to professional assistance provided to students who are struggling with statistical concepts, data analysis, or complex calculations. Whether it’s understanding probability theory, regression analysis, or hypothesis testing, expert tutors offer tailored support to help students complete their assignments accurately and on time. With help with Statistics assignment, students can gain a better grasp of difficult concepts, improve their grades, and enhance their problem-solving skills. This support is especially valuable for those in fields like economics, engineering, or social sciences, where statistical knowledge is crucial. With expert guidance, students can overcome academic challenges and achieve success in their coursework. https://theassignmentshelp.com/statistics-assignment-help
Hello Osmocom community,
(Cc'ing Eric per instructions from Harald)
I am looking to acquire an SDR device for the purpose of running
osmo-bts-trx. My initial goal is to get to the bottom of some
mysteries observed in OS#6579; because it is CSD, getting a
non-virtual test setup requires an SDR-based BTS rather than the
otherwise wonderful sysmoBTS. And of course there will likely be
other fixes and improvements that can be made in osmo-bts-trx. :)
Harald recommended that I get a BladeRF 2.0 xA4 for this purpose,
plus a Leo Bodnar GPSDO. However, before I commit to buying that hw
with an aggregate cost of around $800, I wanted to get some community
input to make sure it is the right choice for the job at hand.
(There is also the possibility that Sysmocom will sponsor this hw for
me, which is wonderful - but still, I don't want to waste money even
if it's someone else's!)
Harald told me that Eric has worked on BladeRF, and instructed me to
ask both Eric and the wider community. My basic question is: how
stable and reliable is this BladeRF 2.0 in the BTS application? I
presume I will need to run osmo-trx-bladerf, but I find it alarming
that there is absolutely no documentation for this variant: the wiki
and the user manual cover osmo-trx-uhd and osmo-trx-lms, but not one
mention of BladeRF.
It is my understanding that BladeRF always runs on 38.4 MHz clock; if
the external clock frequency is some other, the PLL inside BladeRF
will discipline the local 38.4 MHz VCXO to "follow" the external
reference, but the SDR will still run at 38.4 MHz. Thus I see no way
to avoid fractional resampling, i.e., configuring the external GPSDO
to put out 26 MHz or 52 MHz won't do anything to eliminate that
fractional resampling need. Hence the question: does this fractional
resampling constitute a real problem, or is it a sufficiently minor
defect such that one can live with it in a lab environment? Will
there be any gotchas to be aware of, such as MS struggling to connect
to the test network?
Finally, how does this BladeRF compare to various LimeSDR options? It
seems like LimeSDR has always been the popular choice in the "cheap"
department, whereas for BladeRF I see not one mention anywhere as I
already noted. How do these two options compare? I recall hearing
that while LimeSDR was once very popular, people were also having
problems with it. Is BladeRF now better in terms of stability, or not
really? And if BladeRF really is a better choice than LimeSDR for the
purpose of running an SDR BTS on something cheaper than Ettus hw, then
how did we get into the peculiar situation of having documentation
that covers LimeSDR but not BladeRF?
Please help this SDR-ignorant gal figure out which hardware I should
buy. Whether I cover the cost on my own or take up Harald's offer of
cost reimbursement, either way I need to be sure I buy the right thing...
Oh, one more detail: whichever USB-interfaced SDR I get, I plan on
using a Raspberry Pi 5 to drive it, running stock Raspbian. Does
anyone have any experience with using RPi devices to drive SDRs for
use as BTS? Is RPi5 powerful enough to run all of the computationally
demanding parts, including that fractional resampling? Is stock
Raspbian good enough in terms of sw dependencies?
TIA,
Mychaela
Hello fellow Osmocomers,
I just recently came across and watched Harald's ODC 2018 presentation
about Ericsson RBS 6000. The part that intrigued me: Harald said in
that year that this hardware was available quite inexpensively and
plentifully; he said that a DUG10+RUG pair could be had for around
300 EUR in that year.
My question to the community: what is the current situation 6 y later?
Is there still any above-zero supply of either DUG10+RUG or DUG20+RUS
surplus hardware? If a nonzero supply does exist, what is the typical
price these days?
In that 2018 presentation Harald also mentioned that the successor to
DUG20 was DUS31/DUS41, and that those DUS units (which support GSM,
WCDMA and LTE all in one box) have integrated SIU02 equivalent instead
of native E1 interfaces. Hence question: has anyone in Osmocom cracked
the E1-over-IP protocol spoken by SIU02 and its later incarnations,
allowing Osmocom CNI to drive the GSM part of DUS31 etc, or is such
operation beyond our current community capabilities?
There are rumors going around that T-Mobile USA may be shutting down
some Ericsson 2G equipment (though I still never got any clear answers
as to what equipment it might be, if any), hence I am trying to brush
up on my knowledge of this platform.
M~
Hello, I tried using the osmocom stack with the usrp1 and I
encountered this error :
DMAIN NOTICE Starting the transceiver (Transceiver.cpp:287)
DDEV NOTICE Setting TX gain to 0 dB. (USRPDevice.cpp:265)
DDEV NOTICE Setting RX gain to 20 dB. (USRPDevice.cpp:292)
DDEV NOTICE Setting TX gain to 0 dB. (USRPDevice.cpp:265)
DDEV NOTICE Setting TX gain to 0 dB. (USRPDevice.cpp:265)
DDEV NOTICE Setting TX gain to 0 dB. (USRPDevice.cpp:265)
DMAIN NOTICE Stopping the transceiver (Transceiver.cpp:345)
after that the osmo-trx-usrp1 seems to crash.
I know it is not supported anymore but any possible fix would be appreciated.
here is my system and log files together with a pcap :
System : Debian 12 amd64
using osmocom-nightly repo (the stable repo still gives the same error)
I've raised this some years ago, then had gotten the response that our .ttcn
files should grow to any size, and we should fix the tooling instead or buy a
faster computer.
But I'm still having the annoyance when working with our ttcn that even
changing a tiny constant will trigger a longish recompilation. It looks like it
is dividing a .ttcn into parts, and keeps recompiling *all* of the parts.
(not always all of the parts, but usually it is clumsy about compiling more
than would be logically required from my POV.)
It looks like this:
+ make -j 5
Creating dependency file for HNBGW_Tests_part_6.cc
Creating dependency file for HNBGW_Tests_part_5.cc
Creating dependency file for HNBGW_Tests_part_4.cc
Creating dependency file for HNBGW_Tests_part_3.cc
Creating dependency file for HNBGW_Tests_part_2.cc
Creating dependency file for HNBGW_Tests_part_1.cc
Creating dependency file for HNBGW_Tests.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests.o HNBGW_Tests.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_1.o HNBGW_Tests_part_1.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_2.o HNBGW_Tests_part_2.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_3.o HNBGW_Tests_part_3.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_4.o HNBGW_Tests_part_4.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_5.o HNBGW_Tests_part_5.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -c -DLINUX -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL -I/usr/include/titan -fPIC -o HNBGW_Tests_part_6.o HNBGW_Tests_part_6.cc
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests.so HNBGW_Tests.o
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_3.so HNBGW_Tests_part_3.o
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_4.so HNBGW_Tests_part_4.o
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_2.so HNBGW_Tests_part_2.o
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_1.so HNBGW_Tests_part_1.o
HNBGW_Tests_part_5.cc: In function ‘OCTETSTRING HNBGW__Tests::f__gen__one__compl__l3(const Compl3Type&, const MobileL3__CommonIE__Types::MobileIdentityLV_template&, const INTEGER&)’:
HNBGW_Tests_part_5.cc:2130:1: warning: control reaches end of non-void function [-Wreturn-type]
2130 | }
| ^
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_5.so HNBGW_Tests_part_5.o
env CCACHE_SLOPPINESS=time_macros ccache g++ -shared -o HNBGW_Tests_part_6.so HNBGW_Tests_part_6.o
I want a fast dev cycle, and the ttcn dev cycle is slow: after a tiny edit,
the CPU spools up and the fan goes for a whole while, and I get bored and
irritated. When I'm on a train ttcn compilation drains the battery...
My local workaround was to create a second file, like BSC_Tests_2.ttcn, with
only my new test in it. Then compilation cycles are rapid.
But that requires modifying all sorts of s/private/friend and even only moving
the code is another annoyance. If I want to apply CR, I won't move it back and
forth, so usually I end up with two copies and get confused.
So my local workaround isn't working out very well.
Why am I writing this here? Because I would like to request that we start
subdividing our ttcn into smaller compilation units, not as my local workaround
but permanently in our upstream.
Please?
~N
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> https://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Siemensstr. 26a
* 10551 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte
Hello everyone,
I am experiencing problems when trying to run osmotrx with a b205mini and I connect another USB device to a different port on the machine. When I do this, osmotrx crashes instantly. Also, when I have the other device already plugged in when I start osmotrx, it takes ~20 seconds to crash.
Sometimes it just crashes without giving a reason, like here:
DLGLOBAL NOTICE Setting SCHED_RR priority 18 (cpu_sched_vty.c:471)
DLGLOBAL NOTICE Setting SCHED_RR priority 18 (cpu_sched_vty.c:471)
DLGLOBAL NOTICE Available via telnet 127.0.0.1 4237 (telnet_interface.c:88)
DLCTRL NOTICE CTRL at 127.0.0.1 4236 (control_if.c:1024) [INFO] [UHD] linux; GNU C++ version 11.2.0; Boost_107400; UHD_4.1.0.5-3
DMAIN NOTICE -- Transceiver active with 1 channel(s) (osmo-trx.cpp:621)
DLSTATS NOTICE Stats timer expire_count=7: We missed 6 timers (stats.c:169)
DLGLOBAL NOTICE Stats timer expire_count=31: We missed 30 timers (rate_ctr.c:350)
DTRXCTRL NOTICE Changing TSC from 0 to 7 (Transceiver.cpp:1032)
DTRXCTRL NOTICE [chan=0] switching to TRXD version 1 (Transceiver.cpp:1059)
DMAIN NOTICE Starting the transceiver (Transceiver.cpp:287)
LLDTRXCLK NOTICE Sending CLOCK indications (Transceiver.cpp:1198)
UDDEV ERROR No packet received, implementation timed-out (UHDDevice.cpp:782)
DDEV FATAL UHD: Receive timed out (UHDDevice.cpp:786)
DMAIN FATAL Receive error 0 (radioInterface.cpp:340)
DTRXDUL FATAL Something went wrong in thread RxLower, requesting stop (Transceiver.cpp:1359)
DMAIN NOTICE Shutting down transceiver... (osmo-trx.cpp:588)
DMAIN NOTICE Stopping the transceiver (Transceiver.cpp:345) terminate called without an active exception Aborted
And sometimes it reports an USB error and shows the talloc report:
DMAIN NOTICE -- Transceiver active with 1 channel(s) (osmo-trx.cpp:621)
DLSTATS NOTICE Stats timer expire_count=6: We missed 5 timers (stats.c:169)
DLGLOBAL NOTICE Stats timer expire_count=26: We missed 25 timers (rate_ctr.c:350)
DTRXCTRL NOTICE Changing TSC from 0 to 7 (Transceiver.cpp:1032)
DTRXCTRL NOTICE [chan=0] switching to TRXD version 1 (Transceiver.cpp:1059)
DMAIN NOTICE Starting the transceiver (Transceiver.cpp:287)
DTRXCLK NOTICE Sending CLOCK indications (Transceiver.cpp:1198)
LLUterminate called after throwing an instance of 'uhd::io_error'
what(): EnvironmentError: IOError: usb rx6 transfer status: LIBUSB_TRANSFER_OVERFLOW
signal 6 received
talloc report on 'OsmoTRX' (total 8531 bytes in 29 blocks)
rate_ctr.c:233 contains 1160 bytes in 1 blocks (ref 0) 0x559c72388720
trx_rate_ctr.cpp:343 contains 8 bytes in 1 blocks (ref 0) 0x559c723886b0
trx_rate_ctr.cpp:342 contains 40 bytes in 1 blocks (ref 0) 0x559c72389540
trx_rate_ctr.cpp:341 contains 32 bytes in 1 blocks (ref 0) 0x559c723895d0
telnet_connection contains 1 bytes in 1 blocks (ref 0) 0x559c723893d0
struct sched_vty_opts contains 72 bytes in 1 blocks (ref 0) 0x559c723489f0
logging contains 6197 bytes in 13 blocks (ref 0) 0x559c722c5d10
struct trx_ctx contains 1021 bytes in 8 blocks (ref 0) 0x559c722a0e80
msgb contains 0 bytes in 1 blocks (ref 0) 0x559c722c3ac0
full talloc report on 'OsmoTRX' (total 8531 bytes in 29 blocks)
rate_ctr.c:233 contains 1160 bytes in 1 blocks (ref 0) 0x559c72388720
trx_rate_ctr.cpp:343 contains 8 bytes in 1 blocks (ref 0) 0x559c723886b0
trx_rate_ctr.cpp:342 contains 40 bytes in 1 blocks (ref 0) 0x559c72389540
trx_rate_ctr.cpp:341 contains 32 bytes in 1 blocks (ref 0) 0x559c723895d0
telnet_connection contains 1 bytes in 1 blocks (ref 0) 0x559c723893d0
struct sched_vty_opts contains 72 bytes in 1 blocks (ref 0) 0x559c723489f0
logging contains 6197 bytes in 13 blocks (ref 0) 0x559c722c5d10
vty_logp_doc_str contains 1377 bytes in 1 blocks (ref 0) 0x559c7231c040
vty_logp_cmd_str contains 260 bytes in 1 blocks (ref 0) 0x559c7231ba00
vty_log_level_doc_str contains 1170 bytes in 1 blocks (ref 0) 0x559c722ff430
vty_log_level_cmd_str contains 236 bytes in 1 blocks (ref 0) 0x559c722ff2d0
vty_log_level_doc_str contains 1305 bytes in 1 blocks (ref 0) 0x559c722fc610
vty_log_level_cmd_str contains 257 bytes in 1 blocks (ref 0) 0x559c722fc4a0
struct log_target contains 330 bytes in 3 blocks (ref 0) 0x559c7220c550
struct osmo_wqueue contains 96 bytes in 1 blocks (ref 0) 0x7ff689ff4090
struct log_category contains 74 bytes in 1 blocks (ref 0) 0x559c722c6290
struct log_info contains 1261 bytes in 3 blocks (ref 0) 0x559c722ac370
uint8_t contains 37 bytes in 1 blocks (ref 0) 0x559c722c6350
struct log_info_cat contains 1184 bytes in 1 blocks (ref 0) 0x559c722c5d80
struct trx_ctx contains 1021 bytes in 8 blocks (ref 0) 0x559c722a0e80
127.0.0.1 contains 10 bytes in 1 blocks (ref 0) 0x559c722c5c20
127.0.0.1 contains 10 bytes in 1 blocks (ref 0) 0x559c722c5ba0
struct cmd_element contains 122 bytes in 2 blocks (ref 0) 0x559c72369030
logging level lms (debug|info|notice|error|fatal) contains 50 bytes in 1 blocks (ref 0) 0x559c7236c1a0
utils.c:386 contains 405 bytes in 1 blocks (ref 0) 0x559c7225e5b0
utils.c:386 contains 65 bytes in 1 blocks (ref 0) 0x559c723524f0
contains 1 bytes in 1 blocks (ref 0)
msgb contains 0 bytes in 1 blocks (ref 0)
On the BTS side I see several messages of missed timers, but this is something I see also when I don't have the USB plugged in:
<0006> scheduler_trx.c:489 GSM clock started, waiting for clock indications
<0006> scheduler_trx.c:578 GSM clock skew: old fn=0, new fn=2555007
<0006> scheduler_trx.c:428 FN timer expire_count=4: We missed 3 timers
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:428 FN timer expire_count=6: We missed 5 timers
<0006> scheduler_trx.c:593 We were 1 FN faster than TRX, compensating
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:593 We were 1 FN faster than TRX, compensating
<0006> scheduler_trx.c:606 We were 2 FN slower than TRX, compensated
<0006> scheduler_trx.c:428 FN timer expire_count=7: We missed 6 timers
<0006> scheduler_trx.c:593 We were 1 FN faster than TRX, compensating
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:593 We were 1 FN faster than TRX, compensating
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:428 FN timer expire_count=7: We missed 6 timers
<0006> scheduler_trx.c:593 We were 1 FN faster than TRX, compensating
<0006> scheduler_trx.c:606 We were 1 FN slower than TRX, compensated
<0006> scheduler_trx.c:428 FN timer expire_count=7: We missed 6 timers
<0006> scheduler_trx.c:435 No more clock from transceiver
Does anyone know if this is a software or hardware problem? I am thinking maybe it is related to the power supply of the USB port, but I have no idea. I really need to have both devices connected at the same time.
Any help or suggestion is appreciated,
Jonathan