aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@users.noreply.github.com>2015-09-14 12:45:39 +0200
committerPiotr Krysik <ptrkrysik@users.noreply.github.com>2015-09-14 12:45:39 +0200
commit1b89fdaa677e0bf247845a1a69a837a6976742a9 (patch)
tree9ec174dbe2e644455729084003a749520166361d /README.md
parent5238a3849adbf9a03f17d154d92db71fa212860c (diff)
Replaced usage and installation information with links to wiki
Diffstat (limited to 'README.md')
-rw-r--r--README.md142
1 files changed, 4 insertions, 138 deletions
diff --git a/README.md b/README.md
index 08873c9..9b58154 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,10 @@ The *gr-gsm* project is based on the *gsm-receiver* written by Piotr Krysik (als
The aim is to provide set of tools for receiving information transmitted by GSM equipment/devices.
+Installation and usage
+======================
+Please see project's wiki https://github.com/ptrkrysik/gr-gsm/wiki for information on [installation](Installation) and [usage](Usage) of gr-gsm.
+
Mailing list
============
Current gr-gsm project's mailing list address is following:
@@ -20,144 +24,6 @@ To join the group with any e-mail addres (google account is not required) use th
https://groups.google.com/forum/#!forum/gr-gsm/join
-Installation
-============
-The *gr-gsm* is based on *GNU Radio* signal processing framework and takes advantage of its great features like stream tagging and message passing.
-Presence of *GNU Radio* is therefore a basic requirement for compilation and installation of *gr-gsm*.
-
-The easiest way to install *gr-gsm* it to use *pybombs* installer (GNU Radio install management system). Installation with this tool was tested on Ubuntu 14.04 and 14.10 (on 14.10 installation will be much faster as compilation of *GNU Radio* is not necessary).
-For installation of pybombs you will need git. On Debian based distributions you can get it with:
-```sh
-sudo apt-get install git
-```
-Then download *pybombs* sources using git:
-```sh
-git clone https://github.com/pybombs/pybombs.git
-```
-
-Go into *pybombs* directory and configure it:
-```sh
-cd pybombs
-./pybombs config
-```
-
-As a install prefix enter */usr/local/*. The rest of the options can be left as defaul.
-
-On distributions that have *GNU Radio* version 3.7.3 and above in standard repository, *GNU Radio* can be installed from packages without compilation. To avoid this quite lenghty process use:
-```sh
-./pybombs config forcebuild ' '
-```
-
-To check *GNU Radio* version use:
-```sh
-apt-cache policy gnuradio-dev
-```
-
-**Then build and install *gr-gsm* with following command**:
-```
-sudo ./pybombs install gr-gsm
-```
-
-Pybombs will take care of downloading all of required libraries and for installation of *GNU Radio* and building *gr-gsm*.
-
-At the end create the `~/.gnuradio/config.conf` config file so gnuradio-companion can find custom blocks of gr-gsm:
-
-```ini
-[grc]
-local_blocks_path=/usr/local/share/gnuradio/grc/blocks
-```
-
-Usage
-=====
-There are many possible applications of *gr-gsm*. At this moment there is one application that is ready out of the box. It is improved replacement of the old *Airprobe* - the program that lets you receive and decode GSM control messages from *timeslot 0* on the broadcasting channel of a BTS. After installation of *gr-gsm* there are two python executables that will be installed:
-
--```airprobe_rtlsdr.py```,
-
--```airprobe_file.py```.
-
-Airprobe with RTL-SDR input
----------------
-This program uses cheap RTL-SDR receivers as a source of the signal. It can be started by running from a terminal:
-```
-airprobe_rtlsdr.py
-```
-The window of the program contains amplitude spectrum of the signal drawn in real-time. The central frequency of the signal can be changed by moving *fc* slider. The GSM signal has bandwidth of around *200kHz*. By looking for constant hills on the spectrum of such width you can find a GSM broadcasting channel. After setting the *fc* slider to a carrier frequency of a broadcasting channel the program should immediately print content of subsequent messages on the standard output.
-
-If it doesn't happen, set *ppm* slider into different positions. The slider is responsible for setting devices clock offset correction. If the clock offset is too large the clock offset correction algorithm that is implemented in the program won't work. There is intentionally added upper of allowable clock offset - it was done in order to avoid adaptation of the algorithm to neighbour channels that would inevitably lead to instability. You can use the value set later by passing it as argument of the program:
-```
-airprobe_rtlsdr.py -p <correction>
-```
-
-Airprobe with file input
--------------
-This program processes files containing complex data - interleaved float IQ samples.
-Example of the usage:
-```
-airprobe_file.py --samp-rate=1M --fc=940M -i input_file
-```
-where:
-```
---samp-rate - sampling frequency of the data stored in the file,
---fc - central frequency of the recorded data - it is needed for frequency offset correction,
--i - the file containing the complex data.
-```
-
-Analyzing GSM messages in the Wireshark
--------------------------------------------
-The *Airprobe* (file, rtlsdr) application sends GSM messages in *GSMTAP* format that was created by *Harald Welte* to the UDP port number 4729. Wireshark interprets packets coming on this port as GSM data with *GSMTAP* header and it is able to dissect messages.
-
-On Debian like systems *Wireshark can be installed with:
-```
-sudo apt-get install wireshark
-```
-To start *Wireshark* straight to analysis of the *GSMTAP* packets obtained from *gr-gsm*'s airprobe use following command:
-```
-sudo wireshark -k -f udp -Y gsmtap -i lo
-````
-
-If you want to avoid the risks caused by running *Wireshark* with root privileges follow this short howto:
-https://ask.wireshark.org/questions/7976/wireshark-setup-linux-for-nonroot-user
-
-Manual compilation and installation of gr-gsm
-=============================================
-
-If you intend to develop gr-gsm or have problem with pyboms installation - here is description how to manually compile and install gr-gsm from source.
-
-You will need gnuradio, rtl-sdr, gr-osmosdr and libosmocor.e For their installation look at homepages of those projects:
-
-http://gnuradio.org/redmine/projects/gnuradio/wiki
-
-http://sdr.osmocom.org/trac/wiki/rtl-sdr
-
-http://sdr.osmocom.org/trac/wiki/GrOsmoSDR
-
-http://bb.osmocom.org/trac/wiki/libosmocore
-
-Sometimes it is possible to install these programs/libraries from distibution's repository. Keep in mind that gr-gsm need GNU Radio 3.7.3 and above.
-
-To download gr-gsm sources run following command:
-
-```
-git clone https://github.com/ptrkrysik/gr-gsm.git
-```
-
-Make sure that you have all required packages (checked on Ubuntu 14.04 and 14.10):
-
-```
-sudo apt-get install cmake libboost-all-dev libcppunit-dev swig \
- doxygen liblog4cpp5-dev python-scipy
-```
-
-To compile and install gr-gsm run:
-
-```
-cd gr-gsm
-mkdir build
-cmake ..
-make
-sudo make install
-```
-
Development
===========
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).