Open Source Mobile Communications: Issueshttps://osmocom.org/https://osmocom.org/favicon.ico?16647414092021-08-17T09:06:19ZOpen Source Mobile Communications
Redmine OsmoMGW - Feature #5214 (In Progress): osmo-mgw multithreadinghttps://osmocom.org/issues/52142021-08-17T09:06:19ZHoernchen
<p>The mgw needs to scale, so it needs to be reworked, and since syscalls are getting more expensive every year due to kernel mitigations handling the virtual trunk rtp sockets sounds like a job for io_uring.</p> OsmoTRX - Bug #5178 (New): LimeNET Micro clock errorhttps://osmocom.org/issues/51782021-06-12T19:25:29ZAnelito
<p>Running the example setup listed below fails on a LimeNET Micro v2.1 because of internal clock error.<br />Reference guide: [[<a class="external" href="https://lucasteske.medium.com/creating-your-own-gsm-network-with-limesdr-1935bac257f4">https://lucasteske.medium.com/creating-your-own-gsm-network-with-limesdr-1935bac257f4</a>]]</p>
<pre><code>$ sudo osmo-trx-lms<br /> % 'rt-prio 18' is deprecated, use 'policy rr 18' under 'sched' node instead<br /> Sat Jun 12 10:00:30 2021 DLGLOBAL &lt;0008&gt; telnet_interface.c:104 Available via telnet 127.0.0.1 4237<br /> Sat Jun 12 10:00:30 2021 DLCTRL &lt;000f&gt; control_if.c:887 CTRL at 127.0.0.1 4236<br /> Sat Jun 12 10:00:30 2021 DMAIN &lt;0000&gt; osmo-trx.cpp:563 Config Settings<br /> Log Level............... 0<br /> Device args............. <br /> TRX Base Port........... 5700<br /> TRX Address............. 127.0.0.1<br /> GSM BTS Address......... 127.0.0.1<br /> Channels................ 1<br /> Tx Samples-per-Symbol... 4<br /> Rx Samples-per-Symbol... 4<br /> EDGE support............ 0<br /> Extended RACH support... 0<br /> Reference............... 0<br /> Filler Burst Type....... Empty bursts<br /> Filler Burst TSC........ 0<br /> Filler Burst RACH Delay. 0<br /> Multi-Carrier........... 0<br /> LO freq. offset......... 0<br /> RSSI to dBm offset...... 0 (relative)<br /> Swap channels........... 0<br /> Tx Antennas............. 'BAND1'<br /> Rx Antennas............. 'LNAW'</code></pre>
<pre><code>Sat Jun 12 10:00:30 2021 DMAIN &lt;0000&gt; osmo-trx.cpp:481 Setting SCHED_RR priority 18. This setting is DEPRECATED, please use 'policy rr 18' under the 'sched' VTY node instead.<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:140 creating LMS device...<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:272 Opening LMS device..<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:278 Devices found: 1<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:288 Device [0]: LimeNET-Micro, media=USB 2.0, module=FT601, addr=24607:1027, serial=005839EC8507E7<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:297 Using device[0]<br /> Sat Jun 12 10:00:30 2021 DDEVDRV &lt;0006&gt; LMSDevice.cpp:187 Reference clock 30.72 MHz<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:126 Device identified as LimeNET-Micro<br /> Sat Jun 12 10:00:30 2021 DDEV &lt;0005&gt; LMSDevice.cpp:324 Init LMS device<br /> Sat Jun 12 10:00:31 2021 DDEV &lt;0005&gt; LMSDevice.cpp:332 Setting Internal clock reference<br /> Sat Jun 12 10:00:31 2021 DDEV &lt;0005&gt; LMSDevice.cpp:482 Device type LimeNET-Micro doesn't support internal reference clock<br /> Sat Jun 12 10:00:31 2021 DDEV &lt;0005&gt; LMSDevice.cpp:377 Error in LMS open, closing: <br /> Sat Jun 12 10:00:31 2021 DMAIN &lt;0000&gt; osmo-trx.cpp:597 Failed to create radio device<br /> Sat Jun 12 10:00:31 2021 DMAIN &lt;0000&gt; osmo-trx.cpp:568 Shutting down transceiver...<br /> Sat Jun 12 10:00:31 2021 DDEV &lt;0005&gt; LMSDevice.cpp:158 Closing LMS device</code></pre> OsmoMSC - Bug #5057 (New): Can only send a maximum of 15 SMPP messages?https://osmocom.org/issues/50572021-03-03T02:53:02Zoxenff
<p>I am currently using SMPP to send SMS messages to a device connected to my GSM Core Network ( via LTE ).</p>
<p>For some strange reason however, once the MSC sends 15 messages, they stop and I can't send anymore.</p>
<p>I've had a pretty extensive search around the code as to why this might be happening but can't for the life of me work out why.</p>
<p>This was not an issue when using the previous OpenBSC SMPP ( 0.15.0 ).</p>
<p>Any help would be greatly appreciated !</p> osmo-qcdiag - Bug #4781 (New): get hoernchen/gsmtap branch mergedhttps://osmocom.org/issues/47812020-10-06T15:09:14Zlaforge
<p>I had no idea that this work from May had not undergone some patch submission to gerrit so far.</p>
<p>It should go without saying that we always want to make sure that our work ends up in the master branch, as far as possible.</p>
Please split up in per-feature patches and push them to gerrit. Looking at the code, that could fore xample be:
<ul>
<li>support for LTE RRC</li>
<li>getopt parsing</li>
<li>SIGINT/SIGTERM handling to close gracefully</li>
<li>UMTS RRM gsmtap support (possibly including cell_id tracking)</li>
<li>UMTS NAS gsmtap support</li>
<li>introduction of diag_instance as first parameter to handle_* functions</li>
<li>GSM RR gsmtap support</li>
<li>GSM GMM gsmtap support</li>
<li>GPRS MAC gsmtap support</li>
<li>DIAG I/O fies</li>
</ul>
<p>In the end, the customer/usage/application specific patch could consist of mainly adding some #ifdefs to disable/enable handling of specific features. That patch can stay in a branch, but all of the general improvements should be merged master.</p>
<p>Thanks!</p> osmo-ccid-firmware - Bug #4777 (New): Reader does not answer to GET DATA RATES commandhttps://osmocom.org/issues/47772020-10-03T16:11:03Zrousseau
<p>If I use the parse tool from my CCID driver to get the supported clock list I get:<br /><a class="external" href="https://ccid.apdu.fr/#CCID_compliant">https://ccid.apdu.fr/#CCID_compliant</a></p>
<pre>
bNumDataRatesSupported: 0 (will use whatever is returned)
IFD does not support GET_DATA_RATES request: LIBUSB_ERROR_TIMEOUT
</pre>
<p>Since the value of bNumDataRatesSupported is 0 an empty list as answer would be perfect instead of a timeout.</p>
<p>The CCID spec says: "A CCID with bNumDataRatesSupported equal to 00h does not have to support this request." so the reader is stil compliant to the CICD specification. But an answer would be fine.</p> osmo-ccid-firmware - Bug #4776 (New): Reader does not answer to GET CLOCK FREQUENCIES commandhttps://osmocom.org/issues/47762020-10-03T16:05:18Zrousseau
<p>If I use the parse tool from my CCID driver to get the supported clock list I get:</p>
<pre>
bNumClockSupported: 4
IFD does not support GET CLOCK FREQUENCIES request: LIBUSB_ERROR_TIMEOUT
</pre>
<p>I expected a list of 4 values.</p>
<p>This command is described in CCID v1.1 chapter '5.3.2 GET_CLOCK_FREQUENCIES' page 24.</p> OsmoTRX - Bug #4622 (New): Lots of "dumping STALE burst in TRX->SDR interface" messages in osmo-t...https://osmocom.org/issues/46222020-06-18T17:01:52Zpespin
<p>Running osmo-bts-trx with osmo-trx-uhd using a B200 with multi-arfcn enabled and 2 TRX.<br />Then osmo-bts-trx enters a "graceful exit" due to Abis signal lost (eg: kill BSC process). As part of "graceful exit", BTS will ramp down power, and finally send CMD POWEROFF and wait for RSP POWEROFF before exiting the process.<br />At this point in time, osmo-trx is still running waiting for next osmo-bts-trx to connect to it and do a "POWERON".<br />When osmo-bts-trx is restarted and connects to it after a few seconds, and does the "POWERON", then LOTS of messages like this show up in the log during a few seconds/minutes</p>
<p>Remark: I'm using my WIP branch to have all those graceful shutdown features I'm mentioning, but they will be merged soon and they are not the "cause" of the issue.</p>
<p>So clearly there's something wrong during 2nd POWERON (POWERON->POWEROFF->wait some time->POWERON). Probably some state is kept regarding reading timestamps and then upon 2nd POWERON osmo-trx somehow tries to catch up.<br /><pre>
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967881 vs 5:967952), retrans=0
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967881 vs 5:967952), retrans=0
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967881 vs 5:967952), retrans=0
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967881 vs 5:967952), retrans=0
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967883 vs 5:967952), retrans=0
20200618185527592 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967881 vs 6:967952), retrans=0
20200618185527596 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967882 vs 4:967953), retrans=0
20200618185527596 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967882 vs 4:967953), retrans=0
20200618185527596 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (6:967884 vs 4:967953), retrans=0
20200618185527596 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967882 vs 5:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967882 vs 5:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967882 vs 5:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967882 vs 5:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967884 vs 5:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967882 vs 6:967953), retrans=0
20200618185527597 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967882 vs 6:967953), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967883 vs 4:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (6:967885 vs 4:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967883 vs 5:967954), retrans=0
20200618185527601 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967885 vs 5:967954), retrans=0
20200618185527602 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967883 vs 6:967954), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967884 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (6:967886 vs 5:967955), retrans=0
20200618185527606 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967886 vs 5:967955), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967885 vs 5:967956), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967885 vs 5:967956), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967885 vs 5:967956), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967885 vs 5:967956), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967885 vs 5:967956), retrans=0
20200618185527610 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967885 vs 5:967956), retrans=0
20200618185527611 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967885 vs 5:967956), retrans=0
20200618185527611 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967885 vs 5:967956), retrans=0
20200618185527611 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (6:967887 vs 5:967956), retrans=0
20200618185527611 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967887 vs 5:967956), retrans=0
20200618185527614 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967886 vs 4:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (6:967888 vs 4:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967886 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967886 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967886 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967886 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (5:967886 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=1] dumping STALE burst in TRX->SDR interface (7:967888 vs 5:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (6:967886 vs 6:967957), retrans=0
20200618185527615 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (7:967886 vs 6:967957), retrans=0
20200618185527620 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (0:967887 vs 5:967958), retrans=0
20200618185527620 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (1:967887 vs 5:967958), retrans=0
20200618185527620 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (2:967887 vs 5:967958), retrans=0
20200618185527620 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (3:967887 vs 5:967958), retrans=0
20200618185527620 DTRXDDL <0003> Transceiver.cpp:428 [tid=139983326238464][chan=0] dumping STALE burst in TRX->SDR interface (4:967887 vs 5:967958), retrans=0
</pre></p> OsmoSGSN - Bug #4599 (New): counter group sgsn:pdpctx already exists for index X, instead using Yhttps://osmocom.org/issues/45992020-06-08T18:05:33Zlaforge
<p>When using OsmoSGSN (current nightly) in a setup with 3rd party 2G BSS and 3G RAN, we are running quite often into the following error message:</p>
<pre>
<0020> rate_ctr.c:224 counter group 'sgsn:pdpctx' already exists for index 5, instead using index 8. This is a software bug that needs fixing.
</pre>
<p>I wonder how this happens. It basically means we want to allocate a PDP context for the same NSAPI where we already have a PDP context.</p>
<p>The only path that calls sgsn_pdp_ctx_alloc() is sgsn_create_pdp_ctx() via activate_ggsn() originating from do_act_pdp_req() and the latter actually chekcs if we already have a PDP context fro the NSAPI in sgsn_pdp_ctx_by_nsapi. weird.</p>
<p><a class="user active" href="https://osmocom.org/users/1741">lynxis</a> any ideas?</p> OsmoTRX - Bug #4468 (Feedback): "RSSI offset" default of 0 is not usefulhttps://osmocom.org/issues/44682020-03-21T20:18:54Zlaforge
<p>The "rssi offset" value that can be configured via the VTY and command line arguments is initialized to a default of 0.</p>
<p>This does not work out at all, at the very least it's proven to be bogus on the popular USRP B2xx hardware in DCS 1800 (See <a class="issue tracker-1 status-5 priority-2 priority-default closed" title="Bug: bad voice quality in current osmo-bts-trx master (Closed)" href="https://osmocom.org/issues/4467">#4467</a>). I would acually be surprised if it's correct on any hardware at all.</p>
<p>In an ideal world, every GPSDR vendor would ship every unit together with a proper calibration table over frequency, so that a power level as seen in the I/Q samples can be translated into an absolute value in dBm.</p>
<p>However, the world is far from ideal, and the best we can do is try to measure this offset for the few commonly used devices we have available (B200, B210, N200, LimeSDR-mini, LimeSDR USB) and then use that value instead of '0'.</p>
<p>We may need a value per band (particularly on LMS where different bands go thorugh different RF paths), and it will of course also change depending on how the hardware receive gains/LNAs are configured. Also, it will drift over frequency within the band, and it will of course have a spread across different units of a given device type.</p>
<p>However, I guess anything is better than "0" at this point.</p> osmo-remsim - Bug #4409 (Stalled): osmo-remsim-client-st2 (or firmware?) gets stuck on PTShttps://osmocom.org/issues/44092020-02-20T21:02:21Zlaforge
<p>In the test setup at my home office, I can occasionally see osmo-remsim-client-st2 get stuck when the Modem (in this case a Quectel EC20) is performing PTS with the card.</p>
<p>In the log of osmo-remsim-client-st2 I can see:<br /><pre>
SIMtrace => PTS req: ff 10 94 7b 00 00 ^M
SIMtrace -> 01 07 00 00 00 00 15 00 04 ff 10 94 7b 00 00 ff 10 94 7b ^M
SIMtrace => PTS req: ff 10 94 7b 00 00 ^M
SIMtrace IRQ 01 04 00 00 00 00 15 00 13 00 00 00 00 00 09 04 0a 80 25 00 00 ^M
</pre></p>
<p>after which the communication doens't proceed. After a long time, the modem seems to retry without PTS and then proceeds with normal SIM card communication.</p>
<p>The SIM Card ATR in this case is 3b7d9400005555530a7486930b247c4d5468.</p> Cellular Network Infrastructure - Bug #4141 (New): No osmux specific code in place during codec n...https://osmocom.org/issues/41412019-08-05T15:57:19Zpespin
<p>Current code in OsmoBSC and OsmoMSC doesn't take into account that Osmux is to be used when codec negotiation goes one. That means that supported codec list needs to be correctly configured manually in VTY in order to avoid selecting incorrect codecs (like non-AMR). Moreover if an MS doesn't support AMR, since we don't have transcoding yet, the call cannot take place.</p>
<p>Different scenarios need to be listed here and think about what we want to do in each case.</p> Cellular Network Infrastructure - Feature #4073 (Stalled): try to get counter and vty reference i...https://osmocom.org/issues/40732019-06-21T14:55:46Zlaforge
<p>The existing approach of extracting counter and vty information at runtime has various disadvantages. We'd like to explore options to generate this information from the source code. Whether that's using static code analysis, an existing C parser of some form, clang, ... doesn't really matter.</p>
<p>The goal is to generate the same textual (asciidoc for counters, xml for VTY) format as the existing 'runtime' approach.</p> libosmo-sccp + libosmo-sigtran - Bug #4072 (New): Implement IPA PING/PONG mechanism in libosmo-si...https://osmocom.org/issues/40722019-06-21T14:51:56Zlaforge
<p>When using an IPA based transport (SCCPlite), we should use the IPA PING/PONG mechanism to check the peer is still alive. This applies both to the server (SGW) and client (AS/ASP) roles.</p> SIMtrace 2 - Bug #3815 (New): simtrace2 fails USB-IF CH9 testhttps://osmocom.org/issues/38152019-02-23T15:10:02Zlaforge
<p>When running the Chapter9 tests of the USB IF against a simtrace2 device, they fail. The test claims SET_CONFIGURATION is failing, which is quite odd.</p> Cellular Network Infrastructure - Feature #3699 (Stalled): merge Debian patcheshttps://osmocom.org/issues/36992018-11-19T13:41:54Zmsuraev
<p>There're numerous patches from Debian developers available via:<br /><a class="external" href="https://qa.debian.org/developer.php?email=Debian-mobcom-maintainers%40lists.alioth.debian.org">https://qa.debian.org/developer.php?email=Debian-mobcom-maintainers%40lists.alioth.debian.org</a><br />individual package links example:<br /><a class="external" href="https://sources.debian.org/patches/libosmo-sccp/0.10.0-2/">https://sources.debian.org/patches/libosmo-sccp/0.10.0-2/</a><br />Relevant package version could be obtained from the first link.</p>
<p>Some of those patches are Debian-specific while others are generally relevant fixes. We should go over all packaged projects and submit all relevant patches to gerrit for review.</p>
<p>Note: Debian seems to have the most recent versions packaged compared to other repositories according to repology - see for example<br /><a class="external" href="https://repology.org/metapackage/libosmocore/versions">https://repology.org/metapackage/libosmocore/versions</a></p> OsmoTRX - Bug #3342 (Stalled): osmo-trx-lms: low tx output power levelhttps://osmocom.org/issues/33422018-06-13T16:56:06Zlaforge
<p>According to <a class="external" href="https://discourse.myriadrf.org/t/limesdr-s-maximum-transmitting-power-at-different-frequencies/1649">https://discourse.myriadrf.org/t/limesdr-s-maximum-transmitting-power-at-different-frequencies/1649</a> I would expect something like 3-5dBm maximum output power at 1.8 GHz.</p>
<p>Hoewever, when running at ARFCN 871, and even when manually patching <code>LMS_SetNormalizedGain(m_lms_dev, LMS_CH_TX, chan, 1.0);</code> into the osmo-trx-lms source code, I'm not seeing more than -3.8 dB coming out of the TX1_1 port of the device. Where does that 6..8 dB difference come from?</p> OsmoBSC - Feature #3330 (New): osmo-bsc: Implement IMMEDIATE ASSIGNMENT EXTENDEDhttps://osmocom.org/issues/33302018-06-08T12:14:49Zpespin
<p>See 04.08 "9.1.19 Immediate assignment extended". It allows to send two Immediate Assignment to different MS in the same message.</p>
<p>Furthermore, according to 08.58 "5.7 IMMEDIATE ASSIGNMENT" section:</p>
<pre>
The IMMEDIATE ASSIGNMENT EXTENDED message is either sent by the BSC in the IMMEDIATE ASSIGN
COMMAND, or built by the BTS from up to two IMMEDIATE ASSIGN COMMAND messages.
</pre>
<p>It's probably more useful to implement it in osmo-bts (see <a class="issue tracker-2 status-1 priority-2 priority-default" title="Feature: osmo-bts: Implement IMMEDIATE ASSIGNMENT EXTENDED (New)" href="https://osmocom.org/issues/3329">#3329</a>), but we may still want to support it in osmo-bsc if we connect to non osmo-bts which don't craft IMMEDIATE ASSIGNMENT EXTENDED from regular IMMEDIATE ASSIGNMENT on their own. I imagine for instance an scenario osmo-bsc<->nanobts.</p>
<p>We recently saw some production scenarios which high load in which the AGCH IMM Assign queue was saturated (1000 messages in the queue), so this should help maintain the queue len in lower numbers.</p> OsmoBTS - Feature #3329 (New): osmo-bts: Implement IMMEDIATE ASSIGNMENT EXTENDEDhttps://osmocom.org/issues/33292018-06-08T12:02:32Zpespin
<p>See 04.08 "9.1.19 Immediate assignment extended". It allows to send two Immediate Assignment to different MS in the same message.</p>
<p>Furthermore, according to 08.58 "5.7 IMMEDIATE ASSIGNMENT" section:</p>
<pre>
The IMMEDIATE ASSIGNMENT EXTENDED message is either sent by the BSC in the IMMEDIATE ASSIGN
COMMAND, or built by the BTS from up to two IMMEDIATE ASSIGN COMMAND messages.
</pre>
<p>So we don't need to support IMMEDIATE ASSIGNMENT EXTENDED in osmo-bsc, we can already craft them in osmo-bts (bts.c) in a way similar to what we already do with IMMEDIATE ASSIGNMENT REJECT commands (we couple up to 4 messages in one in there).</p>
<p>We recently saw some production scenarios which high load in which the AGCH IMM Assign queue was saturated (1000 messages in the queue), so this should help maintain the queue len in lower numbers.</p> Cellular Network Infrastructure - Feature #3229 (New): build-system: jenkins.sh: Improve debian ...https://osmocom.org/issues/32292018-05-03T12:40:28Zpespin
<p>The idea is to add extra tests/checks to avoid breaking debian package building during nightly builds in OBS. Instead, let's catch it during gerrit patch submission time and don't allow merging it until it's fixed.</p>
<p>We should investigate several tools, like pbuilder, dpkg-build, etc. I recall lynxis also told me something about some kind of lint tool available for this purposes.</p> Cellular Network Infrastructure - Feature #3142 (New): Further simplification of "NITB like" setupshttps://osmocom.org/issues/31422018-04-05T20:09:38Zlaforge
<p>Running the post-NITB network is quite a lot more complex than the old code.</p>
<p>There are some ideas on how to make it simpler to run small, self-contained networks while removing some complexity</p>
<ul>
<li>I was also wondering if we should spend time on "MGW-less operation". In theory, you only need OsmoMGW if you have no IP-level routing between your Abis / A / core network [like any decent network operator for security reasons]. But then, if you run everything on one machine, and don't need/want transcoding, and have transparent routing between all components, we could do without the MGW.</li>
</ul>
<ul>
<li>stp-less operation should also be possible (but make configuration actually more complicated), as both the "ASP" (client) and "SG" (server) role are inside libosmo-sigtran, and hence the server could run inside the MSC without the need of an external stp (osmo-stp is just a thin wrapper with vty around libosmo-sigtran)</li>
</ul>
<p>Let's keep this as a reminder and create sub-tasks as ideas materialize more</p> OsmoSGSN - Bug #2958 (Stalled): OsmoSGSN doesn't authenticate on second/further ATTACH REQUESThttps://osmocom.org/issues/29582018-02-17T17:29:12Zlaforge
<p>When a new/unknown MS performs an ATTACH REQUEST for the first time, it is authenticated.</p>
<p>However, if that same MS later performs a second ATTACH REQUEST, even with new P-TMSI/TLLI, it is not authenticated and we simply send an ATTACH ACCEPT. This is a security problem, as it means anyone can impersonate other known-existing IMSIs.</p> OsmoMSC - Bug #2933 (New): change of trans->bearer_cap (e.g. via MNCC) will not trigger BSSMAP AS...https://osmocom.org/issues/29332018-02-12T11:36:39Zlaforge
<p>Whenever the trans->bearer_cap change (e.g.due to a CC MODIFY or MNCC MODIFY), the MSC must chck if the new bearer capabilities are different from the old bearer capabilities, and subsequently trigger a BSSMAP ASSIGNMENT towards the BSS.</p>
<p>Currently, the handling of bearer_cap will in only work if the related CC/MNCC message with <br />besrer_cap IE happens before the pint in time at which the MSC performs the BSSMAP ASSIGNMENT<br />procedure. Our logic still needs to change in a way that the CC/MNCC <br />code in gsm_04_08.c detects if trans->bearer_cap != new bearer_cap, and<br />in that case triggers a new follow-up BSSMAP ASSIGNMENT.</p> OsmoMSC - Bug #2928 (New): OsmoMSC doesn't do BSSMAP ASSIGNMENT if no MNCC_RTP_CREATE is receivedhttps://osmocom.org/issues/29282018-02-11T10:35:23Zlaforge
When operating OsmoMSC with external MNCC handler, it seems that it "forgets" to
<ul>
<li>perform BSSMAP ASSIGNMENT procedure</li>
<li>perform CRCX/MDCX on MGW endpoint for RAN side<br />if the eternal MNCC handler is not sending the MNCC_RTP_CREATE.</li>
</ul>
<p>This is wrong and indicates the state machines have some trouble.</p>
<p>The voice call should be established towards MS/RAN/MGW as usual, no matter if and when an external MNCC handler decides to actually connect to the MSC-located MGW. The MNCC_RTP_{CREATE,MODIFY} should only be translated to CRCX/MDCX of the mncc-side connection to OsmoMGW, and not anything on the RAN side.</p> OsmoMSC - Feature #1974 (New): VLR: high water mark on subscriber storagehttps://osmocom.org/issues/19742017-03-08T14:54:50Zneelsnhofmeyr@sysmocom.de
<p>In libvlr, we (will) keep every subscriber in RAM as long as it still has valid auth tuples (3GPP TS 33.102 Annex C.2.3).<br />Most subscribers will still have auth tuples left upon detaching, so we would store <strong>all</strong> subscribers.</p>
<p>Implement a configurable way of limiting the number of subscribers kept in RAM, e.g. a fixed max size.<br />If this is reached, discard those subscribers that have been inactive for the longest time first.</p> OsmoMSC - Feature #1973 (New): VLR: efficient subscriber lookuphttps://osmocom.org/issues/19732017-03-08T14:52:10Zneelsnhofmeyr@sysmocom.de
<p>In libvlr, we (will) keep every subscriber in RAM as long as it still has valid auth tuples (3GPP TS 33.102 Annex C.2.3).<br />Most subscribers will still have auth tuples left upon detaching, so we would store <strong>all</strong> subscribers.<br />Storing numerous subscribers in a linear list is inefficient, implement a hash table for faster access times.</p> OsmoBSC - Feature #1946 (New): Add checks to the BSC VTY to prevent configurations known to not workhttps://osmocom.org/issues/19462017-02-08T23:41:53Zneelsnhofmeyr@sysmocom.de
<p>e.g. running TCH/F_TCH/H_PDCH timeslots on a nanobts doesn't work,<br />similarly, the BS11 should reject any codec except HRv1, FR and EFR (i.e. no AMR),<br />and so on.</p> osmo-qcdiag - Bug #1906 (Feedback): wireshark: fix decoding of (E)GPRS RLC/MAC frameshttps://osmocom.org/issues/19062017-01-11T12:20:09Zlaforge
<p>The RLC/MAC frames contained in DIAG are currently not correctly displayed, I assume it is some kind of bit alignment/padding issue.</p>
<p>dissect_qcdiag_log_gmac() in <a class="external" href="http://git.osmocom.org/wireshark/tree/epan/dissectors/packet-qcdiag_log.c?h=laforge/qcdiag">http://git.osmocom.org/wireshark/tree/epan/dissectors/packet-qcdiag_log.c?h=laforge/qcdiag</a> maybe needs the same kind of bit-fucking like implemented in <a class="external" href="http://git.osmocom.org/wireshark/commit/?h=laforge/qcdiag&id=270c4e66fee78aa1a79f6b3ff4dc445a2521e6dd">http://git.osmocom.org/wireshark/commit/?h=laforge/qcdiag&id=270c4e66fee78aa1a79f6b3ff4dc445a2521e6dd</a> and the related code should thus be added to the rlc/mac dissector (registering a new dissector for differently aligned frames?) rather than to packet-gsmtap.c, packet-qcdiag_log.c and packet-gsm_abis_pgsl.c</p> OsmoBTS - Feature #1755 (New): osmo-bts-sysmo L1: unify hLayer3 handlinghttps://osmocom.org/issues/17552016-06-16T11:27:40Zneelsnhofmeyr@sysmocom.de
<p>In <a class="external" href="https://gerrit.osmocom.org/264">https://gerrit.osmocom.org/264</a> , some hLayer3 use was added.<br />However, some of the messages were already using hLayer3.</p>
<p>After the patch, the prim_init() sets a hLayer3 which is overwritten<br />shortly after that, so the other functionality is not affected by this patch.</p>
<p>Some functions to generate hLayer3 for a timeslot and similar already existed,<br />and also to retrieve a timeslot and similar back from a hLayer3 handle.</p>
<p>And also, the other hLayer3 functions use a "magic" byte<br />(like the most significant byte always set to 0xbb).</p>
<p>So in fact, we should have rejected this patch, and we should follow up with<br />a merger of my hLayer3 to the existing hLayer3 infrastructure.<br />The priority is low though, since no harm is done.</p>
<p>See:</p>
<ul>
<li>osmo-bts/src/osmo-bts-sysmo/oml.c
<ul>
<li>mph_send_activate_req()</li>
<li>mph_send_config_logchpar()</li>
<li>mph_send_config_ciphering()</li>
<li>mph_send_deactivate_req()</li>
</ul></li>
</ul> Cellular Network Infrastructure - Bug #1612 (New): more configuration consistency checkinghttps://osmocom.org/issues/16122016-02-23T16:22:14Zlaforge
<p>Right now it is possible to configure various things that wouldn't work, like an ARFCN that is outside the band of the BTS, or even the TRX.</p>
<p>More consistency checks would make sense, together with reasonable error messages.</p> OsmoBTS - Feature #1576 (New): consider using hLayer2 as a pointer storagehttps://osmocom.org/issues/15762016-02-23T15:38:30Zlaforge
<p>This would speed up the l1if_hLayer_to_lchan lookup. Not sure if it's worth the extra risk.</p>