gr-gsm/apps
Vasil Velichkov f51a624ec0 Filter out SoapyAudio devices
When gr-osmosdr is compiled with SoapySDR support and SoapyAudio is
installed the audio device is picked as a first choice when detecting
devices but grgsm tools are not able to work with audio devices. So in
such cases the user has to always specify the correct SDR device in the
args parameter which is a bit inconvenient.

When args is not specified call osmosdr.device_find to get all devices
and filter out unspported ones like SoapyAudio devices. When args is
specifed just try to create osmosdr.source with whatever value has been
specified.

Add -l and --list-devices command line option that prints information
about all detected devices.

Example commands:
  grgsm_capture --list-devices
  grgsm_capture --list-devices --args=nofake
  grgsm_capture --args=uhd,type=b210 -a 111 capture.cfile
  grgsm_livemon --args=rtl
  grgsm_livemon --args=uhd,type=b210

Change-Id: Ib84081041ca6c2bc18b9da0c32bac9d3ecef65ca
2019-07-18 10:31:27 +02:00
..
apps_data Added *.desktop files installation a'la GNU Radio. 2017-08-31 21:58:48 +02:00
helpers Filter out SoapyAudio devices 2019-07-18 10:31:27 +02:00
CMakeLists.txt Placing grcc compilation utils in separate files 2018-09-13 15:35:44 +02:00
README Added short description of grgsm_trx 2018-05-05 13:06:22 +02:00
grgsm_decode Fix the TCH/H decoder and demapper XML definitions 2019-07-18 10:31:27 +02:00
grgsm_livemon.grc Filter out SoapyAudio devices 2019-07-18 10:31:27 +02:00
grgsm_livemon_headless.grc Filter out SoapyAudio devices 2019-07-18 10:31:27 +02:00
grgsm_scanner Filter out SoapyAudio devices 2019-07-18 10:31:27 +02:00
grgsm_trx apps/grgsm_trx: introduce initial LMS driver support 2019-07-18 10:31:27 +02:00

README

This directory contains programs based on gr-gsm:
* grgsm_decode     (old name: airprobe_decode.py) - program for decoding C0 channel 
                    which is most close in terms of functionality to the old gsm-receiver 
                    from Airprobe project, with ability to decode signalling channels and traffic channels with speech 
                    (analysis of the data can be performed in Wireshark, decoded sound is stored to an audio file),
* grgsm_livemon    (old name: airprobe_rtlsdr.py) - interactive monitor of a single C0 channel with analysis 
                    performed by Wireshark (command to run wireshark: sudo wireshark -k -f udp -Y gsmtap -i lo),
* grgsm_scanner    (old name: airprobe_rtlsdr_scanner.py) - an application that scans GSM bands and prints 
                    information about base transceiver stations transmitting in the area.

There are following helper programs for grgsm_decode program:

* grgsm_capture    (old name: airprobe_rtlsdr_capture.py) - program for capturing GSM signal to a file 
                    that can be later processed by grgsm_decode,
* grgsm_channelize (old name: gsm_channelize.py) - splits wideband capture file into multiple files - each contain 
                  single GSM channel.

* grgsm_livemon_headless - command line version of grgsm_livemon.  It
                  is created by changing grgsm_livemon.grc like this:

                   - Change Options block->Generate Options from 'QT
                     GUI' to 'No GUI'.
                   - Set Options block->Run Options to 'Run to
                     Completion'.
                   - Remove the blocks 'QT GUI Range' (gain_slider,
                     fc_slider, ppm_slider) and the 'QT GUI Frequency
                     Sink'.
                   - Change all occurances of <param>_slider to
                     <param> in the XML file.

                  After these changes are done, build the
                  grgsm_livemon_headless python code using the grcc
                  compiler.

* grgsm_trx - a transceiver that together with Osmocom-BB (throught trxcon application)
              forms a GSM mobile station. Currently it works on non-hopping channels only.