Commit Graph

1165 Commits

Author SHA1 Message Date
Piotr Krysik d30d0c23e3 New gr-gsm version
Change-Id: I72eafebe892692ad0db5ad149e14f2c59b41d3d2
2018-08-10 21:13:59 +02:00
Vadim Yanitskiy 2adbee48bf apps/grgsm_trx: print bind / remote address and port
Change-Id: If750d476f3972f1ab5c5b637438d14d40b1e3d87
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 473b35be86 apps/grgsm_trx: introduce bind address option
The new option (-b --bind-addr) allows one to specify the bind
address for both DATA and CTRL interfaces. By default, '0.0.0.0'
is used, so there are no restrictions for the L1 source address.

Change-Id: I3339f686b53db07cfd1bff9a516f4bdc28058cd9
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 5394c6012d gsm_trx_burst_if: allow to customize the bind address
Pleviously remote address for DATA interface was also used as the
bind address, what is definitely wrong. Let's change the API a bit
in order to allow one to specify a custom bind address.

Change-Id: I6e5f7b7119ac454217b8dd04f9ee0dd3b23972b6
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 0e246372bc trx/ctrl_if.py: send control responses to where commands are from
When we receive a control command, we should not simply send the
response to the default destination, but send it back to the exact
IP/prt from which the command originated.

This ensures correct routing of responses even in case multiple
programs are interfacing concurrently with a control socket.

Cherry-picked from: I24a0bba6eed059b101af95dac7d059f34dd715fc
Change-Id: I1f304ea887dc957d3ad53adb1e3c56ab27d8f196
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy b085a2c854 trx/udp_link.py: set SO_REUSEADDR socket option
Setting this option allows one to reuse existing connections,
for example, by injecting CTRL commands or DATA bursts
into existing connections.

Cherry-picked from: I0882c76affa9a668a12d10967081054d2b666ed1
Change-Id: I6d256683a7aa0419cd5bd0a3eaa97aefdf3254f9
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy bf6f6ec0de trx/udp_link.py: close socket in destructor
Previously it was required to call the UDPLink.shutdown() method
manually in order to close a socket. Let's do it automatically
using the destructor of UDPLink.

Cherry-picked from: I59c3dc61ec58cd9effeb789947d28fd602ca91f4
Change-Id: Ief7aa21d1e50682a90616833b679741957193aae
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 8e1fa8bdd7 apps/grgsm_trx: use format string for help message
Instead of using the hard-coded default values in help message,
it makes sense to use a format string, and pass the actual
values when printing help.

Change-Id: Ib1bf0ef3ded86aa92faeb9b63eb286283f5c8c3d
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 4fdb08fd20 trx/radio_if.py: drop useless import of osmosdr
Change-Id: Iacd5ca118957e3ecf05df81f511b17bb9a8982b5
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 0017a35aab trx/radio_if.py: reset UHD device time at startup
Some UHD devices, such as UmTRX, require one to manually reset the
hardware clock, otherwise the burst transmission doesn't work.

Change-Id: Idddc1387199bd22342ec5af25c8635e73352e315
2018-08-10 16:38:53 +07:00
Vadim Yanitskiy cae78211a6 grgsm_trx: change default TRX port number to 6700
In order to avoid clashes with OsmoTRX, which may be also
running on the same host, let's use a different port range
starting from 6700 by default.

This idea was introduced as a result of OS#2984.

Change-Id: Iaf0c78733bfefcb0b0938abf6d316e27d03ecab4
2018-08-10 15:11:23 +07:00
Vadim Yanitskiy 3674f48df5 apps/grgsm_trx: also print Piotr as a copyright holder
Despite the most part of Python code was written by Vadim, it's
heavily based on huge and impressive work done by Piotr. Let's
also print his credentials in the license header.

Change-Id: Icca7c679d84f99440ff502219f624e0f73112744
2018-08-10 15:11:23 +07:00
Piotr Krysik 332e2be78f tests: Fix Debian and Kali dockerfiles
Change-Id: I61d37cb6882a8ca7bbfc97412c52e745a2e5ec7c
2018-07-28 13:25:00 +02:00
Piotr Krysik e4010dbef0 Keep the old mailing list for now
but change wiki address and installation description
addres to the new (osmocom) ones.
2018-07-12 10:46:39 +02:00
Harald Welte 99997ff535 README.md: Turn URLs into hyperlinks (video, mailing list)
Change-Id: Iacf7c4b13b0e32ea7761b859f7422ab630c8616f
2018-07-12 10:24:20 +02:00
Harald Welte 8bb1b79a33 README.md: Change mailing list address to osmocom.org
Change-Id: Ie7b474138444f0ceea160f74df4b693030ea07a8
2018-07-12 10:24:20 +02:00
Piotr Krysik ac140210c9 Simplify cmake checks related to libosmocore 2018-06-19 12:07:28 +02:00
Vasil Velichkov e153e729cd Run tests with CTEST_OUTPUT_ON_FAILURE=1 2018-06-19 09:00:12 +02:00
Vasil Velichkov f1b6c6bc2a Add LOCAL_OSMOCOM cmake option
When set the gr-gsm will be compiled and linked with the local copies of
the osmocom libraries.
2018-06-19 09:00:03 +02:00
Piotr Krysik f00936d60d Placing grcc compilation utils in separate files
Avoiding increasing required cmake version with use of wrapper shell script.
2018-06-18 15:13:25 +02:00
Piotr Krysik c711e97af1 Separating libosmogsm from the rest 2018-06-18 15:13:13 +02:00
Vasil Velichkov 9b5519db84 Check that pkg-config is available
It is needed to properly detect the grcc full path
See also 3f6ab15a7a
2018-06-18 15:11:17 +02:00
Vasil Velichkov 8c4eefb205 Add DEBIAN_FRONTEND=noninteractive 2018-06-18 15:11:17 +02:00
Vasil Velichkov 487bf4764e Fix the parallel build with cmake 3.11
Copy UseSWIG.cmake from the gnuradio repository from commit
4433a7703fe3f5713c2200a0f7c11b13510f34cc

This macro is distributed in the Debian's gnuradio-dev package but it's
not available in Fedora/Centos gnuradio-devel package. The gnuradio's
version contains a fix for the parallel build 99a09af05fda6d0bab0cf3724a1c6bf453c71bc7
and some other improvements as well.
2018-06-18 15:11:17 +02:00
Vasil Velichkov 8f4b5ba372 Add CentOS7 docker container 2018-06-18 15:11:17 +02:00
Vasil Velichkov 014ed2be5c Add cmake options that enable/disable grcc compilation
To disable compilation of both grgsm_livemon and grgsm_livemon_headless
execute

  cmake -DENABLE_GRCC=OFF ..

To disable only one execute

  cmake -DENABLE_GRGSM_LIVEMON=OFF ..
  cmake -DENABLE_GRGSM_LIVEMON_HEADLESS=OFF ..
2018-06-18 15:11:17 +02:00
Piotr Krysik 47c3e9bf43 Changing tabs to spaces 2018-06-04 09:11:59 +02:00
Piotr Krysik 1e7241464a Disabling installation of desktop files
Installation of dekstop files is causing problems with packaging - github issue #335.
Disabling it then.
2018-06-04 09:11:47 +02:00
Piotr Krysik ea44d98558 Commenting out a line causeing crash on HackRF 2018-06-02 12:27:58 +02:00
Piotr Krysik 2779e62094 Fix includes after moving trx_burst_if 2018-05-06 22:23:06 +02:00
Piotr Krysik 69434963d9 Added short description of grgsm_trx 2018-05-05 13:06:22 +02:00
Piotr Krysik ea7a66cb86 Updated e-mail addresses of Vadim and Vasil 2018-05-05 13:06:02 +02:00
Piotr Krysik 650a436a8d Fix burst_to_fn_time name in gsm_burst_to_fn_time.xml 2018-05-05 12:40:14 +02:00
Piotr Krysik 993055342d Moving trx burst interface to trx directory
and to new 'Transceiver' cathegory in gnuradio-companion
2018-05-05 12:38:11 +02:00
Piotr Krysik 3c1452f94f Fix gsm_msg_to_tag block record in grc/gsm_block_tree.xml
so it appear in gnuradio-companion
2018-05-05 12:24:33 +02:00
Piotr Krysik 2471052cfe Merge branch 'fixeria/trx' of https://github.com/axilirator/gr-gsm into fixeria_trx
# Resolved conflicts:
#	apps/grgsm_trx
#	python/trx/radio_if.py
#	swig/grgsm_swig.i
2018-04-17 09:10:33 +02:00
Piotr Krysik 2ece45f516 Adding Vadim and Vasil to the credits section 2018-04-17 08:48:40 +02:00
Piotr Krysik d77414b827 GRCC: Adding new directories to python path to make grc files compile after merger 2018-04-17 08:22:11 +02:00
Piotr Krysik 8a8d41a583 Merge branch 'ptrkrysik/trx' into development 2018-04-16 22:21:29 +02:00
Vasil Velichkov 8b9b88d788 Disable the parallel build on Fedora 26
There is a problem with cmake 3.11.0 and the parallel build fails with
See https://github.com/ptrkrysik/gr-gsm/pull/378#issuecomment-379583050

make[2]: *** No rule to make target 'swig/grgsm_swig.py', needed by 'swig/grgsm_swig.pyc'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:601: swig/CMakeFiles/pygen_swig_43235.dir/all] Error 2
2018-04-16 21:08:50 +02:00
Vasil Velichkov 084b14ea17 Workaround for the grcc failure
See https://github.com/ptrkrysik/gr-gsm/pull/378#issuecomment-379587145

Traceback (most recent call last):
  File "/usr/bin/grcc", line 29, in <module>
    from gnuradio import gr
  File "/usr/lib/python2.7/dist-packages/gnuradio/gr/__init__.py", line 41, in <module>
    from runtime_swig import *
  File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 17, in <module>
    _runtime_swig = swig_import_helper()
  File "/usr/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 16, in swig_import_helper
    return importlib.import_module('_runtime_swig')
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named _runtime_swig
2018-04-16 21:08:50 +02:00
Piotr Krysik e24860f9c0 Reformatting control_channels_decoder 2018-04-06 15:22:51 +02:00
Vasil Velichkov bb7d94a712 Add tch_f_decoder tests 2018-04-06 15:18:26 +02:00
Vasil Velichkov 924d1873da Fix an assert in ViterbiR2O4::decode
The table length was wrong becuase matchCostTable is a float pointer and
not an array since 792330777d

python2.7: /home/user/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288: virtual void ViterbiR2O4::decode(const SoftVector&, BitVector&): Assertion `match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1' failed.

 (gdb) f 4
 #4  0x00007fffdff820c3 in ViterbiR2O4::decode (this=0x5555563bbdf0, in=..., target=...)
     at /home/vasko/sources/gr-gsm/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288
 288				assert(match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1);
 (gdb) p match-matchCostTable
 $1 = 2
 (gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1
 $2 = 1
 (gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])
 $3 = 2
 (gdb) p sizeof(matchCostTable)
 $4 = 8
2018-04-06 15:18:26 +02:00
Vasil Velichkov a396100294 Do not test with debtest-grgsm-package container 2018-03-30 22:34:52 +02:00
Vasil Velichkov bc2a23e0e7 Check the gsm0503_xcch_decode return value
- Discard the message when gsm0503_xcch_decode returns -1
- Add automated decrypt test

See https://groups.google.com/d/msg/gr-gsm/9nOkIdrGOck/qTZh47McCQAJ
2018-03-30 22:34:52 +02:00
Piotr Krysik 7476868d8e Added more copyright holders
Added my contributors as copyright holders.
2018-03-22 16:12:03 +01:00
Marc L cbac58cd15 added MANIFEST.md for CGRAN parsing sake
We are currently working on revitalizing CGRAN, the current version is here https://gnuradio.org/cgran/  and just like the old CGRAN it parses OOT's manifest files to get its information.  Feel free to modify stuff, I just copied whatever info I could find.
2018-03-22 16:12:03 +01:00
Piotr Krysik c62f21e44c Fixing Ubuntu 16.04 no libosmocore test 2018-03-22 08:46:25 +01:00
Vasil Velichkov 753afeb5c8 Fix Fedora 26 test failure
On Fedora 26 when gr-gsm is installed in /usr/local/lib in order to work
some paths have to be added to PYTHONPATH and LD_LIBRARY_PATH enviroment
variables

This fixes the following errors
    ImportError: No module named grgsm
    ImportError: No module named _grgsm_swig
    ImportError: libgrgsm-0.41.3.so.0.0.0: cannot open shared object file: No such file or directory
2018-03-22 06:07:24 +01:00