Open Source Mobile Communications: Issueshttps://osmocom.org/https://osmocom.org/favicon.ico?16647414092022-09-18T10:18:56ZOpen Source Mobile Communications
Redmine 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> 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> 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> 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> 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> OsmoBSC - Support #2622 (Stalled): Prepare automatic interop testing of OmsoBSC against NG40 core...https://osmocom.org/issues/26222017-11-07T21:46:30Zlaforge
<p>Please create a setup where the signaling tests (LU, MO-SMS, MT-SMS, USSD) can be done with osmocombb-mobile + virt_phy + osmo-bts-virtual + osmo-bsc against NG40.</p>
<p>This is in preparation of automatizing this task as soon as we have a scripting interface towards OsmocomBB "mobile"</p>
<p>Building all components should be automatic / scripted. It might be an idea to do this via Dockerfiles. Execution of the tests + checking results is not automatic yet, as this is pending the OsmocomBB "mobile" script interface.</p>
The goal is basically to have a single command/script to
<ul>
<li>build/install osmo-bsc, osmo-bts-virtual, virt-phy + mobile</li>
<li>might make sense to have
<ul>
<li>one docker image for osmo-bsc</li>
<li>one docker image for osmo-bts-virtual + virt_phy</li>
</ul></li>
</ul>
and then have another scripted way to
<ul>
<li>start N instances of each of them (except "mobile"), where the number of BSCs is different from the number of BTSs and again different from the number of virt-phy instances</li>
</ul> 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 - 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 - 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 - 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> 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 #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 - 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 - 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 - 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 - Bug #1505 (New): OHM4 footprint incorrecthttps://osmocom.org/issues/15052016-02-19T22:52:48Z
<p>OHM4 footprint incorrect.</p>
<p>[Migrated from old Google Code tracker]</p> Mobile (in)Security - Bug #1483 (New): USSD state is not reset when switching cellshttps://osmocom.org/issues/14832016-02-19T22:51:58Z
<p>USSD support on a phone can be disabled by sending ussdNotify and not sending a releaseComplete. Other USSD commands will not be processed by the phone until the releaseComplete command is send.</p>
<p>The Phone Stack assumes that all USSD operations originate/termate from/at its HLR.</p> Mobile (in)Security - Bug #1481 (New): Random LAPDm MAC-block padding is not deployed yethttps://osmocom.org/issues/14812016-02-19T22:51:58Zlaforge
<p>Recent versions of TS 44.006 (Version >= 6.7.0 from October 2008) specify that the BTS shall use randomized padding (fill bits) in its Layer2 frames.</p>
<p>This will help to combat the known passive A5/1 cracking attacks that rely on a small portion of known plaintext.</p>
<p>By using randomized padding, the amount of known plaintext can be reduced.</p>
<p>However, as of 07/2010, no network has been found to use this randomized padding.</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> Mobile (in)Security - Bug #1477 (New): RACH flood DoShttps://osmocom.org/issues/14772016-02-19T22:51:57Zlaforge
<p>On the RACH (part of the CCCH/BCCH), the number of RACH slots per unit of time is fixed. The maximum possible number of RACH slots with a single-timeslot CCCH is 200.</p>
<p>Furthermore, the number of available dedicated (control and traffic) channels is limited in any given cell.</p>
<p>As per the GSM specification, any newly-assigned dedicated channel has to stay assigned for 2 seconds, waiting for the MS to establish the radio link layer. Only after 2 seconds, the channel can be closed and re-used for other purposes.</p>
<p>If anyone can send more RACH requests (in 2 seconds) than the cell has dedicated channels, permanent resource exhaustion of dedicated channels will happen (in other words, a DoS).</p>
<p>As the RACH request can be hand-crafted by the attacker and sent at a timing chosen by the attacker, there is no possibility for the BTS to differentiate real from malicious RACH bursts.</p>
<p>This attack has been implemented in 2009 by Dieter Spaar, and has been publicly demonstrated at the Deepsec 2009 conference in Vienna.</p>
<p>Slides are available from <a class="external" href="http://www.mirider.com/GSM-DoS-Attack_Dieter_Spaar.pdf">http://www.mirider.com/GSM-DoS-Attack_Dieter_Spaar.pdf</a></p> Mobile (in)Security - Bug #1478 (New): IMSI DETACH DoShttps://osmocom.org/issues/14782016-02-19T22:51:57Zadmin
<p>In GSM networks that use the IMSI ATTACH/DETACH procedure, the IMSI DETACH message is not authenticated.</p>
<p>A malicious attacker knowing the IMSI or TMSI of a victim can thus send hand-crafted IMSI DETACH messages to a cell, causing the network to assume the MS is no longer present in the network.</p>
<p>This will effectively prevent the delivery of all mobile-terminated (MT) services, such as SMS, voice calls, CSD, ...</p>
<p>This flaw was first discovered in May 2010 by Sylvain Munaut.</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>