Open Source Mobile Communications: Issueshttps://osmocom.org/https://osmocom.org/favicon.ico?16647414092024-01-22T21:21:06ZOpen Source Mobile Communications
Redmine OsmocomBB - Bug #6337 (New): bad fr audio with gapk/ms-sdrhttps://osmocom.org/issues/63372024-01-22T21:21:06ZHoernchen
<p>The audio sounds <em>kinda</em> choppy, but not really - one half are apparently decoding issues, the other one.. well.. hard to tell, bad timing doing blocking audio calls?<br />It does not appear to be cpu related.<br />Another problem is is that the (very large!) wq used by l1ctl_client_send keeps filling up, which obviously adds latency, until it overflows. At that point random messages get dropped, which is kinda bad...<br />Sometimes the audio improves after some time - I don't understand why/how.</p>
<p>This might affect phone setups, too.</p> osmo-e1d - Bug #6169 (New): Frame masking against network frame ordering, not frame numbershttps://osmocom.org/issues/61692023-09-06T08:33:34Zmanawyrm
<p>The osmo-e1d code includes functionality to save bandwidth by not transmitting timeslots, which haven't changed since the last frame.</p>
<p><a class="external" href="https://gitea.osmocom.org/Manawyrm/osmo-e1d/src/branch/master/src/octoi/e1oip.c#L263">https://gitea.osmocom.org/Manawyrm/osmo-e1d/src/branch/master/src/octoi/e1oip.c#L263</a></p>
<p>Later in development, the frame_rifo was introduced to combat packet reordering in real-world networks (like DOCSIS).<br />The code unpacking the timeslots into full E1 frames is currently unpacking against the last frame in the incoming buffer, not the last frame in the RIFO (random in, first out) buffer.<br />This means that frames will get filled with random data from other frames in the event of a re-ordering.</p>
<p>Unpacking/Unmasking should be done after the RIFO mechanism.</p> libosmo-netif - Bug #5931 (New): heap-use-after-free when osmo_stream_srv_destroy() is called ins...https://osmocom.org/issues/59312023-03-02T11:03:22Zdaniel
<p>This can happen in the ipa-stream-server example if the client disconnects unexpectedly (i.e. if there is still data the server wants to send).</p>
<pre>
<0003> stream.c:1542 message received
<0000> ipa-stream-server.c:53 received message from stream
<0003> stream.c:1864 connection closed with client
<0000> ipa-stream-server.c:61 cannot receive message
=================================================================
==2103936==ERROR: AddressSanitizer: heap-use-after-free on address 0x611000000d58 at pc 0x7f2196d84d24 bp 0x7ffe1b9f4330 sp 0x7ffe1b9f4328
READ of size 8 at 0x611000000d58 thread T0
#0 0x7f2196d84d23 in llist_empty /home/daniel/local/osmo-master/include/osmocom/core/linuxlist.h:171
#1 0x7f2196d84d23 in osmo_stream_srv_write /home/daniel/scm/osmo/libosmo-netif/src/stream.c:1563
#2 0x7f2196d859f7 in osmo_stream_srv_cb /home/daniel/scm/osmo/libosmo-netif/src/stream.c:1629
#3 0x7f219658cbfd in poll_disp_fds /home/daniel/scm/osmo/libosmocore/src/core/select.c:361
#4 0x7f219658ccfd in _osmo_select_main /home/daniel/scm/osmo/libosmocore/src/core/select.c:399
#5 0x7f219658cda6 in osmo_select_main /home/daniel/scm/osmo/libosmocore/src/core/select.c:438
#6 0x5584fc1c390c in main /home/daniel/scm/osmo/libosmo-netif/examples/ipa-stream-server.c:130
#7 0x7f2195a46189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#8 0x7f2195a46244 in __libc_start_main_impl ../csu/libc-start.c:381
#9 0x5584fc1c3240 in _start (/home/daniel/scm/osmo/libosmo-netif/examples/.libs/ipa-stream-server+0x2240)
0x611000000d58 is located 152 bytes inside of 200-byte region [0x611000000cc0,0x611000000d88)
freed by thread T0 here:
#0 0x7f2196eb76a8 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52
#1 0x7f21974fa5b1 (/lib/x86_64-linux-gnu/libtalloc.so.2+0x45b1)
#2 0x5584fc1c34c7 in read_cb /home/daniel/scm/osmo/libosmo-netif/examples/ipa-stream-server.c:62
#3 0x7f2196d78877 in osmo_stream_srv_read /home/daniel/scm/osmo/libosmo-netif/src/stream.c:1550
#4 0x7f2196d859df in osmo_stream_srv_cb /home/daniel/scm/osmo/libosmo-netif/src/stream.c:1627
#5 0x7f219658cbfd in poll_disp_fds /home/daniel/scm/osmo/libosmocore/src/core/select.c:361
#6 0x7f219658ccfd in _osmo_select_main /home/daniel/scm/osmo/libosmocore/src/core/select.c:399
#7 0x7f219658cda6 in osmo_select_main /home/daniel/scm/osmo/libosmocore/src/core/select.c:438
#8 0x5584fc1c390c in main /home/daniel/scm/osmo/libosmo-netif/examples/ipa-stream-server.c:130
#9 0x7f2195a46189 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
previously allocated by thread T0 here:
#0 0x7f2196eb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
#1 0x7f21974fbe3d (/lib/x86_64-linux-gnu/libtalloc.so.2+0x5e3d)
SUMMARY: AddressSanitizer: heap-use-after-free /home/daniel/local/osmo-master/include/osmocom/core/linuxlist.h:171 in llist_empty
</pre>
<p>osmo_stream_srv_destroy() frees the complete conn but osmo_stream_srv_cb() could still call osmo_stream_srv_write(conn) after osmo_stream_srv_read() (and by extension the read_cb()) returns.</p>
<p>We need to guard this and delay actually freeing the conn if we are currently in a callback.</p> Osmocom Libraries - Bug #5683 (New): How to install osmocom in Chinahttps://osmocom.org/issues/56832022-09-18T10:18:56Z914068469@qq.com
<p>Is it necessary to <a class="external" href="ftp://sources.redhat.com/pub/newlib">ftp://sources.redhat.com/pub/newlib</a> Download newlib-1.19.0.tar.gz</p> OsmoBSCNAT - Bug #5574 (New): OsmoBSCNAT testsuite running in jenkinshttps://osmocom.org/issues/55742022-06-01T10:38:54Zosmith
<p>As discussed earlier, OsmoBSCNAT ttcn3 tests should be running in jenkins, like for other Osmocom projects.</p> Ericsson RBS 6xxx - Bug #5571 (New): DUG can come up, but with Avail: "Power Off"https://osmocom.org/issues/55712022-05-24T01:48:54Zkeith
<p>Sometimes, after starting osmo-bsc, The BTS will transmit, we even start to get Channel requests, but this is the status: <br /><pre>
OsmoBSC# show trx
TRX 0 of BTS 0 is on ARFCN 251
RF Nominal Power: 37 dBm, reduced by 0 dB, resulting BS power: 37 dBm
Radio Carrier NM State: Oper 'NULL', Admin 'Unlocked', Avail 'Power off'
RSL State: connected
Baseband Transceiver NM State: Oper 'NULL', Admin 'Locked', Avail 'Power off'
E1 Signalling Link:
E1 Line 0, Type e1d: Timeslot 1, Mode RSL
E1 TEI 0, SAPI 0
</pre></p>
<p>and of course we get such as this:</p>
<pre>
DRSL NOTICE <0003> abis_rsl.c:2193 (bts=0) CHAN RQD[Location updating]: no resources for SDCCH 0x4, retrying with TCH_F
DRLL DEBUG <0000> lchan_select.c:299 (bts=0) lchan_select_by_type(TCH_F)
DRLL DEBUG <0000> lchan_select.c:233 (bts=0) lchan_avail_by_type(TCH_F)
DRLL DEBUG <0000> lchan_select.c:65 looking for lchan TCH/F: (bts=0,trx=0) trx not usable
DRLL DEBUG <0000> lchan_select.c:65 looking for lchan TCH/F_PDCH as TCH/F without pchan switch: (bts=0,trx=0) trx not usable
DRLL DEBUG <0000> lchan_select.c:65 looking for lchan TCH/F_PDCH as TCH/F: (bts=0,trx=0) trx not usable
DRLL DEBUG <0000> lchan_select.c:65 looking for lchan TCH/F_TCH/H_SDCCH8_PDCH as TCH/F without pchan switch: (bts=0,trx=0) trx not usable
DRLL DEBUG <0000> lchan_select.c:65 looking for lchan TCH/F_TCH/H_SDCCH8_PDCH as TCH/F: (bts=0,trx=0) trx not usable
DRLL NOTICE <0000> lchan_select.c:305 (bts=0) Failed to select TCH_F channel
</pre>
<p>Stopping and restarting osmo-bsc will sooner ( or later :-/ ) get the TRX up....</p>
<p>Attached is osmo-bsc.log of the bring-up and pcap of same.</p>
<p>I suspect there is something happening in a certain order sometimes that causes this?</p> OsmoMSC - Bug #5564 (Stalled): blocking database I/O by SMS databasehttps://osmocom.org/issues/55642022-05-15T14:18:42Zlaforge
<p>when OsmoMSC was split from OsmoNITB, we externalized the HLR database and removed the database-stored counters. This leaves the internal SMS queue / database code as the only remaining part of code which performs potentailly blocking disk I/O.</p>
<p>As seen in <a class="issue tracker-1 status-7 priority-3 priority-high3" title="Bug: OsmoMSC sometimes stalls for dozens of seconds in a production deployment (Stalled)" href="https://osmocom.org/issues/5563">#5563</a> this is a real issue.</p>
I spent half a day on reviewing the code in detail and playing with different ideas, including
<ol>
<li>ripping out the sms_queue.c / db.c code completely into an external osmo-smsc which then uses GSUP</li>
<li>just moving db.c into a separate thread; make DB operations asynchronous</li>
<li>move sms_queue + db.c into a separate thread</li>
</ol>
<a name="moving-sms_queue-DB-code-to-new-osmo-smsc-intrfaced-via-GSUP"></a>
<h2 >moving sms_queue + DB code to new osmo-smsc, intrfaced via GSUP<a href="#moving-sms_queue-DB-code-to-new-osmo-smsc-intrfaced-via-GSUP" class="wiki-anchor">¶</a></h2>
<p>osmo-msc already contains code to do SMS via GSUP, so there's no mandatory modification to osm-msc expected in this approach.</p>
the major disadvantages of this appraoch are:
<ul>
<li>SMPP code would have to move to SMSC, and it is more tied into the MSC/VLR codebase -> extra effort</li>
<li>GSUP SMS interface is at a lower level than current sms_queue intrface -> extra effort of migrating/reimplementing that stuff in SMSC</li>
</ul>
<a name="SMS-related-VTY-commands-not-an-issue-SMSC-would-have-its-own-VTY"></a>
<h3 >SMS related VTY commands (not an issue, SMSC would have its own VTY)<a href="#SMS-related-VTY-commands-not-an-issue-SMSC-would-have-its-own-VTY" class="wiki-anchor">¶</a></h3>
<p>this would cover the following API parts</p>
<ul>
<li>sms_queue_clear</li>
<li>sms_queue_set_max_failure</li>
<li>sms_queue_set_max_pending</li>
<li>sms_queue_stats</li>
<li>sms_queue_sms_is_pending</li>
<li>sms_queue_trigger</li>
<li>vty_out</li>
</ul>
<a name="incoming-signals-into-sms_queue"></a>
<h3 >incoming signals into sms_queue<a href="#incoming-signals-into-sms_queue" class="wiki-anchor">¶</a></h3>
<ul>
<li>SS_SUBSCR / S_SUBSCR_ATTACHED
<ul>
<li>FIXME: unclear how this is handled in the GSUP case?</li>
</ul>
</li>
<li>SS_SMS / S_SMS_DELIVERED
<ul>
<li>-> gsm411_gsup_mt_fwd_sm_res()</li>
</ul>
</li>
<li>SS_SMS / S_SMS_MEM_EXCEEDED
<ul>
<li>-> gsm411_gsup_mt_fwd_sm_err()</li>
</ul>
</li>
<li>SS_SMS / S_SMS_UNKNOWN_ERROR
<ul>
<li>-> gsm411_gsup_mt_fwd_sm_err()</li>
</ul>
</li>
<li>SS_SMS / S_SMS_SUBMITTED
<ul>
<li>-> gsm411_gsup_mo_fwd_sm_req()</li>
</ul>
</li>
<li>SS_SMS / S_SMS_SMMA
<ul>
<li>-> gsm411_gsup_mo_ready_for_sm_req()</li>
</ul></li>
</ul>
<a name="DB-not-an-issue-DB-code-would-then-run-in-SMSC"></a>
<h3 >DB (not an issue, DB code would then run in SMSC)<a href="#DB-not-an-issue-DB-code-would-then-run-in-SMSC" class="wiki-anchor">¶</a></h3>
<ul>
<li>db_sms_delete_oldest_expired_message</li>
<li>db_sms_delete_sent_message_by_id</li>
<li>db_sms_get</li>
<li>db_sms_get_next_unsent_rr_msisdn</li>
<li>db_sms_get_unsent_for_subscr</li>
<li>db_sms_inc_deliver_attempts</li>
</ul>
<a name="SMS-transmission"></a>
<h3 >SMS transmission<a href="#SMS-transmission" class="wiki-anchor">¶</a></h3>
<ul>
<li>gsm411_send_sms calls by sms_queue
<ul>
<li>would have to be mapped to OSMO_GSUP_MSGT_MT_FORWARD_SM_REQUEST</li>
</ul>
</li>
<li>sms_free
<ul>
<li>FIXME: what about vsub pointer/references?</li>
</ul>
</li>
<li>vlr_subscr_msisdn_or_name
<ul>
<li>just for logging, can be avoided</li>
</ul></li>
</ul>
<a name="making-just-the-DB-code-async-run-in-separate-thread"></a>
<h2 > making just the DB code async / run in separate thread<a href="#making-just-the-DB-code-async-run-in-separate-thread" class="wiki-anchor">¶</a></h2>
Is not easy as all of the call sites are assuming synchronous return/results<br />db_sms_get
<ul>
<li>sms_resend_pending
<ul>
<li>resend_pending timer
<ul>
<li>sms_queue_start
<ul>
<li>=> can be executed from separate thread</li>
</ul></li>
</ul></li>
</ul></li>
</ul>
db_sms_get_next_unsent_rr_msisdn
<ul>
<li>smsq_take_next_sms
<ul>
<li>sms_submit_pending
<ul>
<li>sms_send_next
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED
<ul>
<li>=> happens from the send_next it_Q completion handler</li>
</ul>
</li>
</ul>
</li>
<li>push_queue_timer
<ul>
<li>sms_queue_start
<ul>
<li>=> can be executed from separate thread</li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
</ul>
db_sms_get_unsent_for_subscr
<ul>
<li>sms_send_next
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED
<ul>
<li>=> request to it_Q; completion then might add SMS to pending + gsm411_send_sms</li>
</ul>
</li>
</ul>
</li>
<li>sub_ready_for_sm
<ul>
<li>sms_subscr_cb / S_SUBSCR_ATTACHED
<ul>
<li>=> request to it_Q; completion then might add SMS to pending + gsm411_send_sms</li>
</ul></li>
</ul></li>
</ul>
db_sms_delete_sent_message_by_id
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED
<ul>
<li>=> no return value, no success check: async it_Q</li>
</ul></li>
</ul>
db_sms_inc_deliver_attempts
<ul>
<li>sms_sms_cb / S_SMS_UNKNOWN_ERROR
<ul>
<li>=> no return value, no success check: async it_Q</li>
</ul></li>
</ul>
db_sms_delete_oldest_expired_message
<ul>
<li>sms_sms_cb / any signal
<ul>
<li>=> no return value, no success check: async it_Q</li>
</ul></li>
</ul>
<a name="moving-sms_queue-DB-code-to-separate-thread"></a>
<h2 >moving sms_queue + DB code to separate thread<a href="#moving-sms_queue-DB-code-to-separate-thread" class="wiki-anchor">¶</a></h2>
<a name="access-to-pending_sms-linked-list"></a>
<h3 >access to pending_sms linked list<a href="#access-to-pending_sms-linked-list" class="wiki-anchor">¶</a></h3>
<p>There are quite a number of accesses to the pending_sms linked list. Given most ar read, and only some are write, we might use a rwlock?</p>
<ul>
<li>sms_find_pending [R]
<ul>
<li>sms_sms_cb</li>
<li>sms_queue_sms_is_pending</li>
</ul></li>
</ul>
<ul>
<li>sms_queue_sms_is_pending [R]
<ul>
<li>sms_submit_pending
<ul>
<li>timer</li>
</ul>
</li>
<li>vty</li>
</ul></li>
</ul>
<ul>
<li>sms_subscriber_find_pending [R]
<ul>
<li>sub_ready_for_sm
<ul>
<li>SS_SUBSCR / S_SUBSCR_ATTACHED</li>
</ul>
</li>
<li>sms_subscriber_is_pending
<ul>
<li>sms_submit_pending
<ul>
<li>timer</li>
</ul>
</li>
<li>sms_send_next
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED</li>
</ul></li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>sms_pending_from [R]
<ul>
<li>sms_submit_pending
<ul>
<li>timer</li>
</ul>
</li>
<li>sms_send_next
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>sms_pending_free [W]
<ul>
<li>sms_pending_failed
<ul>
<li>sms_sms_cb / S_SMS_UNKNOWN_ERROR</li>
</ul>
</li>
<li>sms_resend_pending
<ul>
<li>sms_sms_cb / S_SMS_DELIVERED</li>
<li>sms_sms_cb / S_SMS_MEM_EXCEEDED</li>
</ul>
</li>
<li>sms_queue_clear
<ul>
<li>vty</li>
</ul></li>
</ul></li>
</ul>
<ul>
<li>sms_resend_pending [R]
<ul>
<li>timer</li>
</ul></li>
</ul>
<ul>
<li>sms_queue_stats [R]
<ul>
<li>vty</li>
</ul></li>
</ul>
<ul>
<li>sms_queue_clear [W]
<ul>
<li>vty</li>
</ul></li>
</ul>
<a name="Conclusion"></a>
<h2 >Conclusion<a href="#Conclusion" class="wiki-anchor">¶</a></h2>
I think the following approach is best:
<ul>
<li>have a separate "SMS" thread</li>
<li>all database access happens <strong>from that thread only</strong></li>
<li>inter-thread message queues (libosmocore it_q) between main thread and SMS thread</li>
<li>sms_queue timers (push_queue_timer, resend_pending_timer) run in that thread</li>
<li>other input (mainly signals today) are serialized via it_q in main -> SMS direction</li>
<li>other output (mainly gsm411_send_sms) are serialized via it_q in SMS -> main direction</li>
</ul>
<a name="Serialize-SS_SMS-signals"></a>
<h3 >Serialize SS_SMS signals<a href="#Serialize-SS_SMS-signals" class="wiki-anchor">¶</a></h3>
<ul>
<li>we really only need to serialize paging_result and sms->id</li>
<li>submit them into it_q to SMS thread</li>
</ul>
<a name="serialize-SS_SUBSCR-signal"></a>
<h3 >serialize SS_SUBSCR signal<a href="#serialize-SS_SUBSCR-signal" class="wiki-anchor">¶</a></h3>
<ul>
<li>sms_subscriber_find_pending() can be done in main thread before serialization</li>
<li>check for vsub->lu_complete and zero MSISDN before serialization</li>
<li>we really only need to serialize the MSISDN</li>
<li>db_sms_get_unsent_for_subscr() then happens from SMS thread</li>
</ul>
<a name="move-push_queue_timer-resend_pending_timer-to-SMS-thread"></a>
<h3 >move push_queue_timer + resend_pending_timer to SMS thread<a href="#move-push_queue_timer-resend_pending_timer-to-SMS-thread" class="wiki-anchor">¶</a></h3>
<a name="serialize-db_sms_store-MO-SMS-SMPP"></a>
<h3 >serialize db_sms_store() (MO-SMS, SMPP)<a href="#serialize-db_sms_store-MO-SMS-SMPP" class="wiki-anchor">¶</a></h3>
<ul>
<li>failure to store in database would only be known asynchronously!</li>
<li>we can probably just ignore that.</li>
</ul>
<a name="serialize-db_sms_mark_delivered"></a>
<h3 >serialize db_sms_mark_delivered()<a href="#serialize-db_sms_mark_delivered" class="wiki-anchor">¶</a></h3>
<ul>
<li>we don't care about success right now anyway, so async is no problem</li>
</ul>
<a name="VTY"></a>
<h3 >VTY<a href="#VTY" class="wiki-anchor">¶</a></h3>
<ul>
<li>remove 'sms send pending' or implement different command via it_Q</li>
<li>remove 'sms delete expired' or implement different command via it_Q</li>
<li>serialize 'subscriber ... sms ...' via it_Q</li>
</ul> OsmoMSC - Bug #5559 (Stalled): OsmoMSC at 100% CPU and unresponsive for up to several minutes!https://osmocom.org/issues/55592022-05-12T23:22:09Zkeith
<p>Not much more to say than the title I'm afraid.</p>
<p>So far, I've actually only noticed it on a system using the RBS and osmo-e1d. But I do not have conclusive proof that it is exclusively happening here.</p>
<p>I'm assuming a culprit might be the sms queue, but I'm not convinced because I'm not seeing it on other systems with more messages in the queue in the sqlite db - and this can be upwards of 1,000 SMS queued.</p> SIMtrace 2 - Bug #5419 (Stalled): cardem errors with higher baud ratehttps://osmocom.org/issues/54192022-01-25T18:27:00Zlaforge
Setup is as follows:
<ul>
<li>sysmoISIM-SJA2 in built-in CCID reader of my Thinkpad x260</li>
<li>SIMtrace2 with cardem firmware 'master' (0.8.1.7-ea9a) hooked up via FPC to</li>
<li>CCID reader "Identive CLOUD 2700 F" </li>
<li><code>simtrace2-cardem-pcsc</code> to forward request from IdentiveCCID -> SIMtrace -> st2-cardem-pcsc -> builtin-CCID</li>
</ul>
<p>This works fine with F/D ratio 372, and also works fine in most cases with F/D ratio 16.</p>
<p>However, sometimes with ratio 16, things break down at some point.</p>
<a name="log-output-of-cardem-firmware"></a>
<h2 >log output of cardem firmware<a href="#log-output-of-cardem-firmware" class="wiki-anchor">¶</a></h2>
<pre>
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 b2 9d 04 22
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 a4 00 04 02
-I- 0: flush_rx_buffer (5)
-I- 0: flush_rx_buffer (2)
-I- 0: send_tpdu_header: 00 c0 00 00 23
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 b2 9e 04 22
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 a4 00 04 02
-I- 0: flush_rx_buffer (5)
-I- 0: flush_rx_buffer (2)
-I- 0: send_tpdu_header: 00 c0 00 00 23
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 b2 9f 04 22
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 a4 00 04 02
-I- 0: flush_rx_buffer (5)
-I- 0: flush_rx_buffer (2)
-I- 0: send_tpdu_header: 00 c0 00 00 23
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 b2 a0 04 22
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 a4 00 04 02
-I- 0: flush_rx_buffer (5)
-I- 0: flush_rx_buffer (2)
-I- 0: send_tpdu_header: 00 c0 00 00 23
-I- 0: flush_rx_buffer (5)
N-I- 0: send_tpdu_header: 00 b2 a1 04 22
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 00 a4 00 04 02
-I- 0: flush_rx_buffer (5)
-I- 0: flush_rx_buffer (2)
N-I- 0: send_tpdu_header: 00 c0 00 00 60
-I- 0: flush_rx_buffer (5)
-I- 0: send_tpdu_header: 02 00 a4 00 04
-I- 0: flush_rx_buffer (5)
</pre>
two things noticable:
<ul>
<li>the 'N' being printed by card_emu as waiting time extension</li>
<li>the last TPDU header <code>02 00 a4 00 04</code> doesn't look like a TPDU header: The 02 seems wrong, the TPDU likely starts with <code>00 a4</code>.</li>
</ul>
<a name="situation-on-Identive-CCID-reader-side"></a>
<h2 >situation on "Identive CCID reader" side<a href="#situation-on-Identive-CCID-reader-side" class="wiki-anchor">¶</a></h2>
<p>pySim-shell "export" shows:<br /><pre>
update_record 159 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
update_record 160 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
update_record 161 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
# bad file: MF/DF.TELECOM/EF.ADN, Failed to transmit with protocol T0. Transaction failed.
EXCEPTION of type 'RuntimeError' occurred with message: '6881: Functions in CLA not supported - Logical channel not supported'
To enable full traceback, run the following command: 'set debug true'
</pre></p>
<a name="simtrace2-cardem-pcsc"></a>
<h2 >simtrace2-cardem-pcsc<a href="#simtrace2-cardem-pcsc" class="wiki-anchor">¶</a></h2>
<pre>
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 23
=> DATA: flags=1, 00 c0 00 00 23 : SW=0x9000, len_rx=35
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 b2 9d 04 22
=> DATA: flags=1, 00 b2 9d 04 22 : SW=0x9000, len_rx=34
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 a4 00 04 02
=> DATA: flags=1, 00 a4 00 04 02 : -> 01 06 00 00 00 00 10 00 02 00 00 00 02 00 6f 3a
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 23
=> DATA: flags=1, 00 c0 00 00 23 : SW=0x9000, len_rx=35
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 b2 9e 04 22
=> DATA: flags=1, 00 b2 9e 04 22 : SW=0x9000, len_rx=34
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 a4 00 04 02
=> DATA: flags=1, 00 a4 00 04 02 : -> 01 06 00 00 00 00 10 00 02 00 00 00 02 00 6f 3a
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 23
=> DATA: flags=1, 00 c0 00 00 23 : SW=0x9000, len_rx=35
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 b2 9f 04 22
=> DATA: flags=1, 00 b2 9f 04 22 : SW=0x9000, len_rx=34
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 a4 00 04 02
=> DATA: flags=1, 00 a4 00 04 02 : -> 01 06 00 00 00 00 10 00 02 00 00 00 02 00 6f 3a
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 23
=> DATA: flags=1, 00 c0 00 00 23 : SW=0x9000, len_rx=35
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 b2 a0 04 22
=> DATA: flags=1, 00 b2 a0 04 22 : SW=0x9000, len_rx=34
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 a4 00 04 02
=> DATA: flags=1, 00 a4 00 04 02 : -> 01 06 00 00 00 00 10 00 02 00 00 00 02 00 6f 3a
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 23
=> DATA: flags=1, 00 c0 00 00 23 : SW=0x9000, len_rx=35
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 b2 a1 04 22
=> DATA: flags=1, 00 b2 a1 04 22 : SW=0x9000, len_rx=34
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 a4 00 04 02
=> DATA: flags=1, 00 a4 00 04 02 : -> 01 06 00 00 00 00 10 00 02 00 00 00 02 00 6f 3a
=> DATA: flags=2, 6f 3a : SW=0x6123, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 00 c0 00 00 60
=> DATA: flags=1, 00 c0 00 00 60 : SW=0x6c23, len_rx=0
-> 01 06 00 00 00 00 13 00 01 00 00 00 05 00 02 00 a4 00 04
<0000> apdu_dispatch.c:112 Unknown APDU case 0
=> DATA: flags=1, 02 00 a4 00 04 : SW=0x6881, len_rx=0
</pre>
<p>it also agrees that this last APDU is somehow wrong and cannot determine the APDU case.</p>
<a name="USB-communication"></a>
<h2 >USB communication<a href="#USB-communication" class="wiki-anchor">¶</a></h2>
<p>last message from SIMtrace to host is "RX DATA" with header flag set and 0200a40004. The card still responds with SW 6881 to that, as obviously the APDU header is invalid.</p>
<p><img src="https://osmocom.org/attachments/download/4852/wireshark.png" alt="" /></p> OsmocomDECT - Bug #5396 (New): TcpDump/WireShark will not build with libpcap(dect) https://osmocom.org/issues/53962022-01-09T12:56:49Z
<p>Wireshark problem:</p>
<pre>
capture-pcap-util.c:274: error: static declaration of ‘pcap_datalink_name_to_val’ follows non-static declaration
/usr/local/include/pcap/pcap.h:380: note: previous declaration of ‘pcap_datalink_name_to_val’ was here
capture-pcap-util.c:289: error: static declaration of ‘pcap_datalink_val_to_name’ follows non-static declaration
/usr/local/include/pcap/pcap.h:381: note: previous declaration of ‘pcap_datalink_val_to_name’ was here
TcpDump? problem:
./../libpcap/libpcap.a(pcap.o): In function `pcap_datalink_name_to_val':
/root/libpcap/./pcap.c:855: multiple definition of `pcap_datalink_name_to_val'
dlnames.o:dlnames.c:(.text+0x90): first defined here
./../libpcap/libpcap.a(pcap.o): In function `pcap_datalink_val_to_name':
/root/libpcap/./pcap.c:868: multiple definition of `pcap_datalink_val_to_name'
dlnames.o:dlnames.c:(.text+0x0): first defined here
./../libpcap/libpcap.a(pcap.o): In function `pcap_datalink_val_to_description':
/root/libpcap/./pcap.c:880: multiple definition of `pcap_datalink_val_to_description'
dlnames.o:dlnames.c:(.text+0x40): first defined here
./../libpcap/libpcap.a(pcap.o): In function `pcap_list_datalinks':
/root/libpcap/./pcap.c:553: multiple definition of `pcap_list_datalinks'
datalinks.o:datalinks.c:(.text+0x0): first defined here
./../libpcap/libpcap.a(sf-pcap.o): In function `pcap_dump_ftell':
/root/libpcap/./sf-pcap.c:590: multiple definition of `pcap_dump_ftell'
pcap_dump_ftell.o:pcap_dump_ftell.c:(.text+0x0): first defined here
./../libpcap/libpcap.a(pcap-dect-linux.o): In function `dect_platform_finddevs':
/root/libpcap/./pcap-dect-linux.c:79: undefined reference to `nl_dect_cell_alloc_cache'
./../libpcap/libpcap.a(pcap-dect-linux.o): In function `add_cell_cb':
/root/libpcap/./pcap-dect-linux.c:52: undefined reference to `nl_dect_cell_get_name'
</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> OsmoPCU - Bug #4879 (Stalled): endless pdch.cpp:809 Got CS-N RLC block: R=0, SI=0, TFI=0, CPS=0, ...https://osmocom.org/issues/48792020-11-29T23:17:31Zfixeria
<p>I just upgraded all osmo-{ran,cni} components to the recent master, and now quite often run into a situation when the MS (at least Sony Ericsson K800i, TEMS) keeps sending the same Uplink block again and again. I am not sure what exactly causes it, but I can reproduce it more or less reliably by starting Opera Mini (<a class="external" href="http://people.osmocom.org/fixeria/j2me/opera_mini.jar">http://people.osmocom.org/fixeria/j2me/opera_mini.jar</a>). When started for the first time, Opera initiates the installation process, and this is where the problem usually shows up.</p>
<pre>
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACUL INFO pdch.cpp:809 Got CS-2 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=264
DRLCMACMEAS INFO gprs_rlcmac_meas.cpp:108 MS(TLLI=0xc5849e78, IMSI=901990000000021, TA=0, 10/0, UL DL) UL RSSI: -29 dBm
</pre>
<p>Please see the attached capture file. Some highlights:</p>
<pre>
43585 RACH!
43591 IMM ASS (single block)
43731 UL Packet Resource Request
43799 DL Packet Uplink Assignment (TS=6 USF=0)
...
43910 UL DATA (BSN=0 CV=15)
...
43915 UL DATA | TCP FIN,ACK (Opera Mini closes connection to the server)
...
43918 UL DATA (BSN=3 CV=15)
43955 UL DATA (BSN=5 CV=14) <-- 14 RLC blocks left
...
44070 UL DATA (BSN=14 CV=5)
...
44146 UL DATA (BSN=19 CV=0) <-- 0 RLC blocks left
...
44149 UL DATA (BSN=19 CV=0) <-- re-transmission
44152 UL DATA (BSN=19 CV=0) <-- re-transmission
</pre>
<p>starting from frame 44149, the MS keeps transmitting the same RLC/MAC block ('35bdc794cd2b631285b2d43513'O). Interestingly enough, after each re-transmission the PCU logs "GPRS DL CTRL: PACKET_UPLINK_ACK_NACK", but <strong>does not actually send it</strong> (dummy RLC/MAC frames are not recorded). And this goes like that unless I turn off the phone. At the same time, Downlink blocks are received and accepted by the MS on the same timeslot.</p>
<p>OsmoPCU 58cd1d2f8a0474de45112e8d6e460051494eba79<br />OsmoBTS def24f0d9af2463a5ef557d35f23abd5b4d07120</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> OsmoBTS - Bug #4771 (Stalled): Don't log NOTICE messages on missing uplink burstshttps://osmocom.org/issues/47712020-10-01T12:05:51ZlaforgeOsmoSGSN - Bug #4605 (New): GMM_ATTACH_REQ_FSM: Event E_AUTH_RESP_RECV_SUCCESS not permittedhttps://osmocom.org/issues/46052020-06-08T19:05:08Zlaforge
<p>I'm seeing quite a bit of these and don't think that's right.</p>
<pre>
<0002> gprs_gmm.c:647 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x56242275e5e0]{Init}: Event E_AUTH_RESP_RECV_SUCCESS not permitted
<0002> gprs_gmm.c:1354 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x56242275e5e0]{Init}: Event E_ATTACH_COMPLETE_RECV not permitted
<0002> gprs_gmm.c:647 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x5624227600a0]{Init}: Event E_AUTH_RESP_RECV_SUCCESS not permitted
<0002> gprs_gmm.c:1354 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x5624227600a0]{Init}: Event E_ATTACH_COMPLETE_RECV not permitted
<0002> gprs_gmm.c:647 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x562422762bc0]{Init}: Event E_AUTH_RESP_RECV_SUCCESS not permitted
<0002> gprs_gmm.c:1354 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x562422762bc0]{Init}: Event E_ATTACH_COMPLETE_RECV not permitted
</pre>
<p>any idas?</p> OsmoHLR - Bug #4312 (New): GSUP keepalives / connection loss detectionhttps://osmocom.org/issues/43122019-12-06T17:44:45Zneelsnhofmeyr@sysmocom.de
<p>In the presence of unreliable back-haul mesh between villages, the GSUP<br />connection can also not be seen as reliable. We would expect to see TCP<br />stalls due to packet loss, etc.</p>
<p>Have you considered this in your implementation and/or done any testing<br />based on simulated lossy networks to ensure we properly use either TCP<br />keepalives or IPA application-level PING/PONG to detect lost connections<br />and recover from such situations (by closing the old and<br />re-establishing)?</p>
<p>Unreliable networks can be easily simulated by Linux built-in 'tc netem'<br />for providing configurable packet loss / latency / jitter.</p>
<p>I also saw some comments / code related to "if a second connection using<br />the same IPA ID arrives, we're screwed" (paraphrasing here). I would<br />expect this not to be uncommon even if every MSC/HLR out there is<br />configred correctly exactly because e.g .the remote MSC/HLR has already<br />decided that the TCP/GSUP is dead and starts to reconnect by performing<br />a local-end release, while the "local" MSC/HLR still thinks the old<br />connection is alive. If the old connection "wins" (i.e. is preferred)<br />I see potential trouble here.</p>
<p>Situations like that probably warrant some carefully designed tests to<br />create exactly those situations.</p>
<p>Goals:<br />a) ensuring that keepalive on either TCP or IPA is enabled and works, and<br />b) creating situations where the same peer establishes a second new connection<br /> while the old one is still not torn down (timeout not expired yet, FIN packets<br /> lost, ...)</p>
<p>(Keeping as one issue because these aspects are tightly related...)</p> OsmoBTS - Bug #4008 (Feedback): Channel Activation starts SACCH too early in Asynchronous Handoverhttps://osmocom.org/issues/40082019-05-19T20:48:41Zlaforge
<p>In case of an asynchronous hand-over related channel activation, 3GPP TS 48.058 Section 4.1.3 is very specific:</p>
<pre>
BTS starts transmission immediately on the main channel in the indicated mode and with encryption if so indicated. If
the MS Power element is present the BTS may start transmission also on the SACCH.
When receiving a correct access burst with the correct handover reference, BTS starts the normal reception process on
the main channel in the indicated mode and starts receiving (and sending if not started earlier) on SACCH. Deciphering
is started if so indicated. The handover detection procedure towards BSC is also started.
</pre>
<p>However, as uncovered by an upcoming <code>BTS_Tests.TC_sacch_chan_act_ho_async</code> test case, we appear to be activating the SACCH unconditionally from the first moment.</p>
<p>The problem here is quite obvious: Until we have received the access burst from the MS, we don't yet know the timing offset, and hence the timing advance that we should advertise in the downlink SACCH. If we start SACCH transmission too early, it means that a wrong TA is advertised, which may be picked up by the MS, which will then apply a wrong TA value -> boom.</p> gr-osmosdr - Bug #3734 (New): Cannot compile gr-osmocomhttps://osmocom.org/issues/37342018-12-16T00:22:26Zbwah
<p>Linux comp 4.14.0-41-generic #42~16.04.1-Ubuntu SMP Mon Nov 19 13:02:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux</p>
<p>As of commit 4d83c6067f059b0c5015c3f59f8117bbd361e877:</p>
<pre><code class="text syntaxhl">user@comp:~/code/gr-osmosdr/build$ make
Scanning dependencies of target gnuradio-osmosdr
[ 2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
In file included from /usr/local/include/gnuradio/rpcregisterhelpers.h:30:0,
from /usr/local/include/gnuradio/basic_block.h:42,
from /usr/local/include/gnuradio/block.h:28,
from /usr/local/include/gnuradio/sync_block.h:27,
from /usr/local/include/gnuradio/blocks/null_source.h:27,
from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/rpcmanager.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
static std::unique_ptr<rpcserver_booter_base> boot;
^
/usr/local/include/gnuradio/rpcmanager.h:58:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
static std::unique_ptr<rpcserver_booter_aggregator> aggregator;
^
In file included from /usr/local/include/gnuradio/block.h:28:0,
from /usr/local/include/gnuradio/sync_block.h:27,
from /usr/local/include/gnuradio/blocks/null_source.h:27,
from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/basic_block.h: In member function ‘std::__cxx11::string gr::basic_block::identifier() const’:
/usr/local/include/gnuradio/basic_block.h:156:66: error: ‘to_string’ is not a member of ‘std’
std::string identifier() const { return this->name() + "(" + std::to_string
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
paul@macbook:~/Documents/gnuradio$
paul@macbook:~/Documents/gnuradio$
paul@macbook:~/Documents/gnuradio$ cat osmocom_err.txt
user@macbook:~/code/gr-osmosdr/build$ make
Scanning dependencies of target gnuradio-osmosdr
[ 2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
In file included from /usr/local/include/gnuradio/rpcregisterhelpers.h:30:0,
from /usr/local/include/gnuradio/basic_block.h:42,
from /usr/local/include/gnuradio/block.h:28,
from /usr/local/include/gnuradio/sync_block.h:27,
from /usr/local/include/gnuradio/blocks/null_source.h:27,
from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/rpcmanager.h:57:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
static std::unique_ptr<rpcserver_booter_base> boot;
^
/usr/local/include/gnuradio/rpcmanager.h:58:15: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
static std::unique_ptr<rpcserver_booter_aggregator> aggregator;
^
In file included from /usr/local/include/gnuradio/block.h:28:0,
from /usr/local/include/gnuradio/sync_block.h:27,
from /usr/local/include/gnuradio/blocks/null_source.h:27,
from /home/user/code/gr-osmosdr/lib/source_impl.cc:31:
/usr/local/include/gnuradio/basic_block.h: In member function ‘std::__cxx11::string gr::basic_block::identifier() const’:
/usr/local/include/gnuradio/basic_block.h:156:66: error: ‘to_string’ is not a member of ‘std’
std::string identifier() const { return this->name() + "(" + std::to_string
^
lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:62: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-osmosdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
</code></pre>
<p>The compiler doesn't believe "to_string" is a member of stdlib. The CMakeLists.txt appears to be missing a specification for std=c++11, as per this error: <a class="external" href="https://stackoverflow.com/questions/19122574/to-string-isnt-a-member-of-std/19122592">https://stackoverflow.com/questions/19122574/to-string-isnt-a-member-of-std/19122592</a></p>
<p>I am not sure how to fix this.</p> OsmoBTS - Bug #3568 (Stalled): CBCH on SDCCH/8 not working for osmo-bts-sysmohttps://osmocom.org/issues/35682018-09-18T20:54:03Zlaforge
<p>During manual testing I observed that while sms arrived on my test phone when using CBCH on SDCCH/4, they were not arriving when using CBCH on SDCCH/8.</p>
<p>SI4 CBCH location was updated properly, so that was not the cause...</p> SIMtrace 2 - Bug #3379 (Stalled): documentation on how to use SIMtrace2https://osmocom.org/issues/33792018-07-04T16:10:36Zlaforge
<p>the wiki in the SIMtrace2 redmine project currently only documents flashing, but there should of course be good information on how to use the host tools in order to run the complete system.</p> gr-osmosdr - Bug #2824 (New): Corrupted double-linked for Raspbian Stretch when running osmocom_f...https://osmocom.org/issues/28242018-01-10T17:51:21Zrrr6399
<p>I have been trying to get osmocom to work on a fully upgraded Raspberry Pi. The same hardware worked fine with the Jessie OS.</p>
<p>I'm getting the following error when I run osmocom_fft:</p>
<p>osmocom_fft<br />linux; GNU C++ version 6.2.0 20161010; Boost_106100; UHD_003.009.005-0-unknown</p>
Warning: failed to XInitThreads()<br />gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.10<br />built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya
<ul>
<li>Error in `/usr/bin/python': corrupted double-linked list: 0x0240e048 ***</li>
</ul>
<p>It appears that it happens during this call osmosdr.source(options,args).</p>
<p>Here is some other info in case it helps:</p>
<p>$lsusb<br />Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T</p>
<p>$ sudo rtl_test -t<br />Found 1 device(s):<br /> 0: Realtek, RTL2838UHIDIR, SN: 00001126</p>
<p>Using device 0: Generic RTL2832U OEM<br />Found Elonics E4000 tuner<br />Supported gain values (14): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0<br />Sampling at 2048000 S/s.<br />Benchmarking E4000 PLL...<br />[E4K] PLL not locked for 51000000 Hz!<br />[E4K] PLL not locked for 2205000000 Hz!<br />[E4K] PLL not locked for 1103000000 Hz!<br />[E4K] PLL not locked for 1241000000 Hz!<br />E4K range: 52 to 2204 MHz<br />E4K L-band gap: 1103 to 1241 MHz</p>
<p>$ uname -a<br />Linux raspberrypi 4.9.59-v7+ #1047 SMP Sun Oct 29 12:19:23 GMT 2017 armv7l GNU/Linux</p>
<p>Any ideas whey I'm seeing this error now?</p> OP25 - Bug #2169 (New): First-cut of trunking supporthttps://osmocom.org/issues/21692017-04-22T16:04:15Z
<p>There is no decoding whatsoever of trunking at present. Add basic support.</p> OP25 - Bug #2162 (New): Fix bit-ordering in output for VC55.https://osmocom.org/issues/21622017-04-22T16:04:15Z
<p>VC55 output needs to be changed and verified using the VC55 hardware.</p> OP25 - Bug #2172 (New): HDU often missing in captureshttps://osmocom.org/issues/21722017-04-22T16:04:15Z
<p>When the centre frequency of the captured channel is offset from the centre frequency of the channel its often the case that the HDU is not captured. It appears that the demodulator is having trouble recognizing that a signal is present.</p> OP25 - Bug #2168 (New): Implement Forward error correction for LDU1/2https://osmocom.org/issues/21682017-04-22T16:04:15Zmatt
<p>Implement Forward error correction for LDU1/2</p> OP25 - Bug #2170 (New): Implement forward error-correction code, remove IT++ dependencyhttps://osmocom.org/issues/21702017-04-22T16:04:15Zmatt
<p>There are four forward error-correction codes needed: BCH, extended Golay, Hamming and Reed/Solomon and some of these are used in shortened form as well.</p>
<p>The dependency on IT++ is unsatisfactory as we depend on a small part and this requires additional bit_vector to bvec swabbing. Incorporating these codes into the decoder means we remove that dependency on IT++.</p> OsmoPCU - Bug #1925 (New): Fix padding for MCS8 transitionhttps://osmocom.org/issues/19252017-01-24T17:25:47Zmsuraev
<p>So far MCS8->MCS6 padding or MCS8->MCS3 padding is disabled as it was not supported by some L1 firmware.</p> Mobile (in)Security - Bug #1480 (New): A5/3 is not deployed in GSM networkshttps://osmocom.org/issues/14802016-02-19T22:51:58Zlaforge
<p>The 3GPP has specified the Kasumi-derived A5/3 cipher for use in GSM networks. This would significantly increase the confidentiality and security of the GSM network, since it avoids the known-weak and known-broken A5/1 cipher. The passive A5/1 key-cracking attacks would no longer work.</p>
<p>In order to use A5/3, both the MS and the BTS will have to implement the A5/3 cipher, and the BSC will have to configure the BTSs to actually use it.</p>
<p>Many modern phones (whether 3G or not) support A5/3 operation on GSM and indicate this capability in their CLASSMARK.</p>
<p>However, none of the networks we have seen are using A5/3 on GSM.</p>
<p>Thus, the operators and/or equipment manufacturers are actively preventing a higher level of security and confidentiality.</p> OsmocomBB - Bug #1462 (New): ../../src/utils.c:182:7: error: only weak aliases are supported in t...https://osmocom.org/issues/14622016-02-19T22:48:42Z
<p>Build fails on OSX Lion</p>
<p>bash-3.2# make<br />mkdir shared/libosmocore/build-target<br />cd shared/libosmocore/build-target && ../configure \<br /> --host=arm-elf --enable-embedded --disable-shared \<br /> --disable-tests ac_cv_header_sys_select_h=no \<br /> --disable-tests ac_cv_header_sys_socket_h=no \<br /> CFLAGS="-Os <del>ffunction-sections -I/Users/blombo/osmocom-bb/src/target/firmware/include -nostartfiles -nodefaultlibs" <br />configure: WARNING: if you wanted to set the --build type, don't use --host.<br /> If a cross compiler is detected then cross compile mode will be used<br />checking for a BSD-compatible install... /usr/bin/install -c<br />checking whether build environment is sane... yes<br />checking for arm-elf-strip... arm-elf-strip<br />checking for a thread-safe mkdir -p... ../install-sh -c -d<br />checking for gawk... no<br />checking for mawk... no<br />checking for nawk... no<br />checking for awk... awk<br />checking whether make sets $(MAKE)... yes<br />checking whether make sets $(MAKE)... (cached) yes<br />checking for arm-elf-gcc... arm-elf-gcc<br />checking whether the C compiler works... yes<br />checking for C compiler default output file name... a.out<br />checking for suffix of executables... <br />checking whether we are cross compiling... yes<br />checking for suffix of object files... o<br />checking whether we are using the GNU C compiler... yes<br />checking whether arm-elf-gcc accepts -g... yes<br />checking for arm-elf-gcc option to accept ISO C89... none needed<br />checking for style of include used by make... GNU<br />checking dependency style of arm-elf-gcc... gcc3<br />checking build system type... x86_64-apple-darwin11.2.0<br />checking host system type... arm-unknown-elf<br />checking how to print strings... printf<br />checking for a sed that does not truncate output... /usr/bin/sed<br />checking for grep that handles long lines and -e... /usr/bin/grep<br />checking for egrep... /usr/bin/grep -E<br />checking for fgrep... /usr/bin/grep -F<br />checking for ld used by arm-elf-gcc... /Volumes/Speicher/opt/local/arm-elf/bin/ld<br />checking if the linker (/Volumes/Speicher/opt/local/arm-elf/bin/ld) is GNU ld... yes<br />checking for BSD</del> or MS-compatible name lister (nm)... /opt/local/bin//arm-elf-nm <del>B<br />checking the name lister (/opt/local/bin//arm-elf-nm -B) interface... BSD nm<br />checking whether ln -s works... yes<br />checking the maximum length of command line arguments... 196608<br />checking whether the shell understands some XSI constructs... yes<br />checking whether the shell understands "+="... yes<br />checking how to convert x86_64-apple-darwin11.2.0 file names to arm-unknown-elf format... func_convert_file_noop<br />checking how to convert x86_64-apple-darwin11.2.0 file names to toolchain format... func_convert_file_noop<br />checking for /Volumes/Speicher/opt/local/arm-elf/bin/ld option to reload object files... -r<br />checking for arm-elf-objdump... arm-elf-objdump<br />checking how to recognize dependent libraries... unknown<br />checking for arm-elf-dlltool... no<br />checking for dlltool... no<br />checking how to associate runtime and link libraries... printf <span>s\n<br />checking for arm-elf-ar... arm-elf-ar<br />checking for archiver <code>FILE support... </code><br />checking for arm-elf-strip... (cached) arm-elf-strip<br />checking for arm-elf-ranlib... arm-elf-ranlib<br />checking command to parse /opt/local/bin//arm-elf-nm -B output from arm-elf-gcc object... ok<br />checking for sysroot... no<br />checking for arm-elf-mt... no<br />checking for mt... no<br />checking if : is a manifest tool... no<br />checking how to run the C preprocessor... arm-elf-gcc -E<br />checking for ANSI C header files... yes<br />checking for sys/types.h... yes<br />checking for sys/stat.h... yes<br />checking for stdlib.h... yes<br />checking for string.h... yes<br />checking for memory.h... yes<br />checking for strings.h... yes<br />checking for inttypes.h... yes<br />checking for stdint.h... yes<br />checking for unistd.h... yes<br />checking for dlfcn.h... no<br />checking for objdir... .libs<br />checking if arm-elf-gcc supports -fno-rtti -fno-exceptions... no<br />checking for arm-elf-gcc option to produce PIC... -fPIC -DPIC<br />checking if arm-elf-gcc PIC flag -fPIC -DPIC works... yes<br />checking if arm-elf-gcc static flag -static works... yes<br />checking if arm-elf-gcc supports -c -o file.o... yes<br />checking if arm-elf-gcc supports -c -o file.o... (cached) yes<br />checking whether the arm-elf-gcc linker (/Volumes/Speicher/opt/local/arm-elf/bin/ld) supports shared libraries... yes<br />checking dynamic linker characteristics... no<br />checking how to hardcode library paths into programs... immediate<br />checking whether stripping libraries is possible... yes<br />checking if libtool supports shared libraries... no<br />checking whether to build shared libraries... no<br />checking whether to build static libraries... yes<br />checking for ANSI C header files... (cached) yes<br />checking execinfo.h usability... no<br />checking execinfo.h presence... no<br />checking for execinfo.h... no<br />checking for sys/select.h... (cached) no<br />checking for sys/socket.h... (cached) no<br />checking syslog.h usability... no<br />checking syslog.h presence... no<br />checking for syslog.h... no<br />checking ctype.h usability... yes<br />checking ctype.h presence... yes<br />checking for ctype.h... yes<br />checking for size_t... yes<br />checking for working alloca.h... yes<br />checking for alloca... yes<br />checking for library containing dlopen... no<br />checking for doxygen... false<br />checking if arm-elf-gcc supports -fvisibility=hidden... yes<br />configure: creating ./config.status<br />config.status: creating libosmocore.pc<br />config.status: creating libosmocodec.pc<br />config.status: creating libosmovty.pc<br />config.status: creating libosmogsm.pc<br />config.status: creating include/osmocom/Makefile<br />config.status: creating include/osmocom/vty/Makefile<br />config.status: creating include/osmocom/codec/Makefile<br />config.status: creating include/osmocom/crypt/Makefile<br />config.status: creating include/osmocom/gsm/Makefile<br />config.status: creating include/osmocom/gsm/protocol/Makefile<br />config.status: creating include/osmocom/core/Makefile<br />config.status: creating include/Makefile<br />config.status: creating src/Makefile<br />config.status: creating src/vty/Makefile<br />config.status: creating src/codec/Makefile<br />config.status: creating src/gsm/Makefile<br />config.status: creating tests/Makefile<br />config.status: creating tests/timer/Makefile<br />config.status: creating tests/sms/Makefile<br />config.status: creating tests/msgfile/Makefile<br />config.status: creating tests/ussd/Makefile<br />config.status: creating tests/smscb/Makefile<br />config.status: creating tests/bits/Makefile<br />config.status: creating utils/Makefile<br />config.status: creating Doxyfile.core<br />config.status: creating Doxyfile.gsm<br />config.status: creating Doxyfile.vty<br />config.status: creating Doxyfile.codec<br />config.status: creating Makefile<br />config.status: creating config.h<br />config.status: executing depfiles commands<br />config.status: executing libtool commands<br />cd shared/libosmocore/build-target &x%x</span> make<br />make all-recursive<br />Making all in include<br />Making all in osmocom<br />Making all in codec<br />maker5: Nothing to be done for @all'.<br />Making all in crypt<br />maker5: Nothing to be done for @all'.<br />Making all in gsm<br />Making all in protocol<br />maker6: Nothing to be done for @all'.<br />maker6: Nothing to be done for @all-am'.<br />Making all in core<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc8gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc16gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc32gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc64gen.h<br />maker5: Nothing to be done for @all-am'.<br />maker4: Nothing to be done for @all-am'.<br />Making all in src<br />Making all in .<br /> CC timer.lo<br /> CC select.lo<br /> CC signal.lo<br /> CC msgb.lo<br /> CC bits.lo<br /> CC bitvec.lo<br /> CC statistics.lo<br />../../src/statistics.c: In function 'osmo_counter_get_by_name':<br />../../src/statistics.c:72:3: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br /> CC write_queue.lo<br /> CC utils.lo<br />../../src/utils.c: In function 'get_value_string':<br />../../src/utils.c:33:2: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Wformat]<br />../../src/utils.c: In function 'get_string_value':<br />../../src/utils.c:49:3: warning: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration]<br /> CC socket.lo<br /> CC logging.lo<br />../../src/logging.c: In function 'log_parse_category_mask':<br />../../src/logging.c:168:2: warning: implicit declaration of function 'strdup' [-Wimplicit-function-declaration]<br />../../src/logging.c:168:15: warning: incompatible implicit declaration of built-in function 'strdup' [enabled by default]<br />../../src/logging.c:175:2: warning: implicit declaration of function 'strtok' [-Wimplicit-function-declaration]<br />../../src/logging.c:175:17: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c:178:4: warning: implicit declaration of function 'strstr' [-Wimplicit-function-declaration]<br />../../src/logging.c:178:18: warning: incompatible implicit declaration of built-in function 'strstr' [enabled by default]<br />../../src/logging.c:203:27: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c: In function '_file_output':<br />../../src/logging.c:433:2: warning: implicit declaration of function 'fprintf' [-Wimplicit-function-declaration]<br />../../src/logging.c:433:2: warning: incompatible implicit declaration of built-in function 'fprintf' [enabled by default]<br />../../src/logging.c:434:2: warning: implicit declaration of function 'fflush' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_create_file':<br />../../src/logging.c:506:2: warning: implicit declaration of function 'fopen' [-Wimplicit-function-declaration]<br />../../src/logging.c:506:23: warning: assignment makes pointer from integer without a cast [enabled by default]<br />../../src/logging.c: In function 'log_target_find':<br />../../src/logging.c:530:4: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_destroy':<br />../../src/logging.c:552:4: warning: implicit declaration of function 'fclose' [-Wimplicit-function-declaration]<br />../../src/logging.c: In function 'log_target_file_reopen':<br />../../src/logging.c:565:23: warning: assignment makes pointer from integer without a cast [enabled by default]<br /> CC logging_syslog.lo<br /> CC rate_ctr.lo<br />../../src/rate_ctr.c: In function 'rate_ctr_get_group_by_name_idx':<br />../../src/rate_ctr.c:153:3: warning: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]<br /> CC gsmtap_util.lo<br /> CC crc16.lo<br /> CC panic.lo<br /> CC backtrace.lo<br /> CC conv.lo<br /> CC application.lo<br /> CC rbtree.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc8gen.c<br /> CC crc8gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc16gen.c<br /> CC crc16gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc32gen.c<br /> CC crc32gen.lo<br /> SED ../../src/crcXXgen.c.tpl -> crc64gen.c<br /> CC crc64gen.lo<br /> CCLD libosmocore.la<br />Making all in vty<br />maker4: Nothing to be done for @all'.<br />Making all in codec<br /> CC gsm610.lo<br /> CC gsm620.lo<br /> CC gsm660.lo<br /> CC gsm690.lo<br /> CCLD libosmocodec.la<br />Making all in gsm<br /> CC a5.lo<br /> CC rxlev_stat.lo<br /> CC tlv_parser.lo<br /> CC comp128.lo<br /> CC gsm_utils.lo<br />../../../src/gsm/gsm_utils.c: In function 'gsm_7bit_encode':<br />../../../src/gsm/gsm_utils.c:253:13: warning: variable 'z' set but not used [-Wunused-but-set-variable]<br /> CC rsl.lo<br /> CC gsm48.lo<br />../../../src/gsm/gsm48.c: In function 'gsm48_mi_to_string':<br />../../../src/gsm/gsm48.c:348:4: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' [-Wformat]<br /> CC gsm48_ie.lo<br /> CC gsm0808.lo<br /> CC sysinfo.lo<br /> CC gprs_cipher_core.lo<br /> CC gsm0480.lo<br />../../../src/gsm/gsm0480.c: In function 'parse_process_uss_req':<br />../../../src/gsm/gsm0480.c:405:7: warning: pointer targets in passing argument 1 of 'gsm_7bit_decode' differ in signedness [-Wpointer-sign]<br />../../../include/osmocom/gsm/gsm_utils.h:59:5: note: expected 'char <strong>' but argument is of type 'uint8_t *'<br /> CC abis_nm.lo<br /> CC gsm0502.lo<br /> CC gsm0411_utils.lo<br /> CC gsm0411_smc.lo<br /> CC gsm0411_smr.lo<br /> CC lapd_core.lo<br />../../../src/gsm/lapd_core.c: In function 'lapd_acknowledge':<br />../../../src/gsm/lapd_core.c:710:38: warning: variable 't200_start' set but not used [-Wunused-but-set-variable]<br />../../../src/gsm/lapd_core.c: In function 'lapd_rx_u':<br />../../../src/gsm/lapd_core.c:835:5: warning: implicit declaration of function 'memcmp' [-Wimplicit-function-declaration]<br /> CC lapdm.lo<br /> CCLD libosmogsm.la<br />Making all in tests<br />maker4: Nothing to be done for @all-am'.<br />Making all in utils<br />maker3: Nothing to be done for @all'.<br />maker3: Nothing to be done for @all-am'.<br />mkdir shared/libosmocore/build-host<br />cd shared/libosmocore/build-host && ../configure <br />checking for a BSD-compatible install... /usr/bin/install -c<br />checking whether build environment is sane... yes<br />checking for a thread-safe mkdir -p... ../install-sh -c -d<br />checking for gawk... no<br />checking for mawk... no<br />checking for nawk... no<br />checking for awk... awk<br />checking whether make sets $(MAKE)... yes<br />checking whether make sets $(MAKE)... (cached) yes<br />checking for gcc... gcc<br />checking whether the C compiler works... yes<br />checking for C compiler default output file name... a.out<br />checking for suffix of executables... <br />checking whether we are cross compiling... no<br />checking for suffix of object files... o<br />checking whether we are using the GNU C compiler... yes<br />checking whether gcc accepts -g... yes<br />checking for gcc option to accept ISO C89... none needed<br />checking for style of include used by make... GNU<br />checking dependency style of gcc... gcc3<br />checking build system type... x86_64-apple-darwin11.2.0<br />checking host system type... x86_64-apple-darwin11.2.0<br />checking how to print strings... printf<br />checking for a sed that does not truncate output... /usr/bin/sed<br />checking for grep that handles long lines and -e... /usr/bin/grep<br />checking for egrep... /usr/bin/grep -E<br />checking for fgrep... /usr/bin/grep -F<br />checking for ld used by gcc... /usr/bin/ld<br />checking if the linker (/usr/bin/ld) is GNU ld... no<br />checking for BSD</del> or MS-compatible name lister (nm)... /usr/bin/nm<br />checking the name lister (/usr/bin/nm) interface... BSD nm<br />checking whether ln -s works... yes<br />checking the maximum length of command line arguments... 196608<br />checking whether the shell understands some XSI constructs... yes<br />checking whether the shell understands "+="... yes<br />checking how to convert x86_64-apple-darwin11.2.0 file names to x86_64-apple-darwin11.2.0 format... func_convert_file_noop<br />checking how to convert x86_64-apple-darwin11.2.0 file names to toolchain format... func_convert_file_noop<br />checking for /usr/bin/ld option to reload object files... -r<br />checking for objdump... no<br />checking how to recognize dependent libraries... pass_all<br />checking for dlltool... no<br />checking how to associate runtime and link libraries... printf <span>s\n<br />checking for ar... ar<br />checking for archiver @FILE support... no<br />checking for strip... strip<br />checking for ranlib... ranlib<br />checking command to parse /usr/bin/nm output from gcc object... ok<br />checking for sysroot... no<br />checking for mt... no<br />checking if : is a manifest tool... no<br />checking for dsymutil... dsymutil<br />checking for nmedit... nmedit<br />checking for lipo... lipo<br />checking for otool... otool<br />checking for otool64... no<br />checking for -single_module linker flag... yes<br />checking for -exported_symbols_list linker flag... yes<br />checking for -force_load linker flag... yes<br />checking how to run the C preprocessor... gcc -E<br />checking for ANSI C header files... yes<br />checking for sys/types.h... yes<br />checking for sys/stat.h... yes<br />checking for stdlib.h... yes<br />checking for string.h... yes<br />checking for memory.h... yes<br />checking for strings.h... yes<br />checking for inttypes.h... yes<br />checking for stdint.h... yes<br />checking for unistd.h... yes<br />checking for dlfcn.h... yes<br />checking for objdir... .libs<br />checking if gcc supports -fno-rtti -fno-exceptions... no<br />checking for gcc option to produce PIC... -fno-common -DPIC<br />checking if gcc PIC flag -fno-common -DPIC works... yes<br />checking if gcc static flag -static works... no<br />checking if gcc supports -c -o file.o... yes<br />checking if gcc supports -c -o file.o... (cached) yes<br />checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes<br />checking dynamic linker characteristics... darwin11.2.0 dyld<br />checking how to hardcode library paths into programs... immediate<br />checking whether stripping libraries is possible... yes<br />checking if libtool supports shared libraries... yes<br />checking whether to build shared libraries... yes<br />checking whether to build static libraries... yes<br />checking for ANSI C header files... (cached) yes<br />checking execinfo.h usability... yes<br />checking execinfo.h presence... yes<br />checking for execinfo.h... yes<br />checking sys/select.h usability... yes<br />checking sys/select.h presence... yes<br />checking for sys/select.h... yes<br />checking sys/socket.h usability... yes<br />checking sys/socket.h presence... yes<br />checking for sys/socket.h... yes<br />checking syslog.h usability... yes<br />checking syslog.h presence... yes<br />checking for syslog.h... yes<br />checking ctype.h usability... yes<br />checking ctype.h presence... yes<br />checking for ctype.h... yes<br />checking for size_t... yes<br />checking for working alloca.h... yes<br />checking for alloca... yes<br />checking for library containing dlopen... none required<br />checking for doxygen... false<br />checking if gcc supports -fvisibility=hidden... yes<br />configure: creating ./config.status<br />config.status: creating libosmocore.pc<br />config.status: creating libosmocodec.pc<br />config.status: creating libosmovty.pc<br />config.status: creating libosmogsm.pc<br />config.status: creating include/osmocom/Makefile<br />config.status: creating include/osmocom/vty/Makefile<br />config.status: creating include/osmocom/codec/Makefile<br />config.status: creating include/osmocom/crypt/Makefile<br />config.status: creating include/osmocom/gsm/Makefile<br />config.status: creating include/osmocom/gsm/protocol/Makefile<br />config.status: creating include/osmocom/core/Makefile<br />config.status: creating include/Makefile<br />config.status: creating src/Makefile<br />config.status: creating src/vty/Makefile<br />config.status: creating src/codec/Makefile<br />config.status: creating src/gsm/Makefile<br />config.status: creating tests/Makefile<br />config.status: creating tests/timer/Makefile<br />config.status: creating tests/sms/Makefile<br />config.status: creating tests/msgfile/Makefile<br />config.status: creating tests/ussd/Makefile<br />config.status: creating tests/smscb/Makefile<br />config.status: creating tests/bits/Makefile<br />config.status: creating utils/Makefile<br />config.status: creating Doxyfile.core<br />config.status: creating Doxyfile.gsm<br />config.status: creating Doxyfile.vty<br />config.status: creating Doxyfile.codec<br />config.status: creating Makefile<br />config.status: creating config.h<br />config.status: executing depfiles commands<br />config.status: executing libtool commands<br />cd shared/libosmocore/build-host &x%x</span> make<br />make all-recursive<br />Making all in include<br />Making all in osmocom<br />Making all in vty<br />maker5: Nothing to be done for @all'.<br />Making all in codec<br />maker5: Nothing to be done for @all'.<br />Making all in crypt<br />maker5: Nothing to be done for @all'.<br />Making all in gsm<br />Making all in protocol<br />maker6: Nothing to be done for @all'.<br />maker6: Nothing to be done for @all-am'.<br />Making all in core<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc8gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc16gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc32gen.h<br /> SED ../../../../include/osmocom/core/crcXXgen.h.tpl -> crc64gen.h<br />maker5: Nothing to be done for @all-am'.<br />maker4: Nothing to be done for @all-am'.<br />Making all in src<br />Making all in .<br /> CC timer.lo<br /> CC select.lo<br /> CC signal.lo<br /> CC msgb.lo<br /> CC bits.lo<br /> CC bitvec.lo<br /> CC statistics.lo<br /> CC write_queue.lo<br /> CC utils.lo<br />../../src/utils.c:182:7: error: only weak aliases are supported in this configuration<br />maker4: <b></strong> [utils.lo] Error 1<br />maker3: <strong></b> [all-recursive] Error 1<br />maker2: <b></strong> [all-recursive] Error 1<br />maker1: <strong></b> [all] Error 2<br />make: *</strong>* [shared/libosmocore/build-host/src/.libs/libosmocore.la] Error 2</p> OsmocomBB - Bug #1458 (New): AGC broken (strong cell cannot be syncedhttps://osmocom.org/issues/14582016-02-19T22:48:42Zlaforge
<p>There seems to be a problem when trying to sync to particularly strong cells, as we overload the input of the ADC.</p>
<p>As we're doing power measurements anyway, we need to use the received power level as input to the SCH and FCCH task and not start those with some default power level</p>