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
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
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
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
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
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
Some UHD devices, such as UmTRX, require one to manually reset the
hardware clock, otherwise the burst transmission doesn't work.
Change-Id: Idddc1387199bd22342ec5af25c8635e73352e315
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
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
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.
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 ..
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
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
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
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.
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