GNU Radio blocks for receiving/transmitting GSM
Go to file
Piotr Krysik 7185b6664f Added ability to supply device arguments as parameter to applications.
Change adressing #140 enhancement request.
It is possible to select rtl-sdr dongle:
-with device index through commanline parameter: `--args="rtl=1"` (where 1 is the device index). Caution: device index is not unique identifier and it changes on each connection of the dongle.
-with devices serial number, the commandline option in this case has following form: `--args="rtl=00000001"` (where 00000001 is the serial number).

NOTE: You can set the serial number with use of:
rtl_eeprom -s <serial_number>
2016-02-14 20:24:54 +01:00
apps Added ability to supply device arguments as parameter to applications. 2016-02-14 20:24:54 +01:00
cmake Update gr-gsmConfig.cmake 2015-11-15 03:34:35 +03:00
docs Update of READMEs 2014-08-13 18:59:46 +02:00
examples@edcfbe2733 Updated link to examples 2015-09-18 10:23:09 +02:00
grc Implemented multiband channelizer as gr-gsm block. 2015-10-05 09:57:03 +02:00
hier_blocks Changes in clock offset corrector and gsm_input - the previous version wasn't working well when samp_rate_in was different from samp_rate_out. 2014-11-19 11:30:53 +01:00
include/grgsm Added parsing arfcn's from cell description in SIT1. 2015-09-27 10:49:23 +02:00
lib Removed old and now not needed hack from the receiver's synchronization algorithm 2016-02-11 08:40:44 +01:00
python Missing part of fix of the #135 bug 2016-01-09 22:27:28 +01:00
swig fix compilation and linking on Mac OS X 2015-08-16 13:50:20 +02:00
test_data@86df03f54d Updated submodules links 2015-09-14 20:35:35 +02:00
.gitignore Added .unittests directory to .gitignore 2015-07-21 10:59:07 +02:00
.gitmodules Added submodules for examples and test data 2015-08-31 17:05:40 +02:00
CMakeLists.txt Added libosmocore to build. Preparation for issue #85 2015-07-17 13:57:24 +02:00
COPYING Added separate file for short license notice (that is used for example by gr_modtool to add these notices) and longer Copying file with full license. 2014-12-15 09:03:49 +01:00
LICENSE Added separate file for short license notice (that is used for example by gr_modtool to add these notices) and longer Copying file with full license. 2014-12-15 09:03:49 +01:00 Corrected links to the wiki 2015-09-14 12:51:44 +02:00

The gr-gsm project

The gr-gsm project is based on the gsm-receiver written by Piotr Krysik (also the main author of gr-gsm) for the Airprobe project.

The aim is to provide set of tools for receiving information transmitted by GSM equipment/devices.

Installation and usage

Please see project's wiki for information on installation and usage of gr-gsm.

Mailing list

Current gr-gsm project's mailing list address is following:

Mailing list is a place for general discussions, questions about the usage and installation. In case of problem with installation please try to provide full information that will help reproducing it. Minimum information should contain:

  • operating system with version,
  • kind of installation (how gr-gsm and its dependencies were installed: with pybombs, from distibution's repository, compiled manually)
  • version of gnuradio (it can be obtained with: gnuradio-companion --version)
  • error messages (in case of pybombs installation they can be obtained after switching it to verbous mode with -v option).

To join the group with any e-mail addres (google account is not required) use this link:!forum/gr-gsm/join


New features are accepted through github's pull requests. When creating pull request try to make it adress one topic (addition of a feature x, corretion of bug y).

If you wish to develop something for gr-gsm but don't know exactly what, then look for issues with label "Enhancement". Select one that you feel you are able to complete. After that claim it by commenting in the comment section of the issue. If there is any additional information about gr-gsm needed by you to make completing the task easier - just ask.


Short presentation of Airprobe'like application of gr-gsm:


Piotr Krysik <ptrkrysik (at)> - main author and project maintainer

Roman Khassraf <rkhassraf (at)> - blocks for demultiplexing and decoding of voice channels, decryption block supporting all ciphers used in GSM, blocks for storing and reading GSM bursts, project planning and user support

Pieter Robyns <pieter.robyns (at)> - block reversing channel hopping

Steve <steve (at)> - functions for decoding control channels


This work is built upon the efforts made by many people to gather knowledge of GSM.

First very significant effort of public research into GSM and its security vulnerabilities was The Hacker's Choice GSM SCANNER PROJECT. One of the results of this project was creation of a software GSM receiver by Tvoid - gsm-tvoid - which was was the most important predecessor of gr-gsm and of gsm-receiver from the Airprobe project.

Gr-gsm wouldn't be also possible without help and inspiration by Harald Welte, Dieter Spaar and Sylvain Munaut.

Special thanks to Pawel Koszut who generously lent his USRP1 to the author of gr-gsm (Piotr Krysik) in 2007-2010.