Hi,
has anyone succesfully gotten airprobe to work with bladeRF? I've been able to compile all the stuff but the acquisition scripts all assume a USRP or other SDR, but not a bladeRF. I've no idea how easy or difficult it would be to modify the scripts but if anyone has tried, I'd like to know how and what...
thanks!
Airprobe and bladeRF
-
- Posts: 16
- Joined: Sat Mar 02, 2013 1:33 am
- Location: Perth, Western Australia
Re: Airprobe and bladeRF
Hi djrevmoon,
No I haven't, but I just tried myself, ran into issues during the compiling, what were the steps you did to get it compile correctly? mine keeps complaining about it not finding the gnuradio-core, and even after specifying the variables it suggests pointing towards /opt/gnuradio-3.7.1git like we all installed it too as described in the libusb setup guide.
I'm a total noob with all things RF and such but i'm dead keen on finally actually getting something working and happening with my bladeRF.
No I haven't, but I just tried myself, ran into issues during the compiling, what were the steps you did to get it compile correctly? mine keeps complaining about it not finding the gnuradio-core, and even after specifying the variables it suggests pointing towards /opt/gnuradio-3.7.1git like we all installed it too as described in the libusb setup guide.
Code: Select all
$ git clone git://svn.berlin.ccc.de/airprobe
$ cd airprobe/gsm-reciever
$ ./configure
....
checking for GNURADIO_CORE... configure: error: Package requirements (gnuradio-core >= 3) were not met:
No package 'gnuradio-core' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables GNURADIO_CORE_CFLAGS
and GNURADIO_CORE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Airprobe and bladeRF
you should run ./bootstrap before ./configure. This should set the correct paths and variables....
-
- Posts: 2
- Joined: Fri Mar 01, 2013 3:05 am
Re: Airprobe and bladeRF
I have the same issue as schrambo.
It is not related to calling bootstrap, but seems that gnuradio changed its library structure recently.
Here is what I did.
Let's begin by checking for the core package:
According to this post http://lists.gnu.org/archive/html/discu ... 00451.html, we should link against libgnuradio-runtime
instead of libgnuradio-core (core was eliminated). Easier said then done.
Let's continue by confirming that we have gnuradio-runtime installed.
Fortunately there is this project (many thanks to Josh Blum for sharing) https://github.com/guruofquality/grcompat.git, which provides backwards compatibility.
It your airprobe ./configure gives the same error as before (like mine does), the following command should return an empty line.
So, the compat package is installed, but it doesn't provide the version info. Ugly fix to ignore gnuradio lib version:
Note: grcompat seems to be missing some header files like: gr_feval.h, gr_math.h, etc.
You may have to manually add them to /usr/local/include/grcompat.
I don't know why they are missing, or if adding them manually will break at runtime (did not test yet).
It is not related to calling bootstrap, but seems that gnuradio changed its library structure recently.
Here is what I did.
Let's begin by checking for the core package:
Code: Select all
pkg-config --modversion gnuradio-core
-> should give an error
instead of libgnuradio-core (core was eliminated). Easier said then done.
Let's continue by confirming that we have gnuradio-runtime installed.
Code: Select all
pkg-config --modversion gnuradio-runtime
3.7.1
Code: Select all
git clone https://github.com/guruofquality/grcompat.git grcompat
cd grcompat
cmake ./
make
make install
Code: Select all
pkg-config --modversion gnuradio-core
Code: Select all
cd airprobe/gsm-reciever
cat configure | sed 's/gnuradio-core >= 3/gnuradio-core/' > configure_mod
sed -i 's/gruel >= 3/gruel/' configure_mod
sudo chmod +x configure_mod
./configure_mod
make
make install
You may have to manually add them to /usr/local/include/grcompat.
I don't know why they are missing, or if adding them manually will break at runtime (did not test yet).
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Airprobe and bladeRF
So your build now completes? Strange, I did not have those same errors in ./configure. But during compile and build, I ran into many other issues, such as the build having incorrect include paths that lead to math.h being included from /usr/local/include/gnuradio in stead of /usr/include. And a missing #include <stddefs.h>. But manually editting did the trick.
-
- Posts: 16
- Joined: Sat Mar 02, 2013 1:33 am
- Location: Perth, Western Australia
Re: Airprobe and bladeRF
Evening everyone.
I followed the somewhat guide Emil A posted. (thanks buddy) Unfortunately it has not resolved the issue. In fact as you had stated. definitely seems like the gnu-radio library structure has indeed changed.
Same error as before, but now its stalling on LIBOSMOCORE which i'll have a poke / play around with why this is so now ![Smile :)](./images/smilies/icon_e_smile.gif)
I followed the somewhat guide Emil A posted. (thanks buddy) Unfortunately it has not resolved the issue. In fact as you had stated. definitely seems like the gnu-radio library structure has indeed changed.
Code: Select all
schrambo@daredevil ~/nuand/sandbox/airprobe/gsm-receiver $ cat configure | sed 's/gnuradio-core >= 3/gnuradio-core/' > configure_mod
schrambo@daredevil ~/nuand/sandbox/airprobe/gsm-receiver $ sed -i 's/gruel >= 3/gruel/' configure_mod
schrambo@daredevil ~/nuand/sandbox/airprobe/gsm-receiver $ sudo chmod +x configure_mod
schrambo@daredevil ~/nuand/sandbox/airprobe/gsm-receiver $ ./configure_mod
... </snip> ...
checking for GNURADIO_CORE... yes
checking for LIBOSMOCORE... configure_mod: error: Package requirements (libosmocore >= 0.3.1) were not met:
No package 'libosmocore' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBOSMOCORE_CFLAGS
and LIBOSMOCORE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
![Smile :)](./images/smilies/icon_e_smile.gif)
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Airprobe and bladeRF
Yes, I needed to install libosmocore also... but that was a straightforward build with one dependency that I also had to install if I recall...
-
- Posts: 1
- Joined: Thu Nov 21, 2013 9:44 am
Re: Airprobe and bladeRF
Hello everyone,
I also had the same problem as schrambo and followed the instructions of Emil A which seems to have solved problem with the changed structure of Gnuradio 3.7 (thanks). However I run into this error notification during make
and the make process stops. I think the important part is make[5]: LIBTOOL@: Command not found make[5]: *** [BitVector.lo] Error 127 but I don't know what it tells me to do. I have reinstalled libtools but the error notifications is still there when running the make process. Is anyone elso also facing this issue?
I also had the same problem as schrambo and followed the instructions of Emil A which seems to have solved problem with the changed structure of Gnuradio 3.7 (thanks). However I run into this error notification during make
Code: Select all
make[1]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver'
Making all in config
make[2]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/config'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/config'
Making all in src
make[2]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src'
Making all in lib
make[3]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib'
Making all in decoder
make[4]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib/decoder'
Making all in openbtsstuff
make[5]: Entering directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib/decoder/openbtsstuff'
make[5]: LIBTOOL@: Command not found
make[5]: *** [BitVector.lo] Error 127
make[5]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib/decoder/openbtsstuff'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib/decoder'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/phidora/GNUradio/airprobe/airprobe/gsm-receiver'
make: *** [all] Error 2
-
- Posts: 1
- Joined: Sat May 10, 2014 6:17 am
Re: Airprobe and bladeRF
I was able to get airprobe to compile with gnuradio 3.7 by using the patch found here: https://github.com/scateu/airprobe-3.7-hackrf-patch
It even launches, if I use the 3.7 script in that same directory meant for the hackrf, if I give it the bladerf as a source on the command line:
./gsm_receive_hackrf_3.7.py -a hackrf=0
But it does not seem to demodulate the channel properly, still.
kalibrate-bladeRF finds the channel just fine. And I have another computer with gnuradio 3.6 and a working airprobe, but using my RTL-SDR dongle, not my shiny new bladerf.
I'd love to get it to demodulate with the bladerf, if anyone has any suggestions... It seems like, although the patch enables airprobe to compile with 3.7, there is still some subtle bug hidden in there that keeps it from demodulating the signal. I tried it against a cfile that I downloaded, too -- it worked fine on 3.6, but not on 3.7.
It even launches, if I use the 3.7 script in that same directory meant for the hackrf, if I give it the bladerf as a source on the command line:
./gsm_receive_hackrf_3.7.py -a hackrf=0
But it does not seem to demodulate the channel properly, still.
kalibrate-bladeRF finds the channel just fine. And I have another computer with gnuradio 3.6 and a working airprobe, but using my RTL-SDR dongle, not my shiny new bladerf.
I'd love to get it to demodulate with the bladerf, if anyone has any suggestions... It seems like, although the patch enables airprobe to compile with 3.7, there is still some subtle bug hidden in there that keeps it from demodulating the signal. I tried it against a cfile that I downloaded, too -- it worked fine on 3.6, but not on 3.7.
-
- Posts: 30
- Joined: Fri Mar 01, 2013 4:37 am
Re: Airprobe and bladeRF
Hi all,
a guy called zmiana made a patch for gsm-receiver to adjust for the gnuradio 3.6 vs 3.7 changes. You can find it here:
http://speedy.sh/NBRYB/zmiana3.patch
applying the patch results in a clean build, and a clean decode of the example capture file. Wireshark sees that decode.
But, unfortunately, when I try to capture my own stuff, I get:
So it seems it does see the bladeRF, but my python chops are non-existent so I have no clue what's going on with that runtime error.
I do not get a windows where I can tune to a GSM channel.... but it's progress![Wink ;-)](./images/smilies/icon_e_wink.gif)
a guy called zmiana made a patch for gsm-receiver to adjust for the gnuradio 3.6 vs 3.7 changes. You can find it here:
http://speedy.sh/NBRYB/zmiana3.patch
applying the patch results in a clean build, and a clean decode of the example capture file. Wireshark sees that decode.
But, unfortunately, when I try to capture my own stuff, I get:
Code: Select all
root@destroyer2:/airprobe/gsm-receiver/src/python# ./gsm_receive_rtl.py -s 1e06
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.005.005-0-unknown
gr-osmosdr 0.1.1 (0.1.1) gnuradio 3.7.2.1
built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace
[bladeRF source] Using nuand LLC bladeRF #0 SN 0bb3137c20ae145a367357ddd61cb4ae FW v1.6.1 FPGA v0.0.3
sample rate: 1000000
Using Volk machine: avx_64_mmx
Key: 'ad6a3ec2b442e400'
Configuration: '0B'
Configuration TS: 0
configure_receiver
gr::buffer::allocate_buffer: warning: tried to allocate
115 items of size 568. Due to alignment requirements
512 were allocated. If this isn't OK, consider padding
your structure to a power-of-two bytes.
On this platform, our allocation granularity is 4096 bytes.
Traceback (most recent call last):
File "./gsm_receive_rtl.py", line 231, in <module>
tb.Run(True)
File "/usr/local/lib/python2.7/dist-packages/grc_gnuradio/wxgui/top_block_gui.py", line 82, in Run
self.Start(start, max_nouts)
File "/usr/local/lib/python2.7/dist-packages/grc_gnuradio/wxgui/top_block_gui.py", line 73, in Start
self.start()
File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 104, in start
top_block_start_unlocked(self._tb, max_noutput_items)
File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 4711, in top_block_start_unlocked
return _runtime_swig.top_block_start_unlocked(*args, **kwargs)
RuntimeError: list contains invalid format!
I do not get a windows where I can tune to a GSM channel.... but it's progress
![Wink ;-)](./images/smilies/icon_e_wink.gif)
-
- Posts: 5
- Joined: Tue Sep 02, 2014 7:51 am
Re: Airprobe and bladeRF
Hello djrevmoon,
I see in your code that you are executing "./gsm_receive_rtl.py", I installed airprobe and is working with GNURadio 3.7 and BladeRF, but I call the python script provided in the airprobe-3.7-hackrf-patch:
"gsm_receive_hackrf_3.7.py"
Hackrf and BladeRF are handled by gr-osmosdr, so this script works for both boards.
Let me know if this helps you.
KR,
Pedro
I see in your code that you are executing "./gsm_receive_rtl.py", I installed airprobe and is working with GNURadio 3.7 and BladeRF, but I call the python script provided in the airprobe-3.7-hackrf-patch:
"gsm_receive_hackrf_3.7.py"
Hackrf and BladeRF are handled by gr-osmosdr, so this script works for both boards.
Let me know if this helps you.
KR,
Pedro