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> OsmoSGSN - Feature #6294 (New): Support GN/Gp interoperation procedures between SGSN and MMEhttps://osmocom.org/issues/62942023-12-07T14:48:04Zdaniel
<p>In an Inter-RAT setup a UE could perform a RAU coming from a 4G network. In that case the UE/MS is unknown to the SGSN and it should request the SGSN context from the MME.<br />Similarly the MME needs to request the SGSN context from the SGSN if it receives a Tracking Area Update from an unknown UE.</p>
<p>If this succeeds then the PDP context at the pgw needs to be modified. <br />See diagrams TS 23.401 D 3.5-1 and D 3.6-1 for details.</p> OsmocomBB - Bug #6200 (New): osmo-trx-ms: lots of @Received bad frame (rc=-1, ber=444/444)@https://osmocom.org/issues/62002023-10-03T16:46:40Zfixeria
<p>Hi <a class="user active" href="https://osmocom.org/users/52">Hoernchen</a>,</p>
<p>we had a debugging session with <a class="user active" href="https://osmocom.org/users/30187">pespin</a> today and we got the mssdr-ms side to work more or less reliably. But we noticed a weird problem:</p>
<pre>
20231003152951965 DL1C NOTICE trxcon(0)[0x5579a42900]{BCCH_CCCH}: L1CTL_DM_EST_REQ indicates single ARFCN GSM900 979 (l1ctl.c:572)
20231003152951965 DSCH NOTICE trxcon(0)[0x5579a42900]: Reset scheduler (sched_trx.c:190)
20231003152951965 DSCH NOTICE trxcon(0)[0x5579a42900]: Delete TDMA timeslot #0 (sched_trx.c:226)
20231003152951965 DSCH NOTICE trxcon(0)[0x5579a42900]: Add a new TDMA timeslot #4 (sched_trx.c:207)
20231003152951965 DSCH NOTICE trxcon(0)[0x5579a42900]: (Re)configure TDMA timeslot #4 as PDCH (sched_trx.c:276)
20231003152951966 DSCH NOTICE trxcon(0)[0x5579a42900]: TS4-PDTCH activating (sched_trx.c:476)
20231003152951966 DSCH NOTICE trxcon(0)[0x5579a42900]: TS4-PTCCH activating (sched_trx.c:476)
20231003152953364 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=86/456) at fn=513573 (sched_lchan_pdtch.c:94)
20231003152954366 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=87/456) at fn=513790 (sched_lchan_pdtch.c:94)
20231003152954804 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513885 (sched_lchan_pdtch.c:94)
20231003152954827 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513890 (sched_lchan_pdtch.c:94)
20231003152954846 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513894 (sched_lchan_pdtch.c:94)
20231003152954864 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513898 (sched_lchan_pdtch.c:94)
20231003152954887 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513903 (sched_lchan_pdtch.c:94)
20231003152954906 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513907 (sched_lchan_pdtch.c:94)
20231003152954924 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513911 (sched_lchan_pdtch.c:94)
20231003152954947 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513916 (sched_lchan_pdtch.c:94)
20231003152954966 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513920 (sched_lchan_pdtch.c:94)
20231003152954984 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513924 (sched_lchan_pdtch.c:94)
20231003152955007 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513929 (sched_lchan_pdtch.c:94)
20231003152955025 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513933 (sched_lchan_pdtch.c:94)
20231003152955044 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513937 (sched_lchan_pdtch.c:94)
20231003152955067 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513942 (sched_lchan_pdtch.c:94)
20231003152955085 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513946 (sched_lchan_pdtch.c:94)
20231003152955104 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513950 (sched_lchan_pdtch.c:94)
20231003152955127 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513955 (sched_lchan_pdtch.c:94)
20231003152955145 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513959 (sched_lchan_pdtch.c:94)
20231003152955164 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513963 (sched_lchan_pdtch.c:94)
20231003152955188 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513968 (sched_lchan_pdtch.c:94)
20231003152955205 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513972 (sched_lchan_pdtch.c:94)
20231003152955224 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513976 (sched_lchan_pdtch.c:94)
20231003152955248 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513981 (sched_lchan_pdtch.c:94)
20231003152955265 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513985 (sched_lchan_pdtch.c:94)
20231003152955284 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513989 (sched_lchan_pdtch.c:94)
20231003152955308 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513994 (sched_lchan_pdtch.c:94)
20231003152955325 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=513998 (sched_lchan_pdtch.c:94)
20231003152955344 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=514002 (sched_lchan_pdtch.c:94)
20231003152955368 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=514007 (sched_lchan_pdtch.c:94)
20231003152955385 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=514011 (sched_lchan_pdtch.c:94)
20231003152955404 DSCHD ERROR trxcon(0)[0x5579a42900]: TS4-PDTCH Received bad frame (rc=-1, ber=444/444) at fn=514015 (sched_lchan_pdtch.c:94)
</pre>
<p>It's not seen during the GMM ATTACH and SM PDP CTX ACT procedures, but only when we tried sending some data (ICMP ping) over the tun interface.<br />As can be seen, quite a lot of Downlink PDCH blocks not being decoded. The <code>BER=444/444</code> makes me think that received bursts were all 0 (neither -127 nor 127).<br />This is enlarging the ping delays significantly (from ~600ms to ~5000ms ==> ~10 times):</p>
<pre>
PING 176.16.222.1 (176.16.222.1) 56(84) bytes of data.
64 bytes from 176.16.222.1: icmp_seq=1 ttl=64 time=681 ms
64 bytes from 176.16.222.1: icmp_seq=2 ttl=64 time=803 ms
64 bytes from 176.16.222.1: icmp_seq=3 ttl=64 time=625 ms
64 bytes from 176.16.222.1: icmp_seq=4 ttl=64 time=525 ms
64 bytes from 176.16.222.1: icmp_seq=5 ttl=64 time=5646 ms
64 bytes from 176.16.222.1: icmp_seq=6 ttl=64 time=4678 ms
64 bytes from 176.16.222.1: icmp_seq=7 ttl=64 time=3911 ms
64 bytes from 176.16.222.1: icmp_seq=8 ttl=64 time=2948 ms
64 bytes from 176.16.222.1: icmp_seq=9 ttl=64 time=1984 ms
64 bytes from 176.16.222.1: icmp_seq=10 ttl=64 time=1020 ms
64 bytes from 176.16.222.1: icmp_seq=11 ttl=64 time=602 ms
64 bytes from 176.16.222.1: icmp_seq=12 ttl=64 time=742 ms
64 bytes from 176.16.222.1: icmp_seq=13 ttl=64 time=5741 ms
64 bytes from 176.16.222.1: icmp_seq=14 ttl=64 time=4769 ms
64 bytes from 176.16.222.1: icmp_seq=15 ttl=64 time=3824 ms
64 bytes from 176.16.222.1: icmp_seq=16 ttl=64 time=2860 ms
64 bytes from 176.16.222.1: icmp_seq=17 ttl=64 time=1896 ms
64 bytes from 176.16.222.1: icmp_seq=18 ttl=64 time=932 ms
64 bytes from 176.16.222.1: icmp_seq=19 ttl=64 time=813 ms
64 bytes from 176.16.222.1: icmp_seq=20 ttl=64 time=653 ms
64 bytes from 176.16.222.1: icmp_seq=21 ttl=64 time=5630 ms
64 bytes from 176.16.222.1: icmp_seq=22 ttl=64 time=4658 ms
64 bytes from 176.16.222.1: icmp_seq=23 ttl=64 time=3893 ms
64 bytes from 176.16.222.1: icmp_seq=24 ttl=64 time=2929 ms
64 bytes from 176.16.222.1: icmp_seq=25 ttl=64 time=1969 ms
64 bytes from 176.16.222.1: icmp_seq=26 ttl=64 time=1005 ms
64 bytes from 176.16.222.1: icmp_seq=27 ttl=64 time=546 ms
64 bytes from 176.16.222.1: icmp_seq=28 ttl=64 time=686 ms
</pre>
<p>This looks like a PHY problem to me, so assigning to you.</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> gr-osmosdr - Bug #5731 (New): Install gr-osmosdr on Ubuntu 20.04https://osmocom.org/issues/57312022-10-27T13:39:25ZOjunbamO
<p>Hi Osmocom Team,</p>
<p>in our company we wanna use gnuradio in combination with the gr-osmosdr tools. I tried to install it directly via the debian packages. But in combination with the gnuradio 3.10 version it is incompatible and fails constantly on the <i>init</i>.py in line 21 when trying to import osmosdr python packages. But it also is dropping the same error if we use gnuradio 3.9 or 3.7.</p>
<p>After that I tried to build the gr-osmosdr from source. By the way here is your documentation outdated on every documentation says git.osmocom.org: <a class="external" href="https://osmocom.org/projects/gr-osmosdr/wiki">https://osmocom.org/projects/gr-osmosdr/wiki</a>. After some time I found the synced github project but also your gittea instance. Then finally I cloned the repository, tried to build it and now facing this error:</p>
<pre><code class="shell syntaxhl">root@CL25CA052:/tmp/gr-osmosdr/build# make
Scanning dependencies of target gnuradio-osmosdr
<span class="o">[</span> 2%] Building CXX object lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o
/tmp/gr-osmosdr/lib/source_impl.cc: In static member <span class="k">function</span> ‘static osmosdr::source::sptr osmosdr::source::make<span class="o">(</span>const string&<span class="o">)</span>’:
/tmp/gr-osmosdr/lib/source_impl.cc:105:36: error: could not convert ‘gnuradio::get_initial_sptr<span class="o">(</span>T<span class="k">*</span><span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> source_impl]<span class="o">()</span>’ from ‘boost::shared_ptr<source_impl>’ to ‘osmosdr::source::sptr’ <span class="o">{</span>aka ‘std::shared_ptr<osmosdr::source>’<span class="o">}</span>
105 | <span class="k">return </span>gnuradio::get_initial_sptr<span class="o">(</span> new source_impl<span class="o">(</span>args<span class="o">)</span> <span class="o">)</span><span class="p">;</span>
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| boost::shared_ptr<source_impl>
/tmp/gr-osmosdr/lib/source_impl.cc: In constructor ‘source_impl::source_impl<span class="o">(</span>const string&<span class="o">)</span>’:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: error: no match <span class="k">for</span> ‘operator<span class="o">=</span>’ <span class="o">(</span>operand types are ‘gr::basic_block_sptr’ <span class="o">{</span>aka ‘boost::shared_ptr<gr::basic_block>’<span class="o">}</span> and ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">})</span>
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<T>&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:48: note: no known conversion <span class="k">for </span>argument 1 from ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> to ‘const boost::shared_ptr<gr::basic_block>&’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<Y>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
556 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span>shared_ptr<Y> const & r<span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> is not derived from ‘const boost::shared_ptr<X>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
567 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> & r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
576 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::unique_ptr<_Up, _Ep>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
598 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::unique_ptr<Y, D> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> is not derived from ‘std::unique_ptr<_Tp, _Dp>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::movelib::unique_ptr<Y, D><span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
607 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::movelib::unique_ptr<Y, D> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘std::shared_ptr<file_source_c>’ is not derived from ‘boost::movelib::unique_ptr<Y, D>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<T>&&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:43: note: no known conversion <span class="k">for </span>argument 1 from ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> to ‘boost::shared_ptr<gr::basic_block>&&’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<Y>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
665 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr<Y> <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:280:15: note: ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> is not derived from ‘boost::shared_ptr<X>’
280 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::detail::sp_nullptr_t<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block<span class="p">;</span> boost::detail::sp_nullptr_t <span class="o">=</span> std::nullptr_t]’
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:29: note: no known conversion <span class="k">for </span>argument 1 from ‘file_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<file_source_c>’<span class="o">}</span> to ‘boost::detail::sp_nullptr_t’ <span class="o">{</span>aka ‘std::nullptr_t’<span class="o">}</span>
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: error: no match <span class="k">for</span> ‘operator<span class="o">=</span>’ <span class="o">(</span>operand types are ‘gr::basic_block_sptr’ <span class="o">{</span>aka ‘boost::shared_ptr<gr::basic_block>’<span class="o">}</span> and ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">})</span>
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<T>&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:48: note: no known conversion <span class="k">for </span>argument 1 from ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> to ‘const boost::shared_ptr<gr::basic_block>&’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<Y>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
556 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span>shared_ptr<Y> const & r<span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> is not derived from ‘const boost::shared_ptr<X>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
567 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> & r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
576 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::unique_ptr<_Up, _Ep>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
598 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::unique_ptr<Y, D> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> is not derived from ‘std::unique_ptr<_Tp, _Dp>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::movelib::unique_ptr<Y, D><span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
607 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::movelib::unique_ptr<Y, D> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘std::shared_ptr<rtl_tcp_source_c>’ is not derived from ‘boost::movelib::unique_ptr<Y, D>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<T>&&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:43: note: no known conversion <span class="k">for </span>argument 1 from ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> to ‘boost::shared_ptr<gr::basic_block>&&’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<Y>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
665 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr<Y> <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:294:15: note: ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> is not derived from ‘boost::shared_ptr<X>’
294 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::detail::sp_nullptr_t<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block<span class="p">;</span> boost::detail::sp_nullptr_t <span class="o">=</span> std::nullptr_t]’
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:29: note: no known conversion <span class="k">for </span>argument 1 from ‘rtl_tcp_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rtl_tcp_source_c>’<span class="o">}</span> to ‘boost::detail::sp_nullptr_t’ <span class="o">{</span>aka ‘std::nullptr_t’<span class="o">}</span>
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: error: no match <span class="k">for</span> ‘operator<span class="o">=</span>’ <span class="o">(</span>operand types are ‘gr::basic_block_sptr’ <span class="o">{</span>aka ‘boost::shared_ptr<gr::basic_block>’<span class="o">}</span> and ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">})</span>
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<T>&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:48: note: no known conversion <span class="k">for </span>argument 1 from ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> to ‘const boost::shared_ptr<gr::basic_block>&’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<Y>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
556 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span>shared_ptr<Y> const & r<span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> is not derived from ‘const boost::shared_ptr<X>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
567 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> & r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
576 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::unique_ptr<_Up, _Ep>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
598 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::unique_ptr<Y, D> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> is not derived from ‘std::unique_ptr<_Tp, _Dp>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::movelib::unique_ptr<Y, D><span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
607 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::movelib::unique_ptr<Y, D> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘std::shared_ptr<rfspace_source_c>’ is not derived from ‘boost::movelib::unique_ptr<Y, D>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<T>&&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:43: note: no known conversion <span class="k">for </span>argument 1 from ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> to ‘boost::shared_ptr<gr::basic_block>&&’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<Y>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
665 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr<Y> <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:333:15: note: ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> is not derived from ‘boost::shared_ptr<X>’
333 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::detail::sp_nullptr_t<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block<span class="p">;</span> boost::detail::sp_nullptr_t <span class="o">=</span> std::nullptr_t]’
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:29: note: no known conversion <span class="k">for </span>argument 1 from ‘rfspace_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<rfspace_source_c>’<span class="o">}</span> to ‘boost::detail::sp_nullptr_t’ <span class="o">{</span>aka ‘std::nullptr_t’<span class="o">}</span>
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: error: no match <span class="k">for</span> ‘operator<span class="o">=</span>’ <span class="o">(</span>operand types are ‘gr::basic_block_sptr’ <span class="o">{</span>aka ‘boost::shared_ptr<gr::basic_block>’<span class="o">}</span> and ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">})</span>
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<T>&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:48: note: no known conversion <span class="k">for </span>argument 1 from ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> to ‘const boost::shared_ptr<gr::basic_block>&’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<Y>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
556 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span>shared_ptr<Y> const & r<span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> is not derived from ‘const boost::shared_ptr<X>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
567 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> & r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
576 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::unique_ptr<_Up, _Ep>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
598 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::unique_ptr<Y, D> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> is not derived from ‘std::unique_ptr<_Tp, _Dp>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::movelib::unique_ptr<Y, D><span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
607 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::movelib::unique_ptr<Y, D> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘std::shared_ptr<soapy_source_c>’ is not derived from ‘boost::movelib::unique_ptr<Y, D>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<T>&&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:43: note: no known conversion <span class="k">for </span>argument 1 from ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> to ‘boost::shared_ptr<gr::basic_block>&&’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<Y>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
665 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr<Y> <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:354:15: note: ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> is not derived from ‘boost::shared_ptr<X>’
354 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::detail::sp_nullptr_t<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block<span class="p">;</span> boost::detail::sp_nullptr_t <span class="o">=</span> std::nullptr_t]’
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:29: note: no known conversion <span class="k">for </span>argument 1 from ‘soapy_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<soapy_source_c>’<span class="o">}</span> to ‘boost::detail::sp_nullptr_t’ <span class="o">{</span>aka ‘std::nullptr_t’<span class="o">}</span>
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: error: no match <span class="k">for</span> ‘operator<span class="o">=</span>’ <span class="o">(</span>operand types are ‘gr::basic_block_sptr’ <span class="o">{</span>aka ‘boost::shared_ptr<gr::basic_block>’<span class="o">}</span> and ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">})</span>
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<T>&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:547:48: note: no known conversion <span class="k">for </span>argument 1 from ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> to ‘const boost::shared_ptr<gr::basic_block>&’
547 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr const & r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>const boost::shared_ptr<Y>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
556 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span>shared_ptr<Y> const & r<span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:556:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> is not derived from ‘const boost::shared_ptr<X>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
567 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> & r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:567:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::auto_ptr<_Up>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
576 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::auto_ptr<Y> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:576:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> is not derived from ‘std::auto_ptr<Y>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>std::unique_ptr<_Up, _Ep>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
598 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> std::unique_ptr<Y, D> <span class="o">&&</span> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:598:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> is not derived from ‘std::unique_ptr<_Tp, _Dp>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: candidate: ‘template<class Y, class D> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::movelib::unique_ptr<Y, D><span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> D <span class="o">=</span> D<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
607 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::movelib::unique_ptr<Y, D> r <span class="o">)</span>
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:607:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘std::shared_ptr<redpitaya_source_c>’ is not derived from ‘boost::movelib::unique_ptr<Y, D>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<T>&&<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block]’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:658:43: note: no known conversion <span class="k">for </span>argument 1 from ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> to ‘boost::shared_ptr<gr::basic_block>&&’
658 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ~~~~~~~~~~~~~~^
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: candidate: ‘template<class Y> boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::shared_ptr<Y>&&<span class="o">)</span> <span class="o">[</span>with Y <span class="o">=</span> Y<span class="p">;</span> T <span class="o">=</span> gr::basic_block]’
665 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> shared_ptr<Y> <span class="o">&&</span> r <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:665:18: note: template argument deduction/substitution failed:
/tmp/gr-osmosdr/lib/source_impl.cc:361:15: note: ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> is not derived from ‘boost::shared_ptr<X>’
361 | block <span class="o">=</span> src<span class="p">;</span> iface <span class="o">=</span> src.get<span class="o">()</span><span class="p">;</span>
| ^~~
In file included from /usr/include/boost/shared_ptr.hpp:17,
from /usr/local/include/gnuradio/types.h:28,
from /usr/local/include/gnuradio/runtime_types.h:27,
from /usr/local/include/gnuradio/io_signature.h:27,
from /tmp/gr-osmosdr/lib/source_impl.cc:30:
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:18: note: candidate: ‘boost::shared_ptr<T>& boost::shared_ptr<T>::operator<span class="o">=(</span>boost::detail::sp_nullptr_t<span class="o">)</span> <span class="o">[</span>with T <span class="o">=</span> gr::basic_block<span class="p">;</span> boost::detail::sp_nullptr_t <span class="o">=</span> std::nullptr_t]’
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:683:29: note: no known conversion <span class="k">for </span>argument 1 from ‘redpitaya_source_c_sptr’ <span class="o">{</span>aka ‘std::shared_ptr<redpitaya_source_c>’<span class="o">}</span> to ‘boost::detail::sp_nullptr_t’ <span class="o">{</span>aka ‘std::nullptr_t’<span class="o">}</span>
683 | shared_ptr & <span class="nv">operator</span><span class="o">=(</span> boost::detail::sp_nullptr_t <span class="o">)</span> BOOST_SP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: <span class="k">***</span> <span class="o">[</span>lib/CMakeFiles/gnuradio-osmosdr.dir/build.make:63: lib/CMakeFiles/gnuradio-osmosdr.dir/source_impl.cc.o] Error 1
make[1]: <span class="k">***</span> <span class="o">[</span>CMakeFiles/Makefile2:375: lib/CMakeFiles/gnuradio-osmosdr.dir/all] Error 2
make: <span class="k">***</span> <span class="o">[</span>Makefile:141: all] Error 2
root@CL25CA052:/tmp/gr-osmosdr/build#
</code></pre>
<p>I think I have all relevant dev packages and librarys installed. So I can't find the problem with trying to run osmosdr tools with gnuradio.</p>
<p>Thank you very much in advance! Would be great to have this fixed.</p>
<p>Regards<br />Tobias</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> Open Source IMS Client - Feature #5481 (New): SIM card interface for doubangohttps://osmocom.org/issues/54812022-03-07T10:53:16Zlaforge
<p>The pre-existing <a class="wiki-page" href="https://osmocom.org/projects/foss-ims-client/wiki/Doubango">doubango</a> library code assumes that the IMS client has knowledge of the secret key material (K + OP/OPc) in order to perform the authentication and IPsec key establoshment to the P-CSCF.</p>
<p>This may be the case in <em>some</em> testing/lab setups, but in general this key material is stored on the ISIM or USIM application of a SIM card.</p>
<p>If we want to use doubango with such standard cards, we need some kind of interface how doubango can perform authentication via ISIM/USIM.</p>
The interface should be rather generic, as the detailed interface for SIM access will be highly platform specific:
<ul>
<li>For development on a normal Linux laptop, a pcsc-lite based interface to a smart card reader will be used.</li>
<li>For execution inside a specific phone, phone specific interfaces for SIM card access may be used (QMI, AT+CSIM, ...)</li>
</ul> OsmoBTS - Feature #5256 (New): support for random padding in LAPDm downlink messageshttps://osmocom.org/issues/52562021-10-12T11:17:43Zlaforge
<p>See GP-081417, GP-081418 for the details, see also <a class="issue tracker-1 status-1 priority-3 priority-high3" title="Bug: Random LAPDm MAC-block padding is not deployed yet (New)" href="https://osmocom.org/issues/1481">#1481</a></p> Distributed GSM - Support #4308 (New): thoughts about incorporating credit / billing in D-GSMhttps://osmocom.org/issues/43082019-12-04T14:04:46Zneelsnhofmeyr@sysmocom.de
<p>it is not a priority to really implement a working setup, but we should have a bit of a plan for the future, to not block progress later.</p>
<p>- how could credit management be standardized?<br />- how to handle link loss? keep a set amount of credit on each site to use even if the subscriber's home village is unreachable?<br />- think about credit for: voice, sms, data connections.<br />- Look at DIAMETER accounting specs, CCR / CCA <a class="external" href="https://en.wikipedia.org/wiki/Diameter_Credit-Control_Application">https://en.wikipedia.org/wiki/Diameter_Credit-Control_Application</a></p> Qualcomm Linux Modems by Quectel & Co - Support #4206 (New): Unbrick cpe router without web ui in...https://osmocom.org/issues/42062019-09-16T10:41:38Zjahcultura
<p>I have a router 4G cpe modem with linux embedded without web access and terminal does anyone know how to recover? I checked on the board has the points RX, TX, DLOAD, RESET_N, so I saw here only have SMD components so the only way to rewrite the firmware would be for these communication points. Note: I tried access via serial but stops at bootloader.</p>
<p>SERIAL LOG:<br />Format: Log Type - Time(microsec) - Message - Optional Info<br />Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic<br />S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.1.2-00075<br />S - IMAGE_VARIANT_STRING=LAATANAZA<br />S - OEM_IMAGE_VERSION_STRING=ubuntu<br />S - Boot Config, 0x000002e0<br />B - 1216 - PBL, Start<br />B - 3723 - bootable_media_detect_entry, Start<br />B - 4454 - bootable_media_detect_success, Start<br />B - 4458 - elf_loader_entry, Start<br />B - 6701 - auth_hash_seg_entry, Start<br />B - 6923 - auth_hash_seg_exit, Start<br />B - 59917 - elf_segs_hash_verify_entry, Start<br />B - 107892 - PBL, End<br />B - 97478 - SBL1, Start<br />B - 146003 - pm_device_init, Start<br />B - 163114 - PM_SET_VAL:Skip<br />D - 15890 - pm_device_init, Delta<br />B - 164120 - boot_config_data_table_init, Start<br />D - 174948 - boot_config_data_table_init, Delta - (420 Bytes)<br />B - 342576 - CDT version:3,Platform ID:8,Major ID:1,Minor ID:0,Subtype:0<br />B - 348767 - sbl1_ddr_set_params, Start<br />B - 352580 - Pre_DDR_clock_init, Start<br />D - 244 - Pre_DDR_clock_init, Delta<br />D - 0 - sbl1_ddr_set_params, Delta<br />B - 365237 - pm_driver_init, Start<br />D - 4544 - pm_driver_init, Delta<br />B - 371642 - cpr_init, Start<br />D - 91 - cpr_init, Delta<br />B - 376156 - cpr_cx_mx_apc_vol_update, Start<br />D - 91 - cpr_cx_mx_apc_vol_update, Delta<br />B - 391071 - sbl1_qhsusb_al_do_fast_enum, Start<br />D - 0 - sbl1_qhsusb_al_do_fast_enum, Delta<br />B - 394060 - clock_init, Start<br />D - 152 - clock_init, Delta<br />B - 399855 - boot_flash_init, Start<br />D - 28670 - boot_flash_init, Delta<br />B - 500230 - Image Load, Start<br />D - 78172 - QSEE Image Loaded, Delta - (490820 Bytes)<br />B - 580049 - sbl1_efs_handle_cookies, Start<br />D - 0 - sbl1_efs_handle_cookies, Delta<br />B - 585661 - Devcfg Partition does not exist<br />B - 589839 - Image Load, Start<br />D - 518 - SEC Image Loaded, Delta - (2048 Bytes)<br />B - 597800 - Image Load, Start<br />D - 31994 - RPM Image Loaded, Delta - (152400 Bytes)<br />B - 629825 - Image Load, Start<br />D - 58804 - APPSBL Image Loaded, Delta - (367664 Bytes)<br />B - 688690 - QSEE Execution, Start<br />D - 152 - QSEE Execution, Delta<br />B - 694393 - SBL1, End<br />D - 599203 - SBL1, Delta<br />S - Throughput, 3000 KB/s (1013352 Bytes, 321860 us)<br />S - DDR Frequency, 240 MHz<br />Android Bootloader - UART_DM Initialized!!!<br />[0] welcome to lk<br />-----------------------------------------------------------------------<br />DMESG PART :</p>
<p>[ 0.000000] Booting Linux on physical CPU 0x0<br />[ 0.000000] Initializing cgroup subsys cpu<br />[ 0.000000] Initializing cgroup subsys cpuacct<br />[ 0.000000] Linux version 3.18.20 (wangshihong@ubuntu-238) (gcc version 4.9.2 (GCC) ) <a class="issue tracker-2 status-5 priority-5 priority-highest closed" title="Feature: port Dieter's windows code to mISDN (Closed)" href="https://osmocom.org/issues/1">#1</a> PREEMPT Mon Oct 22 19:35:14 CST 2018<br />[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d<br />[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache<br />[ 0.000000] Machine model: Qualcomm Technologies, Inc. MDM <br />------------------------------------------------------------------------------------------------<br />Technical Specifications</p>
<p>LTE Support Bands FDD Band 1/3/5/7/8/28<br />WCDMA 850Mhz and 2100MHz<br />CPU frequency 533MHz<br />Flash + Memory 4Gb + 2 Gb DDR2<br />WIFI<br />2T2R 2.4GHz<br />802.11b/g/n, 300Mbps<br />Interface<br />1 x Power DC Port :<br />DC12V/1A<br />1 x RJ11<br />1x RJ45<br />10Mbps/100Mbps/1000<br />Mbps WAN/LAN Port<br />1x Power Button<br />1x Reset Button<br />1x WPS Button<br />1x 2FF Standard SIM card slot<br />1x USB port</p> OsmoCBC - Feature #3977 (New): SABP stream delineation routineshttps://osmocom.org/issues/39772019-05-06T13:52:08Zlaforge
<p>SABP is not only specified as ASN.1 with APER encoding, but 3GPP in their infinite wisdom specified that it will run directly inside a TCP stream.</p>
<p>As TCP, like any stream, doesn't preserve message boudaries, there's no length field or other framing that would tell us once a given SABP PDU is fully received. Instead, we have to implement something like an "incremental APER length determinant parser" which will parse the outer length of the APER encoded data, and then use the result of that to determine the length of one binary/encoded SABP PDU.</p>
<p>See <code>dissect_per_length_determinant()</code> from wireshark <code>packet-per.c</code> which is actually used by the wireshark SABP dissector, facing the same problem.</p> gr-osmosdr - Support #3819 (New): OSMO SDR blocks for GNUradiohttps://osmocom.org/issues/38192019-02-28T18:00:07Zchesir
<p>I installed GNUradio, and its GUI, gnuradio-companion, using pybombs. The use of pybombs for installation requires that one set up a prefix point, or directory, so that all installation files are under that directory. When I use the method outlined in <a class="external" href="https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR">https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR</a>, many files, including the RTL SDR Source block file, are installed, but I do not know which files, aside from (obviously) the block file, should be copied from the default installation locations to a directory under my prefix point for the blocks to actually work. Having copied only the RTL SDR Source block file, and attempting to execute the GRC flowgraph (which contains that one block), I am greeted with the error "Import Error: No module named osmosdr" What do I do?</p> Cellular Network Infrastructure - Feature #2623 (New): SCCP/M3UA: detect restart of osmo-msc and ...https://osmocom.org/issues/26232017-11-07T23:25:36Zneelsnhofmeyr@sysmocom.de
<p>Connecting osmo-bsc and osmo-hnbgw to the MSC and SGSN via an OsmoSTP instance, it is currently not possible to detect that the MSC or SGSN has restarted.</p>
<p>Scenario: using a sysmoBTS as a NITB, change MSC config, restart MSC -- now osmo-bsc happily continues to run and does not even notice that it is an entirely new MSC instance running in the core net now.</p>
<p>In the old days, the SCCPlite link would go down, but since now OsmoSTP is in-between and has no concept of who depends on who, no-one is notifying BSC or HNBGW that MSC or SGSN have gone down. Find out how this is intended to be solved if at all, and devise a way how osmo-bsc will restart and/or reconnect to a new MSC instance, and so forth.</p> OP25 - Feature #2175 (New): Update code for GNURadio 3.6 and laterhttps://osmocom.org/issues/21752017-04-22T16:04:15Z
<p>GNURadio 3.6 introduces a lot of improved functionality. We are already suffering because not all of this code is backwards compatible nor is it particularly easy to get things working.</p>
1. Using cmake to build the C++ blocks.
<ul>
<li>Integrate all C++ blocks (repeater, decoder, etc.) into single build.</li>
<li>Rename blocks so they comply with new namespace rules.</li>
<li>Add support for message passing and metadata.</li>
<li>Ensure that grc is supported for all blocks.<br />1. Remove IT++ or, at the very minimum, fix the problems with the changes to BCH decoding.</li>
<li>IT++ has changed how it decodes BCH and this breaks packet decoding.<br />1. Refactoring code so we can pass messages and structured data between blocks.<br />1. Update top-level python code to use argparse, update GUI etc..<br />1. Flesh out some top-level C++ code as alternative to Python scripts.</li>
</ul> OP25 - Feature #2173 (New): Remove dependency on ET++https://osmocom.org/issues/21732017-04-22T16:04:15Z
<p>The ET++ library represents an unnecessary dependency. It is used solely for BCH decoding and we already have code to do this. Change the BCH decoding so that ET++ can be removed.</p> OP25 - Feature #2171 (New): Use libfftw3 for IFFT/FFT functions.https://osmocom.org/issues/21712017-04-22T16:04:15Z
<p>The software_imbe_decoder is using home-rolled FFT/IFFT functions which are much better left to a proper DFT library. Replace these functions with those of libfftw3 - the library can use SIMD instructions to compute the DFT much more efficiently than this code and it simplifies the decoder.</p> OP25 - Feature #2167 (New): Implement Encryption/Decryption P25 blockshttps://osmocom.org/issues/21672017-04-22T16:04:15Zmatt
<p>There is example C code in the TIA P25 specs so this one should be relatively easy!</p> OP25 - Feature #2166 (New): Add support for Max's I/Q 455khz downconverterhttps://osmocom.org/issues/21662017-04-22T16:04:15Zmatt
<p>Add support for Max's I/Q 455khz downconverter</p> OP25 - Feature #2160 (New): Add "datascope" to usrp_p25_rx.pyhttps://osmocom.org/issues/21602017-04-22T16:04:15Z
<p>Incorporate Max's datascope from the ALSA receiver into the USRP version. Should allow the user to see eye diagrams for the input signal.</p> OP25 - Feature #2158 (New): Create a shared library for decoding for WireShark and the decoder.https://osmocom.org/issues/21582017-04-22T16:04:15Z
<p>data_unit subclasses implement decoding that is duplicated in <a class="wiki-page new" href="https://osmocom.org/projects/op25/wiki/WireShark">WireShark</a>. Break out a common library so that decoding is done just once using appropriate representations.</p> OP25 - Feature #2157 (New): Fix "traffic" tab so it displays data for non-HDU data unitshttps://osmocom.org/issues/21572017-04-22T16:04:15Z
<p>The traffic tab is only updated by HDUs at present. Add code to other data units to send other important header fields to the traffic tab. Implement traffic ageing so fields populated by older data units are visually distinguished from "fresh" data.</p> OP25 - Feature #2156 (New): Implement forward error correction for HDU.https://osmocom.org/issues/21562017-04-22T16:04:15Z
<p>Implement forward error correction for HDU.</p> OP25 - Feature #2155 (New): Replace FSK4 demodulation with IQ demodulator stage.https://osmocom.org/issues/21552017-04-22T16:04:15Z
<p>Use GNURadio's DQPSK block to demodulate input signal.</p> OsmoPCU - Feature #1560 (New): EDGE benchmarking / performance optimization / tuninghttps://osmocom.org/issues/15602016-02-23T15:16:47ZlaforgeUmTRX - Feature #1510 (New): Complete UHD integrationhttps://osmocom.org/issues/15102016-02-19T22:52:48Z
<p>Complete UHD integration.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1508 (New): Implement UmSEL diversity switch controlhttps://osmocom.org/issues/15082016-02-19T22:52:48Z
<p>Implement <a class="wiki-page new" href="https://osmocom.org/projects/umtrx/wiki/UmSEL">UmSEL</a> diversity switch control.</p>
<p>[Migrated from old Google Code tracker]</p> UmTRX - Feature #1507 (New): Implement UmSEL tuner controlhttps://osmocom.org/issues/15072016-02-19T22:52:48Z
<p>Implement <a class="wiki-page new" href="https://osmocom.org/projects/umtrx/wiki/UmSEL">UmSEL</a> tuner control.</p>
<p>[Migrated from old Google Code tracker]</p>